DDos
VIP Members
-
22/10/2013
-
524
-
2.191 bài viết
Cài đặt Fail2Ban để bảo bảo vệ SSH trên Linux
Fail2ban là 1 chương trình được viết bằng python có nhiệm vụ chặn các ip kết nối đến server dựa vào các dấu hiệu nghi ngờ mà ip đó để lại trong file log của hệ thống hoặc dịch vụ. Ví dụ như có quá nhiều lần sử dụng mật khẩu không hợp lệ, truy cập không hợp lệ hoặc các dấu hiệu bất thường khác mà có thể nhận biết được.
Mỗi luật trong fail2ban (jail) bao gồm 3 thành phần: luật lọc(filter) và luật chặn(action) và file log cần lọc. Fail2ban đếm số lần 1 ip vi phạm luật lọc(filter) trong 1 khoảng thời gian xác định, nếu số lần vi phạm vượt quá 1 ngưỡng cho trước thì ip đó sẽ bị chặn kêt nối đến server bởi luật chặn(action). Các thông số khoảng thời gian quét, ngưỡng giới hạn, thời gian chặn ip hay vị trí file log sẽ được cấu hình riêng cho từng jail.
Sử dụng Fail2ban để bảo vệ ssh trong Linux.
Mỗi luật trong fail2ban (jail) bao gồm 3 thành phần: luật lọc(filter) và luật chặn(action) và file log cần lọc. Fail2ban đếm số lần 1 ip vi phạm luật lọc(filter) trong 1 khoảng thời gian xác định, nếu số lần vi phạm vượt quá 1 ngưỡng cho trước thì ip đó sẽ bị chặn kêt nối đến server bởi luật chặn(action). Các thông số khoảng thời gian quét, ngưỡng giới hạn, thời gian chặn ip hay vị trí file log sẽ được cấu hình riêng cho từng jail.
Sử dụng Fail2ban để bảo vệ ssh trong Linux.
- Cài đặt Fail2ban
Ubuntu/Debian: sudo apt-get install fail2ban
CentOS: yum install fail2ban - Cấu hình Fail2ban:
vi /etc/fail2ban/jail.conf
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1
# "bantime" is the number of seconds that a host is banned.
bantime = 600
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600
# "maxretry" is the number of failures before a host get banned.
maxretry = 3
Trong đó:
- ignoreip: là địa chỉ IP mà bạn không muốn block
- bantime: khoảng thời gian (giây) block IP
- findtime: khoảng thời gian (giây) một IP phải login thành công
- maxretry: số lần đăng nhập sai tối đa
- Cấu hình Fail2Ban bảo vệ SSH
vi /etc/fail2ban/jail.local
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
# sendmail-whois[name=SSH, dest=root, [email protected]]
logpath = /var/log/secure
maxretry = 3
bantime = 7200
Trong đó
- enabled: tắt bật chế độ bảo vệ.
- filter: giữ mặc định để sử dụng file cấu hình /etc/fail2ban/filter.d/sshd.conf
- action: fail2ban sẽ ban địa chỉ IP nếu match filter /etc/fail2ban/action.d/iptables.conf.
- logpath: đường dẫn file log fail2ban sử dụng để theo dõi
- maxretry: số lần login false tối đa
- bantime: thời gian ban IP
- Khởi động Service Fail2Ban
chkconfig --level 23 fail2ban on
service fail2ban start