08. अपने Ubuntu सर्वर को सुरक्षित करना: हार्डनिंग और सुरक्षा के व्यावहारिक चरण

अपने Ubuntu सर्वर को सुरक्षित करना आपके डेटा, एप्लिकेशन और बुनियादी ढाँचे को दुर्भावनापूर्ण हमलों से बचाने के लिए आवश्यक है। चाहे आप वेबसाइट, डेटाबेस या एप्लिकेशन होस्ट कर रहे हों, मज़बूत सुरक्षा विधियों को लागू करने से यह सुनिश्चित होता है कि आपका सर्वर कमज़ोरियों के प्रति लचीला बना रहे। इस लेख में, हम अपने Ubuntu सर्वर को सुरक्षित करने के व्यावहारिक चरणों पर चर्चा करेंगे, जिनमें फ़ायरवॉल कॉन्फ़िगर करना, SSH को सुरक्षित रूप से सेट अप करना, fail2ban जैसे उपकरणों का उपयोग करना और अन्य हार्डनिंग सुझाव शामिल हैं।


पिछला लेख:

01. Ubuntu Server का परिचय – SysOSX: AI & Cloud

02. अपना पहला Ubuntu सर्वर कैसे सेट अप करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud

03. Ubuntu Server के लिए Linux कमांड लाइन में महारत – SysOSX: AI & Cloud

04. Ubuntu Server पर उपयोगकर्ताओं और अनुमतियों का प्रबंधन: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

05. Ubuntu Server के लिए नेटवर्किंग की मूल बातें: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

06. Ubuntu Server पर सॉफ़्टवेयर स्थापित और प्रबंधित करना: पूर्ण मार्गदर्शिका – SysOSX: AI & Cloud

07.Ubuntu Server को पैच करना और अपडेट करना: व्यापक मार्गदर्शिका – SysOSX: AI & Cloud



सर्वर सुरक्षा क्यों महत्वपूर्ण है?

सर्वर में अक्सर संवेदनशील डेटा होता है और वे व्यावसायिक संचालन के लिए महत्वपूर्ण होते हैं। उचित सुरक्षा उपायों के बिना, हमलावर कमज़ोरियों का फायदा उठाकर अनधिकृत पहुँच प्राप्त कर सकते हैं, सेवाओं को बाधित कर सकते हैं या जानकारी चुरा सकते हैं। इन व्यावहारिक चरणों का पालन करके, आप हमलों के जोखिम को काफी कम कर सकते हैं और सुनिश्चित कर सकते हैं कि आपका सर्वर सुरक्षित बना रहे।


1. अपने सिस्टम को अद्यतित रखें

नियमित अपडेट सुरक्षा कमज़ोरियों को ठीक करने और आपके सर्वर को सुरक्षित रखने के लिए आवश्यक हैं। Ubuntu अपने पैकेज और कर्नेल के लिए समय पर अपडेट प्रदान करता है।

अपने सर्वर को अपडेट करने के चरण:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

इसके अतिरिक्त, सक्षम करें unattended-upgrades सुरक्षा अपडेट स्वचालित करने के लिए:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

2. UFW के साथ फ़ायरवॉल कॉन्फ़िगर करें

फ़ायरवॉल अनधिकृत पहुँच के विरुद्ध आपकी रक्षा की पहली पंक्ति है। Ubuntu में शामिल है UFW (Uncomplicated Firewall), जो फ़ायरवॉल प्रबंधन को सरल बनाता है।

UFW कॉन्फ़िगर करने के चरण:

  • UFW सक्षम करें:
sudo ufw enable
  • SSH कनेक्शन की अनुमति दें:
sudo ufw allow ssh
  • विशिष्ट पोर्ट की अनुमति दें (जैसे, वेब सर्वर के लिए HTTP और HTTPS):
sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp
  • फ़ायरवॉल स्थिति जाँचें:
