SSH एक व्यापक रूप से उपयोग किया जाने वाला प्रोटोकॉल है जिसका उपयोग Linux सर्वरों को सुरक्षित रूप से एक्सेस करने के लिए किया जाता है। अधिकांश उपयोगकर्ता दूरस्थ सर्वर से कनेक्ट करने के लिए डिफ़ॉल्ट सेटिंग्स के साथ SSH कनेक्शन का उपयोग करते हैं। हालाँकि, असुरक्षित डिफ़ॉल्ट कॉन्फ़िगरेशन भी विभिन्न सुरक्षा जोखिम उत्पन्न करते हैं।

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

यहां बताया गया है कि आप Linux पर अपने SSH सर्वर कनेक्शन को कैसे सुरक्षित कर सकते हैं।

1. रूट उपयोगकर्ता लॉगिन अक्षम करें

इसके लिए सबसे पहले रूट यूजर के SSH एक्सेस को डिसेबल करें और रूट विशेषाधिकारों के साथ एक नया उपयोगकर्ता बनाएं. रूट उपयोगकर्ता के लिए सर्वर एक्सेस को बंद करना एक रक्षा रणनीति है जो हमलावरों को सिस्टम में घुसपैठ करने के अपने लक्ष्य को प्राप्त करने से रोकता है। उदाहरण के लिए, आप नाम का उपयोगकर्ता बना सकते हैं उदाहरणमूल निम्नलिखित नुसार:

instagram viewer
useradd -m उदाहरणरूट
पासवार्ड उदाहरणरूट
usermod -aG sudo exampleroot

यहाँ उपरोक्त आदेशों का संक्षिप्त विवरण दिया गया है:

  • उपयोगकर्ता जोड़ें एक नया उपयोगकर्ता बनाता है और -एम पैरामीटर के तहत एक फ़ोल्डर बनाता है घर आपके द्वारा बनाए गए उपयोगकर्ता के लिए निर्देशिका।
  • पासवर्ड कमांड नए यूजर को पासवर्ड असाइन करने के लिए है। याद रखें कि आपके द्वारा उपयोगकर्ताओं को दिए गए पासवर्ड जटिल और अनुमान लगाने में कठिन होने चाहिए।
  • usermod -aG sudo नव-निर्मित उपयोगकर्ता को व्यवस्थापक समूह में जोड़ता है।

उपयोगकर्ता निर्माण प्रक्रिया के बाद, इसमें कुछ बदलाव करना आवश्यक है sshd_config फ़ाइल। आप इस फ़ाइल को यहां पा सकते हैं /etc/ssh/sshd_config. फ़ाइल को किसी भी टेक्स्ट एडिटर से खोलें और उसमें निम्नलिखित बदलाव करें:

# प्रमाणीकरण: 
#LoginGraceTime 2m
PermitRootLogin no
अनुमति देंउपयोगकर्ता उदाहरणरूट

परमिटरूटलॉगिन लाइन रूट उपयोक्ता को एसएसएच का उपयोग करके रिमोट एक्सेस प्राप्त करने से रोकेगी। समेत उदाहरणमूल में उपयोगकर्ताओं को अनुमति दें सूची उपयोगकर्ता को आवश्यक अनुमति देती है।

अंत में, निम्न आदेश का उपयोग करके SSH सेवा को पुनरारंभ करें:

sudo systemctl पुनरारंभ ssh

यदि वह विफल हो जाता है और आपको एक त्रुटि संदेश प्राप्त होता है, तो नीचे दिए गए आदेश का प्रयास करें। यह आपके द्वारा उपयोग किए जाने वाले Linux डिस्ट्रो के आधार पर भिन्न हो सकता है।

sudo systemctl पुनरारंभ sshd

2. डिफ़ॉल्ट पोर्ट बदलना

डिफ़ॉल्ट SSH कनेक्शन पोर्ट 22 है। बेशक, सभी हमलावर इसे जानते हैं और इसलिए, एसएसएच सुरक्षा सुनिश्चित करने के लिए डिफ़ॉल्ट पोर्ट नंबर को बदलना आवश्यक है। हालांकि एक हमलावर आसानी से नया ढूंढ सकता है Nmap स्कैन के साथ पोर्ट नंबर, यहाँ लक्ष्य हमलावर के काम को और कठिन बनाना है।

पोर्ट नंबर बदलने के लिए, खोलें /etc/ssh/sshd_config और फ़ाइल में निम्नलिखित परिवर्तन करें:

