सभी प्रतिबंधित IP को विफल 2ban के साथ कैसे दिखाएं?


36

जब मैं यह कमांड चलाता हूं तो मुझे यह fail2ban-client status sshdमिला है:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     81
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 2
   |- Total banned:     8
   `- Banned IP list:   218.65.30.61 116.31.116.7

यह केवल 8 के बजाय प्रतिबंधित आईपी सूची में दो आईपी दिखाती है, जैसे कुल प्रतिबंध कहते हैं।

जबकि मुझे ऐसा tail -f /var/log/auth.logलगता है:

Mar 29 11:08:40 DBSERVER sshd[29163]: error: maximum authentication attempts exceeded for root from 218.65.30.61 port 50935 ssh2 [preauth]
Mar 29 11:08:40 DBSERVER sshd[29163]: Disconnecting: Too many authentication failures [preauth]
Mar 29 11:08:40 DBSERVER sshd[29163]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.61  user=root
Mar 29 11:08:40 DBSERVER sshd[29163]: PAM service(sshd) ignoring max retries; 6 > 3
Mar 29 11:08:44 DBSERVER sshd[29165]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.65.30.61  user=root
Mar 29 11:08:46 DBSERVER sshd[29165]: Failed password for root from 218.65.30.61 port 11857 ssh2
Mar 29 11:09:01 DBSERVER CRON[29172]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 29 11:09:01 DBSERVER CRON[29172]: pam_unix(cron:session): session closed for user root
Mar 29 11:10:01 DBSERVER CRON[29226]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 29 11:10:02 DBSERVER CRON[29226]: pam_unix(cron:session): session closed for user root
Mar 29 11:10:18 DBSERVER sshd[29238]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=113.122.43.185  user=root
Mar 29 11:10:20 DBSERVER sshd[29238]: Failed password for root from 113.122.43.185 port 46017 ssh2
Mar 29 11:10:33 DBSERVER sshd[29238]: message repeated 5 times: [ Failed password for root from 113.122.43.185 port 46017 ssh2]
Mar 29 11:10:33 DBSERVER sshd[29238]: error: maximum authentication attempts exceeded for root from 113.122.43.185 port 46017 ssh2 [preauth]
Mar 29 11:10:33 DBSERVER sshd[29238]: Disconnecting: Too many authentication failures [preauth]
Mar 29 11:10:33 DBSERVER sshd[29238]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=113.122.43.185  user=root
Mar 29 11:10:33 DBSERVER sshd[29238]: PAM service(sshd) ignoring max retries; 6 > 3
Mar 29 11:11:36 DBSERVER sshd[29245]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:11:38 DBSERVER sshd[29245]: Failed password for root from 116.31.116.7 port 24892 ssh2
Mar 29 11:11:43 DBSERVER sshd[29245]: message repeated 2 times: [ Failed password for root from 116.31.116.7 port 24892 ssh2]
Mar 29 11:11:43 DBSERVER sshd[29245]: Received disconnect from 116.31.116.7 port 24892:11:  [preauth]
Mar 29 11:11:43 DBSERVER sshd[29245]: Disconnected from 116.31.116.7 port 24892 [preauth]
Mar 29 11:11:43 DBSERVER sshd[29245]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:12:39 DBSERVER sshd[29247]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:12:41 DBSERVER sshd[29247]: Failed password for root from 116.31.116.7 port 26739 ssh2
Mar 29 11:12:45 DBSERVER sshd[29247]: message repeated 2 times: [ Failed password for root from 116.31.116.7 port 26739 ssh2]
Mar 29 11:12:45 DBSERVER sshd[29247]: Received disconnect from 116.31.116.7 port 26739:11:  [preauth]
Mar 29 11:12:45 DBSERVER sshd[29247]: Disconnected from 116.31.116.7 port 26739 [preauth]
Mar 29 11:12:45 DBSERVER sshd[29247]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:13:41 DBSERVER sshd[29249]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.7  user=root
Mar 29 11:13:43 DBSERVER sshd[29249]: Failed password for root from 116.31.116.7 port 27040 ssh2

प्रतिबंधित आईपी अभी भी कोशिश कर रहा है।

हालाँकि जब मैंने जाँच की कि sudo iptables -L INPUT -v -nमुझे यह मिल गया है:

Chain INPUT (policy ACCEPT 228 packets, 18000 bytes)
 pkts bytes target     prot opt in     out     source               destination
 6050  435K f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22

मुझसे यहां क्या गलत हो रहा है?

मैं सभी प्रतिबंधित आईपी सूची कैसे दिखा सकता हूं?

अग्रिम में धन्यवाद।


"कुल" का मतलब कुल मिलाकर कभी प्रतिबंधित है, कुल मिलाकर वर्तमान में प्रतिबंधित नहीं है। एकमात्र स्थान जो आपको पहले से प्रतिबंधित पते पर मिलेगा, वह लॉग में है (यदि आपने उन्हें रखा है)।
मोनिका

जेल में। जेल या जेल .conf, आपको लगता है कि एक छोटा है bantime। इसे 200mऔर भी ऊँचा बनाओ और फिर करो sudo service fail2ban restartऔर फिरfail2ban-client status sshd
एलन किंग

जवाबों:


19

कृपया ध्यान रखें कि IP की विफलता 2ban प्रतिबंध प्रकृति में अस्थायी है।

IPs की पूरी सूची पर नज़र रखने का सबसे अच्छा तरीका लॉग फ़ाइल की जांच करना होगा:

sudo zgrep 'Ban:' /var/log/fail2ban.log*

निम्नलिखित आदेश आपको इनपुट नियमों की एक साफ सूची भी दे सकते हैं:

sudo iptables -L INPUT -v -n | less

3
मेरे लॉगफ़ाइल्स में कोई कोलन नहीं है (इस प्रकार grep को समायोजित करने की आवश्यकता है)। हालांकि एक संपादन के बजाय एक टिप्पणी के रूप में छोड़ रहा हूं, क्योंकि मुझे नहीं पता कि यह हाल ही में कितना व्यापक है / अगर यह एक बदलाव है।
kwah

ध्यान रखें कि iptables नियमों को सूचीबद्ध करना केवल उस स्थिति में काम करता है जब iptables आपकी प्रतिबंधात्मक कार्रवाई है। कभी-कभी ऐसा नहीं होता है।
गिलाद मयानी

@kwah मेरे लिए, लॉग फ़ाइल में कोई कॉलन नहीं। संभवतः आउटपुट में हाल ही में परिवर्तन, या एक टाइपो।
डेविड मोर्डिगल

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

9

IPtables की पूरी लाइन देखने के लिए:

sudo iptables -L -n | awk '$1=="REJECT" && $4!="0.0.0.0/0"'

केवल आईपी पता देखने के लिए:

sudo iptables -L -n | awk '$1=="REJECT" && $4!="0.0.0.0/0" {print $4}'

आप अपने मामले के आधार पर, "DROP" द्वारा "REJECT" को बदल सकते हैं।


6

NA एई के समान kwaa की टिप्पणियों के साथ ऊपर , इसमें सभी IP सूचीबद्ध हैं:

sudo zgrep 'Ban' /var/log/fail2ban.log*

लेकिन उस आउटपुट में बहुत सारी लाइनें हैं। यह सभी लॉग किए गए प्रतिबंधित (और संभावित रूप से प्रतिबंधित) आईपी की लाइनों की गणना करता है:

sudo zgrep 'Ban' /var/log/fail2ban.log* | wc -l

उपर्युक्त कमांड (लाइन काउंट के साथ) से आउटपुट को फेल 2बन के स्टेटस आउटपुट में 'टोटल बैनड' काउंट से मेल खाना चाहिए:

fail2ban-client status sshd

Ubuntu 18.04.1 LTS में परीक्षण किया गया।

'Wc -l' लाइन से मेरा आउटपुट:

7244

और fail2ban की स्थिति से, वही 7244 नंबर सत्यापित है:

Status for the jail: sshd
|- Filter
|  |- Currently failed: 7
|  |- Total failed: 49457
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 9
   |- Total banned: 7244
   `- Banned IP list:   [...]

