BizMaC bizmac.com

Cài Fail2Ban chống dò mật khẩu SSH

Hướng dẫn Linux Server · cập nhật 28/08/2026

Để cài Fail2Ban chống dò mật khẩu SSH, bạn cài gói fail2ban, tạo file cấu hình jail.local, đặt số lần đăng nhập sai được phép và thời gian khoá IP, rồi khởi động dịch vụ. Việc này mất khoảng 15 phút và tự động chặn IP dò mật khẩu.

Fail2Ban đọc log đăng nhập, đếm số lần sai từ mỗi IP, và tự thêm luật tường lửa chặn IP vượt ngưỡng. Nó xử lý phần mà tường lửa thường không làm được: chặn kẻ dò ngay trên cổng đang mở.

  1. Cài gói fail2ban.
  2. Tạo file cấu hình jail.local riêng.
  3. Đặt ngưỡng số lần sai và thời gian khoá.
  4. Khởi động dịch vụ và kiểm tra.

Fail2Ban giải quyết vấn đề gì

Tường lửa như UFW chỉ đóng hoặc mở cổng, nó không phân biệt được ai gõ đúng mật khẩu và ai đang dò. Fail2Ban lấp chỗ đó. Nó theo dõi file log, thấy một IP thử sai nhiều lần trong thời gian ngắn thì khoá IP đó lại một khoảng thời gian, rồi tự mở khi hết hạn.

Trên một VPS mở cổng SSH ra internet, log đăng nhập ghi hàng nghìn lượt dò mỗi ngày. Fail2Ban cắt gần hết số đó bằng cách khoá IP ngay sau vài lần thử sai.

Cài Fail2Ban trên Ubuntu và CentOS

Cách cài khác nhau đôi chút giữa hai dòng hệ điều hành. Ubuntu và Debian dùng apt, còn CentOS và AlmaLinux dùng dnf hoặc yum. Trên CentOS bạn cần bật kho EPEL trước vì Fail2Ban không nằm trong kho mặc định.

Hệ điều hànhLệnh cài
Ubuntu, Debiansudo apt install fail2ban
CentOS, AlmaLinuxsudo dnf install epel-release && sudo dnf install fail2ban

Các bước cấu hình jail.local

Bốn bước dưới đây tạo cấu hình riêng để không đụng file gốc. Bạn tạo file jail.local, khai báo bảo vệ SSH, đặt ngưỡng, rồi khởi động dịch vụ. File local luôn được ưu tiên hơn file mặc định.

1. Tạo file cấu hình riêng

Không sửa trực tiếp file jail.conf vì nó bị ghi đè khi cập nhật. Tạo file local riêng.

sudo nano /etc/fail2ban/jail.local

2. Khai báo bảo vệ SSH

Dán nội dung dưới vào file. Khối [sshd] bật bảo vệ cho dịch vụ SSH.

[sshd]
enabled = true
port = 22
maxretry = 5
bantime = 3600
findtime = 600

Nếu đã đổi cổng SSH, sửa dòng port thành số cổng thật của bạn.

3. Khởi động và bật tự chạy

Lưu file rồi khởi động dịch vụ, đồng thời cho nó tự chạy mỗi khi máy khởi động.

sudo systemctl enable fail2ban
sudo systemctl restart fail2ban

4. Kiểm tra dịch vụ đã chạy

Xem trạng thái để chắc Fail2Ban đang hoạt động.

sudo systemctl status fail2ban

Hiểu ba tham số quan trọng nhất

Ba con số quyết định Fail2Ban khắt khe tới đâu. maxretry là số lần sai được phép, findtime là khoảng thời gian đếm các lần sai đó, và bantime là thời gian khoá IP. Đặt quá gắt dễ khoá nhầm chính mình khi gõ sai mật khẩu vài lần.

Tham sốNghĩaGợi ý
maxretrySố lần sai trước khi khoá5 lần
findtimeKhoảng đếm số lần sai, tính giây600 giây
bantimeThời gian khoá IP, tính giây3600 giây, đặt -1 là khoá vĩnh viễn

Xem và bỏ khoá IP khi cần

Fail2Ban có công cụ dòng lệnh riêng để xem IP nào đang bị khoá. Chạy lệnh status cho jail sshd để thấy danh sách. Nếu bạn tự bị khoá vì gõ sai mật khẩu, dùng lệnh unban để bỏ khoá IP của mình.

sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip 103.75.180.10
Trước khi đặt bantime = -1 khoá vĩnh viễn, hãy thêm IP của bạn vào danh sách bỏ qua bằng dòng ignoreip. Tự khoá vĩnh viễn IP của chính mình mà đang ở xa VPS thì phải vào console mới cứu được.

Kết hợp Fail2Ban với đổi cổng SSH và đăng nhập bằng khoá là bộ ba bảo mật SSH cơ bản. Ba việc này làm một lần, chạy nền suốt, và cắt gần hết rủi ro bị dò mật khẩu trên VPS mới.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong Linux Server

Xem cả 22 bài
Cài tường lửa UFW cơ bản cho VPS Ubuntu Cách cài UFW trên Ubuntu, cho phép cổng SSH trước khi bật, mở cổng web 80 và 443, rồi kích hoạt tường lửa mà không mất kết nối cho người mới quản trị VPS. 5 phút đọc Cập nhật 29/08/2026 Đổi port SSH mặc định để bảo mật VPS Cách đổi cổng SSH từ 22 sang cổng khác trong file sshd_config, mở cổng mới trên tường lửa trước khi khởi động lại dịch vụ, và kiểm tra kết nối cho người mới. 5 phút đọc Cập nhật 28/08/2026 Phân quyền file thư mục bằng chmod và chown Cách đọc dãy quyền rwx, dùng chmod đổi quyền theo số và chown đổi chủ sở hữu file trên Linux, kèm bảng số quyền hay dùng và cảnh báo chmod 777. 5 phút đọc Cập nhật 27/08/2026 15 lệnh Linux cơ bản cho người mới quản trị VPS Bảng tra 15 lệnh Linux thiết yếu để đi lại trong thư mục, xem và sửa file, kiểm tra tài nguyên và quản lý dịch vụ trên VPS, kèm ví dụ cho người mới. 5 phút đọc Cập nhật 26/08/2026 Kết nối VPS Linux bằng SSH với PuTTY Cách tải PuTTY, nhập IP và cổng, lưu session để lần sau vào nhanh, và đăng nhập VPS Linux lần đầu bằng tài khoản root cho người mới quản trị. 7 phút đọc Cập nhật 25/08/2026 Cài ConfigServer Security and Firewall trên CentOS Cài CSF trên CentOS bằng script install.sh, mở đúng cổng trong csf.conf rồi tắt chế độ Testing. Kèm bảng lệnh chặn và gỡ chặn IP dùng hàng ngày. 8 phút đọc 90 lượt xem Cập nhật 25/08/2026

Làm theo vẫn chưa được?

Gửi yêu cầu hỗ trợ, kỹ thuật xem trực tiếp trên dịch vụ của Anh/Chị.

Gửi yêu cầu hỗ trợ