Fail2Ban là một ứng dụng chạy nền theo dõi log file để phát hiện những địa chỉ IP đăng nhập sai password SSH nhiều lần. Sau đó, Fail2Ban sử dụng IPtables để block ngay địa chỉ IP với một khoảng thời gian định trước.
Cài đặt Fail2Ban
Chúng ta sẽ cài đặt Fail2Ban thông qua Repo EPEL.
apt -y install fail2ban
Kiểm tra trạng thái và bật khởi động cùng hệ thống.
systemctl status fail2ban
systemctl enable fail2ban
Cấu hình mặc định của Fail2Ban khá là ổn rồi, chúng ta không cần thiết phải cập nhật mà đến bước tiếp theo.
Cấu hình Fail2Ban bảo vệ SSH
Cấu hình mặc định ở tập tin /etc/fail2ban/jail.conf
cũng đã khá tốt, cho nên không cần chỉnh sửa tại đây cũng được.
Tạo tập tin cấu hình /etc/fail2ban/jail.local
.
[DEFAULT]
# Ban hosts for one hour:
bantime = 3600
# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport
[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 5
bantime = 3600
Khởi động lại Fail2Ban
systemctl restart fail2ban
Cuối cùng kiểm tra lại lại Iptables xem đã có rule của Fail2Ban chưa:
iptables -L
Kết quả như sau là được.
Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Theo dõi SSH login
– Bạn có thể sử dụng lệnh sau để biết được VPS/Server đã từng bị tấn công SSH chưa:
cat /var/log/secure | grep 'Failed password' | sort | uniq -c
– Để xem IP đã bị banned bởi Fail2Ban bạn sử dụng lệnh:
fail2ban-client status sshd
– Để xóa IP khỏi danh sách banned, bạn sử dụng lệnh sau
fail2ban-client set sshd unbanip 1.2.3.4
Chúc các bạn thành công!
Không có bình luận.