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

Fail2Ban एक सरल, अभी तक उपयोगी टूल है जो दुर्भावनापूर्ण हमले से आपके सर्वर की निगरानी कर सकता है और इससे पहले कि वे विनाश को खत्म कर सकें।

स्थापना

Fail2Ban उबंटू भंडार में उपलब्ध है, ताकि आप आसानी से आदेश के साथ स्थापित कर सकें:

 sudo apt-get fail2ban स्थापित करें 

Red Hat या Centos उपयोगकर्ताओं के लिए, आप EPEL भंडार के माध्यम से Fail2Ban स्थापित कर सकते हैं।

एक बार जब आप Fail2Ban स्थापित कर लेंगे, तो अगला चरण कॉन्फ़िगरेशन फ़ाइल को स्थानीय फ़ोल्डर में ले जाना है ताकि आप मुख्य कॉन्फ़िगरेशन फ़ाइल को गलती से नहीं बदल सकें।

 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 

विन्यास

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

 सुडो नैनो /etc/fail2ban/jail.local 

विन्यास फाइल को विभिन्न वर्गों में बांटा गया है। पहला जो आप पार करेंगे [DEFAULT] है।

 [DEFAULT] # "ignoreip" एक आईपी पता हो सकता है, एक सीआईडीआर मुखौटा या एक DNS होस्ट ignoreip = 127.0.0.1/8 bantime = 600 maxretry = 3 # "बैकएंड" फाइल संशोधन प्राप्त करने के लिए उपयोग किए गए बैकएंड को निर्दिष्ट करता है। उपलब्ध # विकल्प "gamin", "मतदान" और "ऑटो" हैं। # योह: किसी कारण से डेबियन भेज दिया गया पाइथन-गैमिन अपेक्षित काम नहीं करता # इस मुद्दे को टोडो छोड़ दिया गया, इसलिए मतदान अब बैकएंड = ऑटो # # के लिए डिफ़ॉल्ट बैकएंड है # गंतव्य ईमेल पता पूरी तरह से # जेल में इंटरपोलेशंस के लिए उपयोग किया जाता है। {conf, स्थानीय} विन्यास फाइलें। destemail = root @ localhost 

आपको नोट करने के लिए आवश्यक कुछ पैरामीटर ignoreip, bantime और maxretry

  • अनदेखा - यह वह जगह है जहां आप आईपी को श्वेतसूची में डालते हैं जिसे आप अवरुद्ध नहीं करना चाहते हैं। डिफ़ॉल्ट लोकहोस्ट (127.0.0.1/8) है। आप प्रत्येक आईपी को एक स्पेस से अलग करते हुए, फ़ील्ड में अतिरिक्त आईपी जोड़ सकते हैं।
  • बैंटिम - आईपी को आपके सर्वर तक पहुंचने से रोकने के लिए सेकेंड में यह समय है। डिफ़ॉल्ट 10 मिनट (600 सेकंड) है
  • maxretry- आईपी ​​अवरुद्ध होने से पहले असफल लॉगिन प्रयास की संख्या है।

एक destemail क्षेत्र भी है जहां आप यह सूचित करने के लिए एक ईमेल पता निर्दिष्ट कर सकते हैं कि एक दुर्भावनापूर्ण हमला कहाँ पता चला है। ध्यान देने योग्य एक बात यह है कि यह केवल तभी काम करेगा जब आपके पास मेल सर्वर स्थापित हो।

