Cách cài đặt và cấu hình Fail2Ban bảo vệ SSH trên CentOS
Hướng dẫn chi tiết cài đặt và cấu hình Fail2Ban bảo vệ SSH trên CentOS giúp hạn chế cuộc tấn công “Brute Force”
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.
yum install epel-release yum install 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ập nhật nội dung tập tin /etc/fail2ban/jail.local như sau.
[sshd] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] # sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] logpath = /var/log/secure maxretry = 3 bantime = 3600
Trong đó
- enabled: kích hoạt bảo vệ, nếu muốn tắt bạn hãy chuyển thành false.
- filter: giữ mặc định để sử dụng tập tin cấu hình /etc/fail2ban/filter.d/sshd.conf.
- action: Fail2Ban sẽ khóa địa chỉ IP nếu đúng /etc/fail2ban/action.d/iptables.conf.
- logpath: đường dẫn tập tin log sử dụng để theo dõi.
- maxretry: số lần đăng nhập sai tối đa.
- bantime: thời gian khóa IP, 3600 giây = 1 giờ, bạn có thể điều chỉnh lại nếu muốn.
Khởi động Fail2Ban
hkconfig --level 23 fail2ban on service fail2ban start
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 cài đặt thành công!