कैसे CentOS पर Fail2Ban सेटअप करने के लिए

Fail2Ban का परिचय

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

Fail2Ban स्थापित करना

इस ट्यूटोरियल में, हम EPEL रिपॉजिटरी के माध्यम से CentOS 6 पर Fail2Ban इंस्टॉल करेंगे। निम्न आदेश चलाएँ।

yum install epel-release
yum install fail2ban

व्याख्या

  • yum install epel-release: EPEL रिपॉजिटरी (एंटरप्राइज लिनक्स के लिए अतिरिक्त पैकेज) स्थापित करता है।
  • yum install fail2ban: EPEL रिपॉजिटरी से Fail2Ban इंस्टॉल करता है।

Fail2Ban सेटिंग्स को कॉन्फ़िगर करना

Fail2Ban कॉन्फ़िगरेशन फ़ाइल खोलें।

nano /etc/fail2ban/jail.conf

फ़ाइल में, आपको कुछ पैरामीटर दिखाई देंगे जैसा कि नीचे दिखाया गया है। अपनी आवश्यकताओं में से किसी भी मान को समायोजित करें।

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

व्याख्या

  • ignoreip: मेजबानों पर प्रतिबंध न लगाएं जो इस सूची में एक पते से मेल खाते हैं। अंतरिक्ष विभाजक का उपयोग करके कई पते परिभाषित किए जा सकते हैं। इस लाइन पर अपना व्यक्तिगत आईपी लिखें।
  • bantime: एक होस्ट पर प्रतिबंध लगाने वाले सेकंड की संख्या।
  • findtime: यदि maxretryअंतिम के दौरान उत्पन्न हुआ है तो एक मेजबान पर प्रतिबंध लगा दिया गया है findtime
  • maxretry: एक मेजबान के पहले विफलताओं की संख्या पर प्रतिबंध लगा दिया जाता है।

SSH की सुरक्षा के लिए Fail2Ban को कॉन्फ़िगर करना

सबसे पहले, हमें एक कॉन्फ़िगरेशन फ़ाइल बनाने की आवश्यकता है।

nano /etc/fail2ban/jail.local

नीचे की पंक्तियों को कॉपी करें और फ़ाइल में पेस्ट करें।

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5
  • enabled: सुरक्षा को सक्रिय करें। यदि आप इसे बंद करना चाहते हैं, तो मान को गलत में बदल दें।
  • filter: डिफ़ॉल्ट रूप से, यह sshd पर सेट होता है जो फ़ाइल को संदर्भित करता है /etc/fail2ban/filter.d/sshd.conf
  • action: Fail2Ban फ़िल्टर से मेल खाने वाले IP पर प्रतिबंध लगाएगा /etc/fail2ban/action.d/iptables.conf। यदि आपने पहले SSH पोर्ट को बदल दिया है, port=sshतो नए पोर्ट में बदलें , उदाहरण के लिए port=2222। यदि आप पोर्ट 22 का उपयोग कर रहे हैं, तो आपको मूल्य बदलने की आवश्यकता नहीं होगी।
  • logpath: Fail2Ban द्वारा प्रयुक्त लॉग फ़ाइल का पथ।
  • maxretry: असफल लॉगिन प्रयासों की अधिकतम संख्या।

Fail2Ban सेवा शुरू करना

Fail2Ban सेवा शुरू करने के लिए नीचे दिए गए इन दो आदेशों को चलाएं:

chkconfig --level 23 fail2ban on
service fail2ban start

अंत में, यह देखने के iptablesलिए जांचें कि इसमें Fail2Ban द्वारा जोड़े गए नियम हैं या नहीं।

iptables -L

परिणाम इस आउटपुट के समान दिखाई देगा।

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

असफल लॉगिन प्रयासों को कैसे ट्रैक करें

यदि आपका सर्वर लॉगिन प्रयासों (संभावित हमलों) को विफल कर चुका है तो आप इस कमांड का उपयोग कर सकते हैं।

cat /var/log/secure | grep 'Failed password'

परिणाम इन पंक्तियों के समान दिखाई देगा।

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

यह देखने के लिए कि किन IP पर प्रतिबंध लगाया गया है, निम्नलिखित कमांड का उपयोग करें।

iptables -L -n

प्रतिबंधित सूची से एक आईपी पते को हटाने के लिए, निम्न आदेश चलाएँ। banned_ipउस आईपी में बदलें जिसे आप अनबन करना चाहते हैं।

iptables -D f2b-SSH -s banned_ip -j DROP

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

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

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

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