Cài đặt Fail2ban bảo vệ VPS/Server khỏi tấn công dò mật khẩu SSH

bao-mat-SSH-VPS-Server-bang-Fail2ban

Kính thưa các bạn. Nằm trong số các biện pháp nhằm bảo vệ VPS/Server Linux khỏi các vụ tấn công ác ý. Việc phòng chống, ngăn chặn tấn công dò tìm mật khẩu đăng nhập SSH là điều rất quan trọng. Cài đặt Fail2ban sẽ là một công cụ hỗ trợ bảo mật tuyệt vời.

Fail2ban là gì

Fail2ban là 1 chương trình được viết bằng python, có nhiệm vụ theo dõi các file log của Server và phát hiện những IP đăng nhập có dấu hiệu bất thường, đồng thời ngăn chặn các IP đó theo một quy tắc do người dùng quy định.cai-dat-fail2ban-ngan-chan-tan-cong-do-mat-khau-ssh

IP đăng nhập bất thường là những trường hợp như nhập sai password SSH nhiều lần, khi phát hiện Fail2ban sẽ block những IP đó bằng tường lửa iptable.

Ghé thăm: trang chủ Fail2ban.

Cài đặt Fail2ban

Mặc định trong gói repo epel đã có sẵn Fail2ban mới nhất. Ta tiến hành cài đặt Fail2ban như sau (Trên CentOS):
yum install fail2ban -y
Sau khi cài đặt, file cấu hình của Fail2ban nằm tại vị trí:

/etc/fail2ban/jail.conf

Mở lên có nội dung:

Trong đó:

  • ignoreip: không block những địa chỉ này, thường địa chỉ IP ở VN là địa chỉ động, nên chúng ta không sử dụng được option này.
  • 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 login false tối đa

Cấu hình mặc định đã khá ok, ta không cần chỉnh sửa gì thêm và chuyển sang bước cấu hình bảo vệ SSH.

Cấu hình Fail2ban jail.local bảo vệ SSH

Tạo file cấu hình trong: /etc/fail2ban/jail.local

Với nội dung:

Hoặc bạn có thể copy file cấu hình mặc định và đổi tên thành file jail.local như sau:

cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

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 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. Nếu bạn đã thay đổi port ssh, sửa đoạn port=ssh bằng port mới, ví dụ port=2222
  • 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 3600 giây = 1 giờ, bạn có thể điều chỉnh lại nếu muốn

Khởi động Service Fail2ban

Chú ý: Nếu gặp thông báo: “no directory /var/run/fail2ban to contain the socket file /var/run/fail2ban/fail2ban.sock” thì có nghĩa bạn cần phải tạo thư mục cho fail2ban thủ công như sau:

mkdir /var/run/fail2ban

Sau cùng, check lại iptables xem đã có rule của Fail2Ban chưa:

iptables -L

Nếu thấy có bản ghi f2b-SSH như này là ok

Theo dõi SSH login

Có thể sử dụng lệnh sau để biết được VPS/Server đã từng bị tấn công SSH chưa:

Xem IP nào đã bị banned bởi Fail2Ban bạn sử dụng lệnh:

Output có dạng:

Để xóa IP khỏi danh sách banned, bạn sử dụng lệnh sau:

Trên đây là một số câu lệnh cài đặt, cấu hình fail2ban và quản lý IP baned. Tham khảo thêm một số tuỳ chọn khác như gửi email thông báo, tạo danh sách IP trắng… tại đây:

https://www.linode.com/docs/security/using-fail2ban-for-security/

Cài đặt Fail2ban trên CentOS 7, 8 cập nhật 10/2019. Bảo vệ SSH trước tấn công dò mật khẩu. Tham khảo: Truyện cười vô va

UpForShare.com biên soạn

Tác giả: LiteSpeed Beginer

LiteSpeed Beginer là một kẻ gà mờ công nghệ, nhưng lại cuồng hiệu năng và tốc độ của máy chủ LiteSpeed. Thích tìm hiểu, trải nghiệm, chia sẻ những công nghệ web server tiên tiến nhất

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *