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
तब यह काम करने के लिए प्रकट होता है। इस परिवर्तन के नतीजे क्या हैं?
ऐसा प्रतीत होता है कि fail2ban
SSH के कारण IP पर प्रतिबंध लगाने के कारण इसने allports
उस IP के लिए हर बंदरगाह पर प्रतिबंध लगा दिया। बार-बार ssh का लॉगिन विफल होने के कारण जानबूझकर प्रतिबंध लगा दिया गया। हर दूसरी सेवा पर भी प्रतिबंध लगा दिया गया।
/etc/fail2ban/actions.d
, यह उन प्रतिबंध कार्यों में से प्रत्येक के लिए एक फ़ाइल है। अंदर आप देखेंगे कि कौन सी आज्ञाओं का उपयोग प्रतिबंध, unban, start और stop विफलता 2ban के लिए किया जाता है। आप एक्शनबोन कमांड को मैन्युअल रूप से चलाने की कोशिश कर सकते हैं और देख सकते हैं कि क्या होता है। मैं
iptables -L -n -v
(जहां आवश्यक हो आईपी पतों को फिर से परिभाषित करने) का पूरा आउटपुट प्रदान करें । विशेष रूप से, नोट करें -v
, जो प्रत्येक श्रृंखला और नियम के लिए बाइट और पैकेट काउंटर देगा, डिबगिंग को कम करेगा।