Fail2ban bảo vệ Linux server khỏi brute-force SSH

Cấu hình Fail2ban cho Linux server: chặn brute-force SSH hiệu quả

Nếu VPS của anh public IP, log SSH gần như lúc nào cũng có bot quét và brute-force. Chỉ mở port và đặt mật khẩu mạnh chưa đủ; anh cần thêm lớp chặn tự động theo hành vi. Fail2ban là lựa chọn rất hiệu quả và nhẹ cho Linux server.

Fail2ban là gì?

Fail2ban đọc log dịch vụ (SSH, Nginx, Apache…) và tự động ban IP có nhiều lần đăng nhập/thao tác lỗi vượt ngưỡng. Nhờ vậy, server giảm đáng kể brute-force và noise từ bot.

Cài đặt nhanh trên Ubuntu/Debian

sudo apt update
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban --no-pager

Cấu hình cơ bản cho SSH

# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h

Với cấu hình này, IP sai 5 lần trong 10 phút sẽ bị ban 1 giờ. Anh có thể tăng bantime cho server bị scan mạnh.

Lệnh vận hành quan trọng

sudo fail2ban-client status
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip 1.2.3.4

Best practices production

  • Kết hợp UFW/iptables để lớp phòng thủ đầy đủ hơn
  • Dùng SSH key thay cho password
  • Đổi cổng SSH không thay thế bảo mật, chỉ giảm noise
  • Thiết lập whitelist IP quản trị nếu có thể

Troubleshooting nhanh

  • Fail2ban không ban IP: kiểm tra logpath/backend
  • Ban nhầm user thật: giảm strict hoặc unban thủ công
  • Service fail sau chỉnh config: chạy test config trước restart
sudo fail2ban-client -t
sudo systemctl restart fail2ban

Kết luận

Fail2ban là một trong những bước hardening “ít công, hiệu quả cao” cho Linux server. Triển khai đúng giúp anh giảm brute-force rõ rệt và giữ hệ thống ổn định hơn khi exposed ra Internet.

Leave a Comment

Your email address will not be published. Required fields are marked *