अगला खंड "क्रियाएं" है।

 # क्रियाएं # # डिफ़ॉल्ट प्रतिबंध क्रिया (जैसे iptables, iptables-new, # iptables-multiport, shorewall, आदि) इसका उपयोग # action_ * चर को परिभाषित करने के लिए किया जाता है। दुनिया भर में या प्रति # अनुभाग को जेल में हटाया जा सकता है। लोकल फ़ाइल banaction = iptables-multiport # ईमेल कार्रवाई। चूंकि 0.8.1 अपस्ट्रीम विफल 2ban मेलिंग के लिए sendmail # MTA का उपयोग करता है। यदि आप परंपरागत 'मेल' पर वापस जाना चाहते हैं तो मेल # पर एमटीए कॉन्फ़िगरेशन पैरामीटर बदलें। mta = sendmail # डिफ़ॉल्ट प्रोटोकॉल प्रोटोकॉल = tcp # श्रृंखला निर्दिष्ट करें जहां ippsables में कूद को जोड़ने की आवश्यकता होगी- * क्रिया श्रृंखला = INPUT # # क्रिया शॉर्टकट्स। क्रिया पैरामीटर को परिभाषित करने के लिए उपयोग करने के लिए # लेने के लिए सबसे सरल कार्रवाई: केवल action_ =% (banaction) s [name =% (__ name __) s, port = "% (पोर्ट) एस", प्रोटोकॉल = "% (प्रोटोकॉल) पर प्रतिबंध ", चेन ="% (चेन) एस "] # प्रतिबंध और जोइस रिपोर्ट को नष्ट करने के लिए एक ई-मेल भेजें। action_mw =% (banaction) s [name =% (__ name __) एस, पोर्ट = "% (पोर्ट) एस", प्रोटोकॉल = "% (प्रोटोकॉल) एस", श्रृंखला = "% (श्रृंखला) एस"]% (एमटीए) एस-जोइस [नाम =% (__ नाम __) एस, dest = "% (destemail) एस", प्रोटोकॉल = "% (प्रोटोकॉल) एस", श्रृंखला = "% (श्रृंखला) एस"] # प्रतिबंध और एक ई-मेल भेजें भाग्य के लिए जोइस रिपोर्ट और प्रासंगिक लॉग लाइन # के साथ। action_mwl =% (banaction) s [name =% (__ name __) एस, पोर्ट = "% (पोर्ट) एस", प्रोटोकॉल = "% (प्रोटोकॉल) एस", श्रृंखला = "% (श्रृंखला) एस"]% (एमटीए) एस-जोइस-लाइन [नाम =% (__ नाम __) एस, dest = "% (destemail) s", logpath =% (logpath) s, chain = "% (chain) s"] # डिफ़ॉल्ट क्रिया चुनें। बदलने के लिए, जेल में # इंटरपोलेशन के साथ 'एक्शन' के मूल्य को ओवरराइड करें (जैसे action_mw, action_mwl, आदि) जेल में। वैश्विक # वैश्विक (अनुभाग [DEFAULT]) या प्रति विशिष्ट अनुभाग कार्रवाई =% (action_) s 

यहां तक ​​कि अधिकांश सेटिंग्स को तब तक डिफ़ॉल्ट छोड़ा जा सकता है जब तक कि आप banaction और protocol को बदलना नहीं चाहते हैं। डिफ़ॉल्ट "banaction" आईपीटेबल के माध्यम से है। आप इसे बहु-पोर्ट सेटिंग का उपयोग करने या इसके लिए एक नया आईपीटीबल बनाने के लिए प्राप्त कर सकते हैं। "प्रोटोकॉल" के लिए डिफ़ॉल्ट मान टीसीपी है, लेकिन आप जिस कनेक्शन का उपयोग कर रहे हैं उसके आधार पर आप इसे udp में बदल सकते हैं।

"जेल" अनुभाग का अंतिम भाग जहां आप अपने अपाचे सर्वर, FTP सर्वर, मेल सर्वर और DNS सर्वर की निगरानी के लिए Fail2Ban को कॉन्फ़िगर कर सकते हैं।

 [एसएसएच] सक्षम = सही पोर्ट = एसएसएच फिल्टर = एसएसडीडी logpath = /var/log/auth.log maxretry = 6 

ज्यादातर मामलों में, आपको बस " सक्षम = गलत " सेटिंग को " सक्षम = सत्य " में बदलना होगा और यह उस सेवा के लिए सक्रिय हो जाएगा। यदि आप एसएसएच के लिए सामान्य पोर्ट 20 का उपयोग नहीं कर रहे हैं, तो आप उपरोक्त सेटिंग में पोर्ट नंबर भी बदल सकते हैं।

एक बार कॉन्फ़िगरेशन के साथ किए जाने के बाद, "Ctrl + o" को सहेजने के लिए और "ctrl + x" को बाहर निकलने के लिए दबाएं।

अंत में, आदेश के साथ Fail2Ban सेवा को पुनरारंभ करें:

 sudo सेवा fail2ban पुनरारंभ करें 

अपने एसएसएच सर्वर की सुरक्षा के लिए आप अन्य तरीकों का उपयोग कैसे करते हैं?