Fail2Ban सही तरीके से आईपी पर प्रतिबंध लगाने का प्रयास करता है लेकिन IP पर प्रतिबंध नहीं लगता - iptables श्रृंखला मौजूद है लेकिन काम नहीं कर रही है


12

Ubuntu 14.04 सर्वर पर चल रहा है।

तो मैं SS2 /var/log/auth.logलॉगिन प्रयासों के लिए प्रक्रिया करने के लिए कॉन्फ़िगर किया गया fail2ban सही ढंग से कॉन्फ़िगर किया गया है ।

3 असफल प्रयासों पर मुझे यह असफल 2 लॉग लॉग में दिखाई देता है:

2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY

iptables -L इस श्रृंखला को दर्शाता है:

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  BANNED_IP_ADDY  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

फिर भी उस IP से मैं अभी भी SSH के माध्यम से बिना किसी समस्या के लॉगिन कर सकता हूं।

एक ही कहानी मेरे सभी विफल 2 जेलों के लिए लागू होती है। उदाहरण के लिए अपाचे, मैं देख सकता हूँ कि विफलता 2 आईएनबी सही ढंग से लॉग का पता लगाता है और दावा करता है कि यह एक आईपी पर प्रतिबंध लगाता है। IP एक iptables श्रृंखला में समाप्त होता है, लेकिन IP वास्तव में REJECTED नहीं है।

मुझे इन मामलों में एक एहसास है क्योंकि एसएसएच मानक बंदरगाह पर नहीं है। यह एक अलग बंदरगाह पर है।

इसलिए यदि मैं नए पोर्ट का उपयोग करने के लिए ssh जेल नियम को बाध्य करता हूं:

[ssh]

enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5

तब मुझे यह त्रुटि दिखाई देती है:

2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment

अगर मैं इसे छोड़ दूं

 port = ssh

फिर यह ठीक से iptables में हो जाता है लेकिन श्रृंखला REJECTयातायात के लिए काम नहीं कर रही है (जैसा कि ऊपर बताया गया है)।

अपडेट करें:

अगर मैं बदलता हूं:

banaction = iptables-multiport

सेवा:

banaction = iptables-allports

तब यह काम करने के लिए प्रकट होता है। इस परिवर्तन के नतीजे क्या हैं?

ऐसा प्रतीत होता है कि fail2banSSH के कारण IP पर प्रतिबंध लगाने के कारण इसने allportsउस IP के लिए हर बंदरगाह पर प्रतिबंध लगा दिया। बार-बार ssh का लॉगिन विफल होने के कारण जानबूझकर प्रतिबंध लगा दिया गया। हर दूसरी सेवा पर भी प्रतिबंध लगा दिया गया।


Ive कभी भी विफलता 2ban के साथ उस मुद्दे में नहीं भागे। यदि आप एकल पोर्ट को अवरुद्ध करने के लिए वापस जाना चाहते हैं तो आप इस समाधान को आजमा सकते हैं: oschgan.com/drupal/index.php?q=node/52 । वैकल्पिक रूप से fail2ban hosttdeny या null मार्गों जैसे अन्य तंत्रों का उपयोग कर सकता है यदि iptables दुःख का कारण बन रहा है।
digitaladdictions

बाहर की जाँच करें /etc/fail2ban/actions.d, यह उन प्रतिबंध कार्यों में से प्रत्येक के लिए एक फ़ाइल है। अंदर आप देखेंगे कि कौन सी आज्ञाओं का उपयोग प्रतिबंध, unban, start और stop विफलता 2ban के लिए किया जाता है। आप एक्शनबोन कमांड को मैन्युअल रूप से चलाने की कोशिश कर सकते हैं और देख सकते हैं कि क्या होता है। मैं
माइकल

1
और क्या आपके iptables में है? कृपया iptables -L -n -v(जहां आवश्यक हो आईपी पतों को फिर से परिभाषित करने) का पूरा आउटपुट प्रदान करें । विशेष रूप से, नोट करें -v, जो प्रत्येक श्रृंखला और नियम के लिए बाइट और पैकेट काउंटर देगा, डिबगिंग को कम करेगा।
jplitza 13

मेरे साथ भी ठीक यही समस्या थी। Fail2Ban IP पर प्रतिबंध लगा सकता है, मैं विफल 2बान श्रृंखला में पता देख सकता हूं, मुझे वह ईमेल मिल गया है जिस पर प्रतिबंध है लेकिन आईपी पते पर अभी भी पहुंच है। ऑलपोर्ट्स के लिए नोटबंदी ने काम किया लेकिन पता नहीं क्यों!
एरगेक

जवाबों:


2

Fail2ban चेन आपके INPUT और OUTPUT चेन्स से सही तरीके से लिंक नहीं है। कृपया अपना प्रश्न संपादित करें और इसका आउटपुट प्रदान करें:

iptables -n -L INPUT
iptables -n -L OUTPUT

और सभी विफल 2 चेन भी, और मैं और अधिक सटीक होने में सक्षम हो जाएगा।


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