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 的阻止,請運行以下命令:交換
$ sudo fail2ban-client set sshd unbanip <IP>
結論是
本教程介紹了安裝 Fail2ban 和配置 sshd 過濾器。
有很多選項可以配置,但這裡我們將重點介紹基礎知識。隨意通過運行閱讀 Fail2ban 手冊頁。 男子未通過 2 次禁令 發現你可以用它做什麼。