Fail2ban 是適用於 Linux 和其他類 Unix 系統的開源入侵防禦軟件。 Fail2ban 掃描日誌文件以查找失敗的身份驗證嘗試和其他潛在危害指標。防火牆規則可以自動更新,以在預定義的時間段內禁止(阻止)違規 IP 地址。

默認情況下,Fail2Ban 為各種服務提供過濾器,例如 ssh、apache 等。本教程將引導您在 Red Hat Enterprise Linux 8 (RHEL 8) 上安裝 Fail2ban 和配置 ssh 服務過濾器。

先決條件

  • RHEL8系統
  • 用戶的 sudo 能力

安裝 Fail2ban

在 RHEL 8 上,Fail2ban 可從 Extra Packages for Enterprise Linux (EPEL) 存儲庫中獲得。 如果未安裝 EPEL,請運行以下命令:

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

此外,建議啟用 codeready-builder-for-rhel-8-*-rpms 這是因為 EPEL 包可能依賴於存儲庫中的包。為此,請運行以下命令:

$ sudo ARCH=$( /bin/arch )
$ sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"

然後更新可用的軟件包,如下所示。

$ sudo yum update

然後使用以下命令安裝 Fail2ban:

$ sudo dnf install fail2ban

出現提示時,輸入 是的 現在安裝Fail2ban。

安裝成功後,運行以下命令檢查fail2ban服務的狀態:

$ sudo systemctl status fail2ban

如果沒有任何輸出表明 Fail2ban 服務處於活動狀態,請運行以下命令來啟動該服務:

$ sudo systemctl start fail2ban

然後檢查 fail2ban 服務的狀態以確保它現在處於活動狀態。

根據 q 返回命令提示符。

配置Fail2ban

Fail2ban 配置文件存儲在: /etc/fail2ban 你可以這樣列出它:

$ ls /etc/fail2ban

如上所述,Fail2ban 為包括 ssh 在內的常用服務提供過濾器。這些過濾器是 /etc/fail2ban/filter.d 目錄。

Fail2ban 的全局配置文件是 監獄.conf 但是,不建議直接修改此文件,因為它可以在發行版升級期間被覆蓋。代替, 當地監獄 打開文件並在那裡進行全局配置更改。

而且, /etc/fail2ban/jail.d 您要保護的每個服務的目錄。

然後運行以下命令,基於現有的 jail.conf 文件創建一個 jail.local 配置文件。

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

打開 jail.local 文件進行編輯。

$ sudo nano /etc/fail2ban/jail.local

尋找 忽略 IP 刪除選項,刪除前一個並取消註釋 # 象徵。

ignoreip 選項用於指定 Fail2ban 不應阻止的 IP 地址或網絡範圍。默認值為 本地主機 這可以防止系統干擾自身。您可以添加以空格或逗號分隔的其他 IP 地址。

保存並關閉 jail.local 文件。

為 Fail2ban 配置 ssh 過濾器

通過運行以下命令為 ssh 服務創建一個單獨的 jail 文件:

$ sudo nano /etc/fail2ban/jail.d/sshd.local

複製並粘貼以下自定義配置設置 sshd.local 文檔。

[sshd]

enabled = true

maxretry = 3

bantime = 5m

筆記:

最大重試次數 在有問題的 IP 地址被阻止之前的失敗次數。

班泰 有問題的 IP 地址將被阻止多長時間。在上面的示例中,5m 表示 5 分鐘。可以根據需要更改此設置。例如,1h 表示 1 小時。 如果不指定 m 或 h,則該值以秒為單位。

保存並關閉 sshd.local 文檔。

使用以下命令重新啟動 Fail2ban:

$ sudo systemctl restart fail2ban

測試 Fail2ban

為了說明這一點,我通過 ssh 從另一台計算機向 RHEL 8 系統發起失敗的登錄嘗試。你也可以做到的。

失敗的登錄嘗試記錄在 /var/log/fail2ban.log 中,可以使用以下命令實時查看:

$ sudo tail -f /var/log/fail2ban.log

如下圖所示,在 3 次登錄嘗試失敗後,另一台計算機的 IP 地址被禁止。

根據 CTRL + C 返回命令提示符。

要顯示有關 ssh 服務的禁止 IP 地址的信息,請運行以下命令:

$ sudo fail2ban-client status sshd

要取消阻止被禁止的 IP,請運行以下命令:交換 使用您的真實 IP 地址。

$ sudo fail2ban-client set sshd unbanip <IP>

結論是

本教程介紹了安裝 Fail2ban 和配置 sshd 過濾器。

有很多選項可以配置,但我們將在這裡重點介紹基礎知識。隨意運行它並閱讀 Fail2ban 手冊頁。 男人失敗2禁止 發現你可以用它做什麼。