sudo ufw status

    डिफ़ॉल्ट रूप से, UFW स्पष्ट रूप से अनुमत कनेक्शनों को छोड़कर सभी आने वाले कनेक्शन को अवरुद्ध करता है, जिससे आपका सर्वर सुरक्षित रहता है।


    3. SSH पहुँच सुरक्षित करें

    SSH दूरस्थ सर्वर प्रबंधन की प्राथमिक विधि है, लेकिन यह अक्सर ब्रूट-फ़ोर्स हमलों का लक्ष्य बनती है। अनधिकृत पहुँच के जोखिम को कम करने के लिए SSH को सुरक्षित करना महत्वपूर्ण है।

    SSH सुरक्षित करने के सुझाव:

    • डिफ़ॉल्ट SSH पोर्ट बदलें:
      • SSH कॉन्फ़िगरेशन फ़ाइल संपादित करें:
    sudo nano /etc/ssh/sshd_config 
    
    • डिफ़ॉल्ट पोर्ट बदलें (उदाहरण के लिए, 22 को 2222 में बदलें) और SSH सेवा पुनः आरंभ करें:
    sudo systemctl restart ssh
    
    • नए पोर्ट तक पहुँच की अनुमति देने के लिए UFW नियम अपडेट करें:
    sudo ufw allow 2222/tcp
    
    • रूट लॉगिन अक्षम करें:
      फ़ाइल में /etc/ssh/sshd_config, सेट करें:
    PermitRootLogin no
    
    • SSH कुंजी प्रमाणीकरण का उपयोग करें:
      • SSH कुंजी युग्म बनाएँ:
    ssh-keygen -t rsa -b 4096 
    
    • सार्वजनिक कुंजी को अपने सर्वर पर कॉपी करें:
    ssh-copy-id username@server-ip
    
    • SSH पहुँच सीमित करें:
      फ़ाइल को संपादित करके SSH पहुँच को विशिष्ट IP पतों तक सीमित करें: /etc/hosts.allow और /etc/hosts.deny  फ़ाइलें।

    4. Fail2Ban स्थापित और कॉन्फ़िगर करें

    Fail2Ban एक उपकरण है जो लॉग फ़ाइलों की निगरानी करके और संदिग्ध व्यवहार दिखाने वाले IP पतों पर प्रतिबंध लगाकर आपके सर्वर को ब्रूट-फ़ोर्स हमलों से बचाता है।

    Fail2Ban सेट अप करने के चरण:

    • Fail2Ban स्थापित करें:
    sudo apt install fail2ban
    
    • स्थानीय कॉन्फ़िगरेशन फ़ाइल बनाएँ:
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
    • SSH सुरक्षा कॉन्फ़िगर करें:
      संपादित करें /etc/fail2ban/jail.local और SSH जेल सक्षम करें:
    [sshd]
    enabled = true
    port = 2222
    maxretry = 5
    bantime = 3600
    
    
    • Fail2Ban पुनः आरंभ करें:
    sudo systemctl restart fail2ban
    

      Fail2Ban अब SSH लॉग की निगरानी करेगा और बार-बार असफल लॉगिन प्रयासों के बाद IP पर प्रतिबंध लगाएगा।


      5. अनावश्यक सेवाएँ अक्षम करें

      अनावश्यक सेवाएँ चलाने से आपके सर्वर की आक्रमण सतह बढ़ जाती है। उन सेवाओं की पहचान करें और उन्हें अक्षम करें जिनकी आपको आवश्यकता नहीं है।

      सेवाएँ अक्षम करने के चरण:

      • सक्रिय सेवाओं की सूची बनाएँ:
      sudo systemctl list-units --type=service
      
      • अप्रयुक्त सेवाएँ रोकें और अक्षम करें:
      sudo systemctl stop service-name 
      sudo systemctl disable service-name
      

        6. मज़बूत पासवर्ड और उपयोगकर्ता खातों का उपयोग करें

        कमज़ोर पासवर्ड एक सामान्य कमज़ोरी है। सुनिश्चित करें कि सभी उपयोगकर्ता खाते मज़बूत, अद्वितीय पासवर्ड का उपयोग करें।

        उपयोगकर्ता खाता सुरक्षा के सुझाव:

        • मज़बूत पासवर्ड बनाने और संग्रहीत करने के लिए पासवर्ड प्रबंधक का उपयोग करें।
        • उपयोगकर्ता खातों का नियमित रूप से ऑडिट करें और अप्रयुक्त खाते हटाएँ:
        sudo awk -F: '{ print $1}' /etc/passwd
        

          7. दो-कारक प्रमाणीकरण (2FA) सक्षम करें

          दो-कारक प्रमाणीकरण आपकी SSH लॉगिन प्रक्रिया में सुरक्षा की एक अतिरिक्त परत जोड़ता है। आप इसका उपयोग करके 2FA सक्षम कर सकते हैं: Google Authenticator.

          2FA सक्षम करने के चरण:

          • Google Authenticator स्थापित करें:
          sudo apt install libpam-google-authenticator
          
          • अपने उपयोगकर्ता के लिए 2FA कॉन्फ़िगर करें:
            निम्नलिखित कमांड चलाएँ और संकेतों का पालन करें:
           google-authenticator
          
          • SSH में 2FA सक्षम करें:
            संपादित करें /etc/pam.d/sshd और जोड़ें:
           auth required pam_google_authenticator.so
          

            SSH सेवा पुनः आरंभ करें:

            sudo systemctl restart ssh
            
            

            8. लॉग और सिस्टम गतिविधि की निगरानी करें

            अपने सर्वर लॉग की नियमित रूप से निगरानी करने से आपको संदिग्ध गतिविधि का शीघ्र पता लगाने में मदद मिलती है।

            लॉग निगरानी के उपकरण:

            • Syslog: सामान्य सिस्टम लॉग जाँचें:
            sudo less /var/log/syslog
            
            • प्रमाणीकरण लॉग: प्रमाणीकरण प्रयासों की समीक्षा करें:
             sudo less /var/log/auth.log
            

              इस तरह के उपकरणों का उपयोग करने पर विचार करें, जैसे Logwatch या OSSEC स्वचालित लॉग विश्लेषण और अलर्ट के लिए।


              9. नियमित बैकअप करें

              मज़बूत सुरक्षा उपायों के बावजूद, हमलों या डेटा हानि से उबरने के लिए बैकअप आवश्यक हैं।

              बैकअप विकल्प:

              • उपयोग करें rsync स्थानीय बैकअप बनाने के लिए:
              rsync -av /data /backup/
              
              • इस तरह के उपकरणों से बैकअप स्वचालित करें, जैसे Duplicity या क्लाउड-आधारित समाधान एकीकृत करें, जैसे AWS S3 या Google Cloud Storage.

              10. अतिरिक्त हार्डनिंग सुझाव

              • एंटीवायरस सॉफ़्टवेयर स्थापित करें: इस तरह के उपकरणों का उपयोग करें, जैसे ClamAV मैलवेयर स्कैन करने के लिए।
              sudo apt install clamav 
              sudo clamscan -r /path/to/scan
              
              • वेब एप्लिकेशन सुरक्षित करें: यदि वेबसाइट होस्ट कर रहे हैं, तो इस तरह के उपकरणों का उपयोग करें, जैसे ModSecurity सामान्य वेब कमज़ोरियों से बचाने के लिए।
              • AppArmor सक्षम करें: AppArmor एप्लिकेशन के लिए अनिवार्य पहुँच नियंत्रण प्रदान करता है।
              sudo apt install apparmor 
              sudo aa-status
              

              निष्कर्ष

              अपने Ubuntu सर्वर को सुरक्षित करने के लिए एक सक्रिय दृष्टिकोण की आवश्यकता होती है जो सिस्टम अपडेट, फ़ायरवॉल कॉन्फ़िगरेशन, SSH हार्डनिंग और Fail2Ban जैसे उपकरणों को जोड़ता है। इन चरणों का पालन करके और अपने सर्वर की नियमित रूप से निगरानी करके, आप संभावित खतरों के विरुद्ध एक मज़बूत रक्षा बना सकते हैं।

              अधिक जानकारी के लिए, आधिकारिक Ubuntu सुरक्षा मार्गदर्शिका.

              आगे: Ubuntu Server पर ऑडिट और लॉगिंग

              अपने सर्वर को सुरक्षित करना आवश्यक है, लेकिन इसके संचालन पर दृश्यता बनाए रखना भी उतना ही महत्वपूर्ण है। ऑडिट और लॉगिंग  आपको सिस्टम गतिविधियों की निगरानी करने, विसंगतियों की पहचान करने और समस्याओं का प्रभावी ढंग से निवारण करने में सक्षम बनाते हैं।

              अगले भाग में, हम निम्नलिखित पर चर्चा करेंगे:

              • सिस्टम ऑडिट और लॉग का महत्व।
              • सिस्टम घटनाओं को ट्रैक और रिकॉर्ड करने के लिए auditd का उपयोग।
              • लॉग फ़ाइलों को कुशलतापूर्वक प्रबंधित करने के लिए logrotate के साथ लॉग रोटेशन कॉन्फ़िगर करना।
              • महत्वपूर्ण घटनाओं के लिए /var/log निर्देशिका की निगरानी करना।

              ये विधियाँ आपको जवाबदेही बनाए रखने, संभावित खतरों का पता लगाने और अपने सर्वर की विश्वसनीयता सुनिश्चित करने में मदद करेंगी।

              बने रहें, क्योंकि हम उन उपकरणों और तकनीकों पर विस्तार से चर्चा करेंगे जो आपको अपने Ubuntu सर्वर का प्रभावी ढंग से ऑडिट और निगरानी करने में सक्षम बनाएँगे।

              3 thoughts on “08. Securing Your Ubuntu Server: Practical Steps for Hardening and Protection”

              टिप्पणी छोड़ें