Đây là giải pháp đơn giản nhưng rất hiệu quả để ngăn chặn việc dò mật khẩu SSH trên các hệ thống Linux.
Cài đặt Fail2Ban
Fail2Ban có sẵn trong kho phần mềm chính thức của Ubuntu, bạn chỉ cần chạy lệnh sau để cài đặt:
apt -y install fail2ban
Kiểm tra trạng thái dịch vụ và bật khởi động cùng hệ thống:
systemctl status fail2ban
systemctl enable fail2ban
Sau khi cài đặt, Fail2Ban sẽ hoạt động ngay với cấu hình mặc định. Tuy nhiên, để đảm bảo kiểm soát tốt hơn, bạn nên tạo file cấu hình riêng để tinh chỉnh hành vi bảo vệ SSH.
Cấu hình Fail2Ban cho SSH
Không chỉnh sửa trực tiếp file /etc/fail2ban/jail.conf. Thay vào đó, hãy tạo file cấu hình riêng /etc/fail2ban/jail.local để override các giá trị cần thiết:
[DEFAULT]
# Thời gian IP bị block (tính bằng giây)
bantime = 3600
# Hành động khi block IP (dùng iptables)
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
Bạn có thể thay đổi maxretry để giới hạn số lần nhập sai trước khi bị block, hoặc tăng bantime để kéo dài thời gian cấm IP.
Khởi động lại Fail2Ban
Sau khi chỉnh sửa cấu hình, khởi động lại dịch vụ để áp dụng thay đổi:
systemctl restart fail2ban
Kiểm tra firewall rule của Fail2Ban
Dùng lệnh dưới để kiểm tra xem iptables đã được thêm rule bởi Fail2Ban chưa:
iptables -L
Nếu thấy xuất hiện chuỗi f2b-SSH là bạn đã cấu hình thành công:
Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:ssh
Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Theo dõi và quản lý Fail2Ban
- Kiểm tra log các lần đăng nhập SSH thất bại:
cat /var/log/auth.log | grep 'Failed password' | sort | uniq -c
- Xem danh sách IP đang bị Fail2Ban block:
fail2ban-client status sshd
- Bỏ chặn một IP cụ thể:
fail2ban-client set sshd unbanip 1.2.3.4
Việc sử dụng Fail2Ban giúp tăng cường bảo mật cho dịch vụ SSH mà không cần cài đặt thêm hệ thống tường lửa phức tạp. Bạn nên kết hợp với cấu hình key-based SSH hoặc thay đổi port mặc định để giảm nguy cơ bị tấn công từ sớm.
Bình luận