在 Rocky Linux 9 上使用 Fail2ban 來限制 SSH 登入次數是一個有效的安全措施,可以防止暴力破解攻擊。以下是如何在 Rocky Linux 9 上設置 Fail2ban 來限制 SSH 登入次數的步驟:
步驟 1:安裝 Fail2ban
首先,確保你的系統已安裝 Fail2ban。如果尚未安裝,可以使用以下命令進行安裝:
sudo dnf install epel-release -y
sudo dnf install fail2ban -y
步驟 2:設置 Fail2ban 配置文件
- 設定檔位於 /etc/fail2ban 中。基本配置位於jail.conf 中。但是,如果您想進行更改,請建立jail.local。 Fail2ban 的配置使得jail.local 中的設定覆蓋jail.conf 中的設定
sudo nano /etc/fail2ban/jail.local
- 在文件中找到
[sshd]
部分。如果不存在,可以在文件末尾添加以下配置來定義 SSH 服務的設置:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 3600
enabled = true
: 啟用這個 Fail2ban 規則。port = ssh
: 指定要監控的 SSH 端口。filter = sshd
: 指定使用的過濾器,通常是預設的sshd
。logpath = /var/log/secure
: 指定 SSH 登錄日誌文件的路徑。maxretry = 3
: 定義在多少次登錄失敗後觸發封禁。bantime = 3600
: 定義封禁的時間(以秒為單位),這裡設置為 3600 秒(1 小時)。 你可以根據需要調整maxretry
和bantime
的值。
- 開啟透過電子郵件通知 action = %(action_mw)s
- 保存文件並關閉編輯器。
步驟 3:重啟 Fail2ban 服務
配置完畢後,重啟 Fail2ban 服務使其生效:
sudo systemctl restart fail2ban
步驟 4:檢查 Fail2ban 狀態
你可以使用以下命令來檢查 Fail2ban 的狀態,確保它正在運行並監控 SSH 登錄:
sudo systemctl status fail2ban
測試 Fail2ban 功能
測試 Fail2ban 是否正確工作,可以通過多次使用錯誤的 SSH 密碼登錄來觸發封禁。登錄錯誤後,觀察 /var/log/fail2ban.log
文件中的日誌,以查看是否成功封禁 IP 地址。
fail2ban-client命令行指令
fail2ban-client status
fail2ban-client status sshd
fail2ban-client reload //更新設定
fail2ban-client set sshd unbanip 1.1.1.1 // 解除IP
這些步驟將幫助你在 Rocky Linux 9 上設置 Fail2ban 來限制 SSH 登入次數,提高系統的安全性。