在 Rocky Linux 9 上使用 Fail2ban 限制 SSH 登入次數的完整設置指南


在 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 配置文件

  1. 設定檔位於 /etc/fail2ban 中。基本配置位於jail.conf 中。但是,如果您想進行更改,請建立jail.local。 Fail2ban 的配置使得jail.local 中的設定覆蓋jail.conf 中的設定
   sudo nano /etc/fail2ban/jail.local
  1. 在文件中找到 [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 小時)。 你可以根據需要調整 maxretrybantime 的值。
  1. 開啟透過電子郵件通知 action = %(action_mw)s
  2. 保存文件並關閉編輯器。

步驟 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 登入次數,提高系統的安全性。


WordPress Appliance - Powered by TurnKey Linux