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

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

先決條件

  • RHEL8系統
  • 用戶的 sudo 功能

安裝 Fail2ban

對於 RHEL 8,Fail2ban 可從企業 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 服務的狀態以確保它當前處於活動狀態。

根據 qq 您將返回到命令提示符。

配置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 分鐘。您可以根據需要更改此設置。例如,1 小時表示 1 小時。 如果不指定 m 或 h,則該值以秒為單位。

保存並關閉 sshd.local 文檔。

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

$ sudo systemctl restart fail2ban

測試 Fail2ban

為了說明這一點,通過 ssh 從另一台計算機開始嘗試登錄 RHEL8 系統失敗。你也可以做到的。

失敗的登錄嘗試記錄在 /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 次禁令 發現你可以用它做什麼。