एक डीडीओएस अटैक से अपाचे को सुरक्षित करने के लिए Fail2ban सेट अप करना
यह आलेख अपाचे सर्वर गाइड श्रृंखला का हिस्सा है:
- उबंटू पर अपाचे सुरक्षित - भाग 1
- उबंटू पर अपाचे सुरक्षित - भाग 2
- अपाचे प्रदर्शन को अनुकूलित करना - भाग 1
- अपाचे प्रदर्शन को अनुकूलित करना - भाग 2
- नाम-आधारित वर्चुअलहोस्ट अपाचे सेट अप करना
- अपाचे में आईपी और पोर्ट-आधारित वर्चुअलहोस्ट सेट अप करना
- Apache में पासवर्ड को सुरक्षित करने के लिए कैसे करें वेब निर्देशिका को सेट अप करें
- उबंटू पर एसएसएल समर्थन के साथ अपाचे सर्वर सेट अप करना
- एक डीडीओएस अटैक से अपाचे को सुरक्षित करने के लिए Fail2ban सेट अप करना
- उबंटू पर अपाचे के साथ वेबडाव कैसे सेट करें
- Mod_status का उपयोग कर अपाचे वेब सर्वर की निगरानी करें
- अपाचे सर्वर पर Mod_evasive के साथ डीडीओएस के खिलाफ कैसे सुरक्षा करें
अपाचे दुनिया में सबसे व्यापक रूप से उपयोग और लोकप्रिय वेब सर्वरों में से एक है, इसलिए ब्रूट-फोर्स हमलों से आपकी वेबसाइट और उपयोगकर्ताओं को सुरक्षित रखना महत्वपूर्ण है। Fail2ban Python में लिखा एक खुला स्रोत घुसपैठ रोकथाम सॉफ्टवेयर है। Fail2Ban लगातार विभिन्न सेवाओं की लॉग फ़ाइलों का विश्लेषण करता है (जैसे अपाचे, एसएसएच, पोस्टफिक्स ...), और यदि यह दुर्भावनापूर्ण हमलों का पता लगाता है, तो यह निर्दिष्ट समय के लिए हैकर्स आईपी पते को ब्लॉक करने के लिए फ़ायरवॉल पर नियम बनाता है। Fail2Ban भी अपनी गतिविधि के एक ईमेल के साथ एक सिस्टम व्यवस्थापक को सूचित करता है।
इस आलेख में मैं समझता हूं कि fail2ban कैसे स्थापित करें और दुर्भावनापूर्ण प्रमाणीकरण विफलता प्रयासों के लिए अपने अपाचे लॉग की निगरानी के लिए इसे कॉन्फ़िगर करें।
आवश्यकताएँ
- अपाचे के साथ उबंटू सर्वर 14.04 स्थापित
- अपाचे पासवर्ड प्रमाणीकरण के साथ कॉन्फ़िगर किया गया
Fail2Ban स्थापित करना
सबसे पहले, सुनिश्चित करें कि अपाचे सर्वर चल रहा है और पासवर्ड प्रमाणीकरण सक्षम है।
इसके बाद, आप चलकर Fail2ban इंस्टॉल कर सकते हैं:
sudo apt-get अद्यतन sudo apt-get fail2ban स्थापित करें
अपाचे के लिए fail2ban कॉन्फ़िगर करें
Fail2ban "/ etc / fail2ban /" निर्देशिका में अपनी कॉन्फ़िगरेशन फ़ाइल "jail.conf" रखता है। इसमें विभिन्न सेवाओं के लिए प्री-डिफ़ाइंड फ़िल्टर का एक सेट शामिल है, और यह अनुशंसा की जाती है कि आप इस फ़ाइल को संपादित न करें। आपको "/etc/fail2ban/jail.local" फ़ाइल बनाकर पूर्वनिर्धारित अपाचे जेल सक्षम करने की आवश्यकता है:
नई "jail.local" फ़ाइल बनाने के लिए, चलाएं:
सुडो नैनो /etc/fail2ban/jail.local
निम्नलिखित सामग्री जोड़ें:
[apache] सक्षम = सही पोर्ट = http, https फ़िल्टर = apache-auth logpath = /var/log/apache2/*error.log maxretry = 3 findtime = 600 ignoreip = 192.168.1.227 [apache-noscript] सक्षम = true port = http, https फ़िल्टर = apache-noscript logpath = /var/log/apache2/*error.log maxretry = 3 findtime = 600 ignoreip = 192.168.1.227 [apache-overflows] सक्षम = सही पोर्ट = http, https फ़िल्टर = apache-overflows logpath = /var/log/apache2/*error.log maxretry = 2 findtime = 600 ignoreip = 192.168.1.227 [apache-badbots] सक्षम = सही पोर्ट = http, https फ़िल्टर = apache-badbots logpath = / var / log / apache2 /*error.log maxretry = 2 findtime = 600 ignoreip = 192.168.1.227
फ़ाइल को सहेजें और बंद करें, फिर परिवर्तनों को प्रभावी होने के लिए fail2ban को पुनरारंभ करें।
sudo /etc/init.d/fail2ban पुनरारंभ करें
आप निम्नलिखित आदेशों का उपयोग कर iptables में Fail2Ban द्वारा जोड़े गए नियमों को सत्यापित कर सकते हैं:
सूडो iptables -L
आउटपुट इस तरह कुछ दिखाई देगा:
नोट : आप नीचे वर्णित प्रत्येक जेल का विवरण पा सकते हैं:
[apache]
: इस जेल का उपयोग विफल लॉगिन प्रयासों को अवरुद्ध करने के लिए किया जाता है।[apache-noscript]
: इस जेल को रिमोट क्लाइंट को अवरोधित करने के लिए उपयोग किया जाता है जो निष्पादित करने के लिए वेबसाइट पर स्क्रिप्ट खोज रहे हैं।[apache-overflows]
: यह जेल उन ग्राहकों को अवरोधित करने के लिए उपयोग किया जाता है जो संदिग्ध URL का अनुरोध करने का प्रयास कर रहे हैं।[apache-noscript]
: इस जेल को रिमोट क्लाइंट को अवरोधित करने के लिए उपयोग किया जाता है जो निष्पादित करने के लिए वेबसाइट पर स्क्रिप्ट खोज रहे हैं।[apache-badbots]
: दुर्भावनापूर्ण बॉट अनुरोधों को अवरोधित करने के लिए इस जेल का उपयोग किया जाता है।
नोट : आप नीचे वर्णित प्रत्येक नियम का विवरण पा सकते हैं।
enabled
: इस विकल्प का अर्थ है अपाचे सुरक्षा चालू है।port
: यह विकल्प उन सेवाओं को निर्दिष्ट करता है जो विफल 2ban मॉनीटर।filter
: यह विकल्प/etc/fail2ban/filter.d/
निर्देशिका में स्थित कॉन्फ़िगरेशन फ़ाइल को संदर्भित करता है।logpath
: यह विकल्प लॉग फ़ाइल का स्थान निर्दिष्ट करता है।bantime
: यह विकल्प उन सेकंड्स की संख्या निर्दिष्ट करता है जो दूरस्थ होस्ट सर्वर से अवरुद्ध किए जाएंगे।maxretry
: यह विकल्प प्रतिबंध समय की लंबाई के लिए दूरस्थ होस्ट अवरुद्ध होने से पहले विफल लॉगिन प्रयासों की संख्या निर्दिष्ट करता है।ignoreip
: यह विकल्प आपको अवरुद्ध करने से कुछ आईपी पते को श्वेतसूची में लाने की अनुमति देता है।
Fail2ban प्रतिबंध स्थिति की जांच करें
एक बार जेल सक्रिय हो जाने पर, आप fail2ban-client
कमांड का उपयोग कर fail2ban-client
जांच कर सकते हैं:
sudo fail2ban-client स्थिति
आप सक्षम सभी जेलों की एक सूची देख सकते हैं।
निम्न आदेशों को चलाकर अपाचे, अपाचे-बैडबॉट जैसी किसी विशेष जेल की स्थिति देखने के लिए:
sudo fail2ban-client स्थिति apache
आउटपुट इस तरह दिखता है:
आप मैन्युअल रूप से प्रतिबंध या असैन आईपी पते भी सेट कर सकते हैं।
उदाहरण के लिए, एक अपाचे जेल के साथ एक आईपी पता (1 9 2.168.1.20) पर प्रतिबंध लगाने के लिए:
sudo fail2ban-client set apache banip 192.168.1.20
एक अपाचे जेल के साथ एक आईपी पता (1 9 2.168.1.21) को अनबन करने के लिए:
sudo fail2ban-client set apache unbanip 192.168.1.21
परीक्षण Fail2Ban
अपने असफल 2ban का परीक्षण करना महत्वपूर्ण है चाहे वह अपेक्षित के रूप में काम कर रहा हो या नहीं। अब रिमोट मशीन पर, अपना वेब ब्राउजर खोलें और अपने डोमेन का यूआरएल टाइप करें (या अपने सर्वर का आईपी एड्रेस)। जब अपाचे प्रमाणीकरण के लिए संकेत देता है, तो गलत उपयोगकर्ता नाम और पासवर्ड बार-बार दें। सीमा तक पहुंचने के बाद आपको अवरुद्ध किया जाना चाहिए और साइट तक पहुंचने में असमर्थ होना चाहिए।
fail2ban-client
कमांड के साथ स्थिति की जांच करें:
sudo fail2ban-client स्थिति apache
आप साइट से अवरुद्ध होने वाले अपने आईपी पते को देखेंगे।
निष्कर्ष
अब, आपके पास fail2ban को कॉन्फ़िगर करने के लिए पर्याप्त ज्ञान है। Fail2ban का उपयोग बाढ़ को रोकने के लिए एक अच्छा और आसान तरीका है (ब्रूट-बल हमलों)। यह आपके अपाचे वेब सर्वर पर प्राप्त होने वाले बुरे अनुरोधों की संख्या को सीमित करने का भी एक अच्छा तरीका है।