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