शामिल /etc/ssh/sshd_config.d/*.conf
पोर्ट 5922

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

3. खाली पासवर्ड वाले उपयोगकर्ताओं के लिए एक्सेस ब्लॉक करें

आपके सिस्टम पर पासवर्ड के बिना उपयोगकर्ता हो सकते हैं जिन्हें आपने गलती से बनाया होगा। ऐसे उपयोगकर्ताओं को सर्वर तक पहुँचने से रोकने के लिए, आप सेट कर सकते हैं परमिट खाली पासवर्ड में लाइन मान sshd_config फ़ाइल करने के लिए नहीं.

PermitEmptyPasswords no

4. प्रवेश/पहुंच के प्रयासों को सीमित करें

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

इसके लिए बदलें MaxAuthTries में मूल्य sshd_config फ़ाइल।

MaxAuthTries 3

5. SSH संस्करण 2 का उपयोग करना

पहले संस्करण में कई कमजोरियों के कारण SSH का दूसरा संस्करण जारी किया गया था। डिफ़ॉल्ट रूप से, आप सर्वर को जोड़कर दूसरे संस्करण का उपयोग करने के लिए सक्षम कर सकते हैं शिष्टाचार आपके लिए पैरामीटर sshd_config फ़ाइल। इस तरह, आपके सभी भावी कनेक्शन SSH के दूसरे संस्करण का उपयोग करेंगे।

शामिल /etc/ssh/sshd_config.d/*.conf 
प्रोटोकॉल 2

6. TCP पोर्ट फ़ॉरवर्डिंग और X11 फ़ॉरवर्डिंग को बंद करना

एसएसएच कनेक्शन के माध्यम से पोर्ट अग्रेषण द्वारा हमलावर आपके अन्य सिस्टम तक पहुंच प्राप्त करने का प्रयास कर सकते हैं। इसे रोकने के लिए, आप बंद कर सकते हैं टीसीपी अग्रेषण की अनुमति दें तथा X11अग्रेषण में सुविधाएँ sshd_config फ़ाइल।

X11अग्रेषण संख्या 
अनुमति देंटीसीपीअग्रेषण संख्या

7. SSH कुंजी के साथ जुड़ना

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

जब आप एक SSH कुंजी बनाते हैं, तो दो कुंजियाँ होती हैं: जनता तथा निजी. सार्वजनिक कुंजी उस सर्वर पर अपलोड की जाती है जिसे आप कनेक्ट करना चाहते हैं और निजी कुंजी कंप्यूटर पर संग्रहीत की जाती है जिसके उपयोग से आप कनेक्शन स्थापित करेंगे।

के साथ एक SSH कुंजी बनाएँ एसएसएच-कीजेन आपके कंप्यूटर पर कमांड। मत छोड़ो पदबंध फ़ील्ड खाली रखें और यहां दर्ज किया गया पासवर्ड याद रखें। यदि आप इसे खाली छोड़ देते हैं, तो आप इसे केवल SSH कुंजी फ़ाइल से ही एक्सेस कर पाएंगे। हालाँकि, यदि आप कोई पासवर्ड सेट करते हैं, तो आप कुंजी फ़ाइल वाले किसी हमलावर को उस तक पहुँचने से रोक सकते हैं। उदाहरण के तौर पर, आप निम्न आदेश के साथ एक एसएसएच कुंजी बना सकते हैं:

एसएसएच-कीजेन

8. एसएसएच कनेक्शन के लिए आईपी प्रतिबंध

अधिकांश समय, फ़ायरवॉल अपने स्वयं के मानकों के ढांचे का उपयोग करके पहुंच को अवरुद्ध करता है और इसका उद्देश्य सर्वर की सुरक्षा करना है। हालांकि, यह हमेशा पर्याप्त नहीं होता है और आपको इस सुरक्षा क्षमता को बढ़ाने की जरूरत है।

ऐसा करने के लिए, खोलें /etc/hosts.allow फ़ाइल। इस फ़ाइल में आपके द्वारा किए गए परिवर्धन के साथ, आप SSH अनुमति को प्रतिबंधित कर सकते हैं, एक विशिष्ट IP ब्लॉक की अनुमति दे सकते हैं, या एक एकल IP दर्ज कर सकते हैं और सभी शेष IP पतों को इनकार कमांड के साथ ब्लॉक कर सकते हैं।

नीचे आपको कुछ सैंपल सेटिंग्स दिखाई देंगी। ऐसा करने के बाद, परिवर्तनों को सहेजने के लिए हमेशा की तरह SSH सेवा को पुनरारंभ करें।

Linux सर्वर सुरक्षा का महत्व

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

SSH सुरक्षा सर्वरों की सुरक्षा के तरीकों में से एक है। किसी हमले को रोकने, अवरुद्ध करने या धीमा करने से आपके द्वारा किए जाने वाले नुकसान को कम करना संभव है। SSH सुरक्षा प्रदान करने के अलावा, आप अपने Linux सर्वर को सुरक्षित करने के लिए कई अलग-अलग तरीकों को लागू कर सकते हैं।