Dù mọi thứ khác đã được khóa chặt, các bot vẫn không ngừng dò mật khẩu vào cổng 22 — đó là tiếng ồn nền và tải liên tục. fail2ban theo dõi log của bạn và tự động ban bất kỳ IP nào đăng nhập thất bại quá nhiều lần, khiến kẻ tấn công bị chặn ngay sau vài lần thử thay vì đoán mãi mãi. Đây là một cài đặt nhỏ nhưng giúp giảm mạnh rác trong log.
1. Cài đặt fail2ban
sudo apt update && sudo apt install -y fail2ban
2. Tạo một cấu hình cục bộ
Đừng bao giờ sửa trực tiếp jail.conf có sẵn — hãy ghi đè nó trong jail.local:
sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
EOF
Cấu hình này sẽ ban một IP trong một giờ sau 5 lần đăng nhập thất bại trong vòng 10 phút. Hãy thêm IP của chính bạn vào ignoreip để một lần gõ nhầm mật khẩu không bao giờ khóa bạn ngoài.
3. Khởi động và bật khi boot
sudo systemctl enable --now fail2ban
4. Kiểm tra jail cho SSH
sudo fail2ban-client status sshd
Bạn sẽ thấy có bao nhiêu IP đang bị ban — thường là một con số đáng ngạc nhiên chỉ sau vài phút.
Quản lý các lệnh cấm
sudo fail2ban-client set sshd unbanip 1.2.3.4 # lift a ban
sudo fail2ban-client status # list all jails
sudo systemctl reload fail2ban # apply config changes
Cảnh báo thành thật
- Thêm IP của chính bạn vào
ignoreipđể những lần gõ nhầm lặp lại không ban chính bạn. Nếu bạn thực sự bị ban, hãy chờ hết bantime hoặc dùng console của nhà cung cấp — EQVPS trang bị console này cho mọi VPS. - fail2ban bổ sung chứ không thay thế SSH key. Key ngăn việc đoán mật khẩu thành công ngay từ đầu; fail2ban ngăn tiếng ồn và bảo vệ cả các dịch vụ khác.
- Tinh chỉnh theo nhu cầu: một
bantimedài hơn sẽ ngăn cản những kẻ tấn công dai dẳng; nhưng quá gắt gao thì bạn có nguy cơ ban nhầm các kết nối hợp lệ nhưng chập chờn.
Bước tiếp theo
fail2ban là một lớp trong một máy chủ được gia cố bảo mật. Hãy kết hợp nó với xác thực bằng SSH key và tường lửa UFW, rồi thực hiện toàn bộ danh sách kiểm tra bảo mật cho VPS mới trước khi phơi bày bất cứ điều gì ra internet.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.