Hướng Dẫn Cài Đặt Fail2Ban

Chào Mọi Người.

Hôm nay mình sẽ hướng dẫn mọi người cài đặt và cấu hình Fail2Ban bảo vệ SSH trên CentOS 7.

Chuẩn Bị.

  • Mọi người chuẩn bị giúp 1 VPS/Server sử dụng hệ điều hành CentOS 7.
  • Tài khoản Root hoặc có quyền sudo của VPS/Server ở trên.

Cài Đặt.

Đầu tiên, do gói cài đặt Fail2Ban không có sẵn trên CentOS 7 nên mình sẽ tiến hành cài đặt từ Epel Repository.

Cài Đặt Epel Repository.

yum -y install epel-release

Cài Đặt Fail2Ban.

yum -y install fail2ban

Như vậy là Fail2Ban đã được cài đặt trên VPS/Server.

Cấu Hình.

Các file cấu hình của Fail2Ban được lưu trữ tại thư mục “/etc/fail2ban/”, file cấu hình mặc định là “jail.conf”, ngoài ra thì còn có file như jail.local và khi cấu hình file “jail.local” thì các cấu hình sẽ được ghi đè lên file “jail.conf”.

Tổng kết lại thì các file cấu hình của fail2ban sẽ được ưu tiên theo thứ tự từ thấp đến cao như sau :

/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf
/etc/fail2ban/jail.local
/etc/fail2ban/jail.d/*.local

Ở đây mình sẽ hướng dẫn mọi người cấu hình Fail2Ban bảo về SSH.

Tuy nhiên để tránh trường hợp khi Upgrade Fail2Ban có thể file này thay đổi, ta sẽ tiến hành tạo một file cấu hình riêng cho dịch vụ ta muốn bảo vệ tại thư mục  “/etc/fail2ban/jail.d/” và file đó sẽ có tên là “sshd.local”.

vi /etc/fail2ban/jail.d/sshd.local

Nội dung file cấu hình như sau :

[sshd]
enabled = true
port = ssh
action = firewallcmd-ipset
logpath = %(sshd_log)s
maxretry = 5
bantime = 86400

– Enabled : Để khai báo cấu hình có được áp dụng hay không.

– Port : nếu Port SSH của VPS/Server vẫn là mặc định thì ta sẽ không tiến hành thay đổi, nếu đã thay đổi Port thì ta sẽ sửa lại thành Port đã được thay đổi, ở đây do VPS của 123HOST Port SSH mặc định là 2018 nên mình đã thay đổi thành 2018.

– Action : Fail2Ban sẽ ban các địa chỉ IP kết nối SSH tới VPS/Server nếu khớp với bộ lọc tại “/etc/fail2ban/action.d/firewallcmd-ipset.conf”.

Mọi người có thể tìm hiểu thêm về cái bộ lọc của Fail2Ban tại thư mục “/etc/fail2ban/action.d/”.

– Logpath : Đường dẫn tới file lưu trữ log của Fail2Ban.

– Maxretry : Số lần login False tối đa.

– Bantime : Thời gian mà một địa chỉ IP sẽ bị khóa truy cập, đơn vị sẽ là giây (s).

Sau khi cấu hình sau, ta tiến hành khởi động lại Fail2Ban và kiểm tra lại file cấu hình đã được áp dụng hay chưa.

systemctl restart fail2ban

fail2ban-client status

Để kiểm tra xem IP nào đã bị chặn bởi Fail2Ban, ta sẽ sử dụng câu lênh sau :

fail2ban-client status sshd

Như mọi người có thể thấy, hiện tại có IP đang bị ban bởi Fail2Ban đó là “103.97.125.178”, đây là IP bị ban do mình kiểm tra hoạt động của Fail2Ban từ trước.

Tới đây mình sẽ gỡ bỏ địa chỉ IP “103.97.125.178” ra khỏi danh sách bị chặn bởi Fail2Ban bằng câu lệnh:

fail2ban-client set sshd unbanip IP_can_go_ban

Như vậy là mình đã chia sẻ xong cách cài đặt và cấu hình Fail2Ban trên CentOS  theo kinh nghiệm của mình, cảm ơn mọi người đã theo dõi hết bài viêt.

Tagged:

Rate This Article