Chạy trên máy chủ Ubuntu 14.04.
Vì vậy, tôi đã cấu hình fail2ban chính xác để xử lý /var/log/auth.logcác lần thử đăng nhập SSH.
Sau 3 lần thất bại, tôi thấy điều này trong nhật ký fail2ban:
2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY
iptables -L cho thấy chuỗi này:
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
Tuy nhiên, từ IP đó tôi vẫn có thể đăng nhập qua SSH mà không gặp vấn đề gì.
Câu chuyện tương tự áp dụng cho tất cả các nhà tù fail2ban của tôi. Ví dụ như Apache, tôi có thể thấy fail2ban phát hiện chính xác nhật ký và tuyên bố nó cấm IP. IP kết thúc trong một chuỗi iptables nhưng IP không thực sự được DỰ ÁN.
Tôi có cảm giác trong những trường hợp này là vì SSH không có trên cổng tiêu chuẩn. Đó là trên một cổng khác.
Vì vậy, nếu tôi buộc quy tắc tù ssh sử dụng cổng mới:
[ssh]
enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
Sau đó tôi thấy lỗi này:
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
Nếu tôi để nó như
 port = ssh
Sau đó, nó được đưa vào iptables đúng cách nhưng chuỗi không hoạt động với REJECTlưu lượng truy cập (như đã đề cập ở trên).
CẬP NHẬT:
Nếu tôi thay đổi:
banaction = iptables-multiport
Đến:
banaction = iptables-allports
Sau đó, nó xuất hiện để làm việc. Tác động của sự thay đổi này là gì?
Có vẻ như việc fail2bancấm IP vì SSH với điều này, allportsnó đã cấm MỌI cổng cho IP đó. Cố ý bị cấm do đăng nhập ssh nhiều lần không thành công. Cũng bị cấm trên mọi dịch vụ khác.
/etc/fail2ban/actions.d, nó có một tập tin tương ứng với từng hành động cấm đó. Bên trong bạn sẽ thấy những lệnh nào được sử dụng để cấm, unban, bắt đầu và dừng fail2ban. Bạn có thể thử chạy các lệnh actionban bằng tay và xem điều gì sẽ xảy ra. Tôi
                iptables -L -n -v(sắp xếp lại địa chỉ IP khi cần thiết). Cụ thể, lưu ý -v, cái sẽ cung cấp bộ đếm byte và gói cho mỗi chuỗi và quy tắc, giúp dễ dàng gỡ lỗi.