4

बस एक FYI करें:

  • "कुल प्रतिबंधित" कुल आईपी हैं जो उस जेल के लिए प्रतिबंधित किए गए हैं (और शायद निषिद्ध हैं)।
  • "वर्तमान में प्रतिबंधित" केवल IP हैं जो वर्तमान में उस जेल के लिए प्रतिबंधित हैं (और IP सूची इसकी पुष्टि करती है)।

उम्मीद है की वो मदद करदे।


4

यदि आप अपने टाइमआउट के साथ प्रतिबंधित आईपी की सूची देखना चाहते हैं (समय सीमा समाप्त हो गई है तो वे प्रतिबंधित पूल से हटा सकते हैं)

ipset list

2

यह दिखाएगा कि वर्तमान में iptables के चेन फेल 2बान-एसएसएच भाग में प्रतिबंधित (REJECT) क्या है।

sudo iptables -L fail2ban-ssh -v -n

2

अधिक सामान्य उत्तर जोड़ने के लिए:

कृपया ध्यान दें कि iptables सही उत्तर नहीं हो सकता है और आपको प्रासंगिक जानकारी नहीं दे सकता है (मूल पोस्टर के लिए)। यह निर्भर करता है कि प्रतिबंध के लिए किस मूल्य = [क्रिया] आप अपने DEFAULT या विशिष्ट जेल परिभाषा में उपयोग कर रहे हैं।

मेरे पास लिनक्स चलाने वाले कई छोटे एआरएम संचालित बक्से हैं लेकिन कर्नेल के पास सभी प्रासंगिक आईपीटैब मॉड्यूल उपलब्ध नहीं हैं, इसलिए उस मामले में आईपीटेबल्स काम नहीं करेंगे।

* BSD में iptables बिलकुल नहीं हो सकते हैं और इसके बजाय pf जैसी किसी चीज़ का उपयोग करें ।

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

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
# normal routing entries
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
# banned IPs (no gateway, no iface)
223.96.95.85    -               255.255.255.255 !H    0      -        0 -

आपके पास प्रतिबंध लगाने के कई विकल्प हैं। और इसलिए प्रतिबंध सूची की जांच करने के लिए कई विकल्प। कौन सा उपयोग करना है यह आपके प्लेटफॉर्म और वरीयता पर निर्भर करता है। चुनने के लिए कई पूर्व-कॉन्फ़िगर कॉन्फ़िगरेशन फ़ाइलें हैं: /etc/fail2ban/action.d/।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.