使用 Debian 這麼久,影響最深的小軟體莫過于 fail2ban 了。對多數伺服器而已,對外開放的服務中,風險相對較高的莫過于 SSH 服務了, fail2ban 是一個輕量、有效、便捷的保護伺服器免受暴力攻擊的工具。 Fail2ban 使用 iptables 來阻止攻擊者。
Fail2ban 的安裝非常簡單。Debian 及衍生版,可以直接從軟體源安裝:
apt-get install fail2ban
複制
安裝結束後便進入可用狀态,預設的設定就足夠使用了。這就是 Debian 的風格,不需要不必要的人工幹預,在不知不覺中就提升了你的效率。我們還是來看一下 fail2ban 的配置檔案 /etc/fail2ban/jail.conf ,
預設區段如下:
[DEFAULT]
ignoreip = 127.0.0.1/8 #IP白名單
bantime = 600 #封禁時間秒,預設是10分鐘
maxretry = 3 #最大重試次數,子項未設定時以此為準
複制
SSH 區段如下:
[ssh]
enabled = true #啟用開關
port = ssh #保護端口,預設SSH為22
filter = sshd #預設即可
logpath = /var/log/auth.log #日志位置,預設即可
maxretry = 6 #最大重試次數
複制
如果調整了 fail2ban 的配置,需要重新開機服務生效,通用的方法都支援,
/etc/init.d/fail2ban restart
#或者用 systemctl
systemctl restart fail2ban
複制
fail2ban 的管理維護,可以通過以下指令操作,
fail2ban-client status
複制
需要檢視 sshd 封禁情況可以運作:
fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| - File list: /var/log/auth.log - Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
複制
一般針對 OpenSSH 的加強,還可以修改預設的 22 号端口,并且禁止使用 root 帳号遠端登入;有了 fail2ban,系統安全系數會明顯提高。