ทำงานบนเซิร์ฟเวอร์ Ubuntu 14.04
ดังนั้นฉันมี fail2ban อย่างถูกต้องกำหนดให้ดำเนินการ/var/log/auth.log
สำหรับการพยายามเข้าสู่ระบบ SSH
เมื่อ 3 ครั้งที่ล้มเหลวฉันเห็นสิ่งนี้ในบันทึก fail2ban:
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 ได้โดยไม่มีปัญหาใด ๆ
เรื่องเดียวกันใช้กับคุก j2 ล้มเหลวทั้งหมดของฉัน Apache ตัวอย่างเช่นฉันสามารถดู fail2ban ตรวจสอบบันทึกและเรียกมันว่าเรย์แบน IP IP สิ้นสุดในห่วงโซ่ iptables แต่ IP ไม่ได้ถูกปฏิเสธจริง ๆ
ฉันมีความรู้สึกในกรณีเหล่านี้เนื่องจาก SSH ไม่ได้อยู่ในพอร์ตมาตรฐาน มันอยู่บนพอร์ตอื่น
ดังนั้นถ้าฉันบังคับใช้กฎ 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
การรับส่งข้อมูล
UPDATE:
ถ้าฉันเปลี่ยน:
banaction = iptables-multiport
ถึง:
banaction = iptables-allports
จากนั้นดูเหมือนว่าจะทำงาน ผลกระทบของการเปลี่ยนแปลงนี้คืออะไร?
ดูเหมือนว่าสาเหตุที่fail2ban
จะห้าม IP เนื่องจาก SSH ด้วยสิ่งนี้allports
มันห้ามทุกพอร์ตสำหรับ IP นั้น ถูกแบนอย่างเด็ดเดี่ยวเนื่องจากการเข้าสู่ระบบ ssh ซ้ำล้มเหลว ยังถูกแบนในบริการอื่น ๆ ทุกครั้ง
/etc/fail2ban/actions.d
ว่ามีไฟล์ที่สอดคล้องกับการกระทำที่ห้ามแต่ละอย่าง ข้างในคุณจะเห็นคำสั่งที่ใช้ในการแบน, ห้ามแบน, เริ่มและหยุด fail2ban คุณสามารถลองใช้คำสั่ง actionban ด้วยตนเองและดูว่าเกิดอะไรขึ้น I
iptables -L -n -v
(การทำซ้ำ IP แอดเดรสหากจำเป็น) โดยเฉพาะอย่างยิ่งให้สังเกต-v
ซึ่งจะให้ไบต์และแพ็คเก็ตเคาน์เตอร์สำหรับแต่ละห่วงโซ่และกฎทำให้สบายการแก้จุดบกพร่อง