संपादित 2 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
सुरक्षासख्तीफ़ायरवॉलएसएसएचनेटवर्क सुरक्षासर्वोत्तम प्रथाएंसर्वर प्रशासनप्रवेश परीक्षणनिगरानीअनुपालन
अनुवाद अपडेट किया गया 2 सप्ताह पहले
Linux सर्वर को सुरक्षित करना आईटी इन्फ्रास्ट्रक्चर का प्रबंधन करने और संवेदनशील डेटा की सुरक्षा करने का एक महत्वपूर्ण पहलू है। Linux अपने मजबूत सुरक्षा फीचर्स के लिए प्रसिद्ध है, लेकिन इन फीचर्स की प्रभावशीलता largely इस बात पर निर्भर करती है कि वे कितनी अच्छी तरह से कॉन्फ़िगर और मैनेज किए गए हैं। यह व्यापक गाइड विस्तृत चरणों में समझाएगा कि अपने Linux सर्वर को प्रभावी ढंग से कैसे सुरक्षित करें। प्रत्येक कदम में सर्वर सेटिंग्स को कॉन्फ़िगर करना, सिस्टम फीचर्स को मजबूत करना, और उपयुक्त सॉफ्टवेयर टूल्स और सर्वोत्तम प्रथाओं का उपयोग करना शामिल होगा।
नियमित अपडेट आवश्यक हैं। अधिकांश कमजोरियों का फायदा outdated सॉफ़्टवेयर से उठाया जाता है। इसलिए, अपने सर्वर को सुरक्षित करने का पहला कदम यह है कि यह सुनिश्चित करें कि यह नवीनतम सुरक्षा पैच और अपडेट के साथ पूरी तरह से अपडेट है। इसे अपने Linux वितरण के मूल पैकेज मैनेजर का उपयोग करके प्राप्त किया जा सकता है। उदाहरण के लिए, एक डेबियन-आधारित सिस्टम पर, आप निम्नलिखित चला सकते हैं:
sudo apt update && sudo apt upgrade
रेड हैट-आधारित सिस्टम के लिए, आप उपयोग करेंगे:
sudo yum update
स्वचालित अपडेट सेट करना इस प्रक्रिया को और भी सरल बना सकता है और सुनिश्चित कर सकता है कि महत्वपूर्ण पैच तुरंत लागू हों।
हर सेवा जो Linux सर्वर पर चल रही है वह हमलावरों के लिए एक संभावित प्रवेश बिंदु है। अपनी मौजूदा सेवाओं का ऑडिट करें और अपने सर्वर के हमले की सतह को कम करने के लिए किसी भी अनावश्यक तत्व को अक्षम या हटा दें। आप इसका उपयोग कर सकते हैं:
systemctl list-unit-files --type=service
चल रही सेवाओं और उनकी स्थिति की समीक्षा करने के लिए। आवश्यक नहीं होने वाली सेवाओं को निम्नलिखित कमांड के माध्यम से अक्षम करें:
sudo systemctl disable <service_name>
SSH कुंजियाँ पासवर्ड से अधिक सुरक्षित प्रमाणीकरण तंत्र प्रदान करती हैं। आपको SSH कुंजियों की एक जोड़ी बनानी चाहिए और उन्हें एक्सेस के लिए उपयोग करना चाहिए:
ssh-keygen -t rsa -b 4096
अपने सार्वजनिक कुंजी को सर्वर पर निम्नलिखित कमांड का उपयोग करके कॉपी करें:
ssh-copy-id user@servername
इसके बाद, SSH कुंजियों के उपयोग को लागू करने के लिए पासवर्ड प्रमाणीकरण को अक्षम करें, SSH विन्यास फ़ाइल को संपादित करके:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication
लाइन को खोजें और इसे no
पर सेट करें।
फायरवॉल एक बाधा के रूप में कार्य करता है और केवल उस ट्रैफ़िक को आने और जाने की अनुमति देता है जो पूर्वनिर्धारित नियमों के अनुसार होता है। UFW (अनकंप्लीकेटेड फायरवॉल) इस उद्देश्य के लिए उपयोगकर्ता के अनुकूल है:
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw enable
केवल आवश्यक पोर्ट और सेवाओं की अनुमति देना याद रखें। नियमों पर अधिक नियंत्रण के लिए, iptables को इसके बजाय उपयोग किया जा सकता है।
Snort या OSSEC जैसे घुसपैठ पहचान प्रणाली (IDS) को तैनात करने से आपके सर्वर पर संदिग्ध गतिविधियों की निगरानी की जा सकती है। ये सिस्टम प्रयासों को लॉग कर सकते हैं और जब सुरक्षा को भंग करने के प्रयास होते हैं तो आपको अलर्ट कर सकते हैं।
ब्रिच या संदेहास्पद गतिविधि की जांच के लिए लॉगिंग महत्वपूर्ण है। fail2ban और logwatch जैसे टूल लॉग गतिविधियों की निगरानी करने और उन पैटर्नों को पहचानने में सहायता कर सकते हैं जो बृट-फोर्स प्रयासों या अनाधिकृत एक्सेस को संकेत करते हैं।
न्यूनतम विशेषाधिकार के सिद्धांत का पालन करें, जहाँ उपयोगकर्ताओं को केवल उनके कार्यों के लिए आवश्यक विशेषाधिकार मिलते हैं। नए उपयोगकर्ता बनाएं और उन्हें उपयुक्त समूह असाइन करें:
sudo adduser newuser
sudo usermod -aG somegroup newuser
फाइल अनुमतियों को समायोजित करें ताकि संवेदनशील फाइलें सार्वजनिक रूप से एक्सेसेबल न हों। इस तरह के कॉमांड का उपयोग करें:
sudo chmod 640 <filename>
फाइलों के लिए स्वामित्व में संशोधन करने के लिए और chown
:
sudo chown user:group <filename>
यदि आप नेटवर्क पर डायरेक्टरीज़ साझा कर रहे हैं, तो सुनिश्चित करें कि वे सुरक्षित रूप से कॉन्फ़िगर हैं। इसमें सही अनुमतियों को सेट करना और NFS, सांबा या अन्य के माध्यम से नेटवर्क कॉन्फ़िगरेशन के भीतर एक्सेस को प्रतिबंधित करना शामिल है।
सुनिश्चित करें कि डेटा तब भी एन्क्रिप्टेड है जब ये आराम में हो और आने-जाने के दौरान। फाइलों और डायरेक्टरीज़ के लिए OpenSSL जैसे टूल्स का उपयोग करें, और सुनिश्चित करें कि कनेक्शन HTTPS, SSH, या VPN का उपयोग करके बनाए गए हैं जो अतिरिक्त सुरक्षा प्रदान करते हैं।
नियमित बैकअप महत्वपूर्ण होते हैं ताकि डेटा की अंतरंगता और उपलब्धता उन घटनाओं में बनी रहे जब यह खो जाए या दूषित हो जाए। स्वचालित स्क्रिप्ट्स दिन या साप्ताहिक बैकअप सेट करने में सहायता कर सकती हैं, जिन्हें सुरक्षित रूप से ऑफसाइट स्टोर किया जा सकता है।
सुरक्षा लॉग की समीक्षा करके, कमजोरियों के स्कैन चलाकर, और सुरक्षा बेंचमार्किंग टूल्स का उपयोग करके नियमित सुरक्षा ऑडिट्स करें ताकि सुधार के लिए क्षेत्रों की पहचान की जा सके।
फेल2बैन को इंस्टॉल और कॉन्फ़िगर करें ताकि दुर्भावनापूर्ण IP अस्थायी रूप से ब्लॉक हो सकें। यह लॉग फ़ाइलों को स्कैन करके और बहुत अधिक असफल लॉगिन प्रयासों वाले IP को बैन करके पूरा किया जाता है:
sudo apt install fail2ban
इसके विन्यास फ़ाइलों को आवश्यकतानुसार संपादित करें और विभिन्न सेवाओं की रक्षा के लिए जेल.लोकल फाइल को सेट करें।
एक अतिरिक्त सुरक्षा उपाय के रूप में, SSH के माध्यम से रूट लॉगिन को अक्षम करना अनुशंसा की जाती है। इसे SSH विन्यास फ़ाइल में संशोधित किया जा सकता है:
sudo nano /etc/ssh/sshd_config
PermitRootLogin
लाइन को खोजें और इसे no
पर सेट करें।
SELinux (सिक्योरिटी-एन्हांस्ड Linux) और AppArmor प्रक्रिया को नियंत्रित करके एक अतिरिक्त सुरक्षा परत प्रदान कर सकते हैं। सुनिश्चित करें कि अत्यधिक प्रतिबंधात्मक नीतियों का पालन न करें जो अनजाने में सर्वर संचालन में बाधा डाल सकते हैं।
जो सर्वर डेटाबेस चला रहे हैं, उन्हें दूरस्थ रूट लॉग-इन और पासवर्डलेस खातों की अनुमति देने से रोकने समर्पित करना चाहिए, और सुनिश्चित करना चाहिए कि क्वेरी केवल विश्वस्त IP पतों से आ रही हैं।
अपने Linux सर्वर को सुरक्षित करना एक बहु-चरणीय प्रक्रिया है जिसमें न केवल सर्वर को सही ढंग से कॉन्फिगर करना शामिल है बल्कि इसे लगातार बनाए रखना और निगरानी करना भी शामिल है। उपरोक्त उल्लिखित प्रथाएँ और उपकरण सामूहिक रूप से आपके सर्वर वातावरण की मजबूत सुरक्षा में योगदान करते हैं, जिसे ध्यान में रखते हुए अपडेट्स, ऑडिट्स, और नए खतरे उत्पन्न होने पर नई सुरक्षा उपायों के अनुकूलन की आवश्यकता होती है।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं