如何在Ubuntu 20.04上安裝和配置Fail2ban


本文介紹如何在Ubuntu 20.04上安裝和配置Fail2ban。
1、Fail2ban軟件包包含在默認的Ubuntu 20.04存儲庫中。要安裝它,請以root或具有sudo特權的用戶身份輸入以下命令:
sudo apt update
sudo apt install fail2ban
安裝完成后,Fail2ban服務將自動啟動。您可以通過檢查服務狀態來驗證它:
sudo systemctl status fail2ban
至此,您已在Ubuntu服務器上運行Fail2Ban。
2、Fail2ban配置
默認的Fail2ban安裝帶有兩個配置文件,/etc/fail2ban/jail.conf和/etc/fail2ban/jail.d/defaults-debian.conf。不建議修改這些文件,因為更新軟件包時它們可能會被覆蓋。
Fail2ban按以下順序讀取配置文件。每個.local文件都會覆蓋文件中的設置.conf:
/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf
/etc/fail2ban/jail.local
/etc/fail2ban/jail.d/*.local
對於大多數用戶來說,配置Fail2ban的最簡單方法是將復制jail.conf到jail.local並修改.local文件。更高級的用戶可以.local從頭開始構建配置文件。該.local文件不必包括相應.conf文件中的所有設置,僅包括您要覆蓋的設置。
.local從默認jail.conf文件創建配置文件:
sudo cp /etc/fail2ban/jail.{conf,local}
要開始將Fail2ban服務器配置為打開,jail.local請使用文本編輯器打開該文件:
sudo cp /etc/fail2ban/jail.local
該文件包含描述每個配置選項功能的注釋。在此示例中,我們將更改基本設置。
3、將IP地址列入白名單
您可以將要排除的IP地址,IP范圍或主機添加到ignoreip指令中。在這里,您應該添加您的本地PC IP地址以及您要列入白名單的所有其他計算機。
取消以開頭的行的注釋,ignoreip並添加IP地址(以空格分隔):
文件:/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24
禁止設置
bantime、findtime和maxretry選項的值定義了禁止時間和禁止條件。
bantime禁止IP的持續時間。如果未指定后綴,則默認為秒。默認情況下,該bantime值設置為10分鍾。通常,大多數用戶會希望設置更長的禁止時間。根據您的喜好更改值:
文件:/etc/fail2ban/jail.local
bantime = 1d
要永久禁止IP,請使用負數。
findtime是設置禁令前的失敗次數之間的持續時間。例如,如果將Fail2ban設置為在5次失敗之后禁止IP(maxretry請參見下文),則這些失敗必須在findtime持續時間內發生。
文件:/etc/fail2ban/jail.local
findtime = 10m
maxretry是禁止IP之前的失敗次數。默認值設置為5,這對於大多數用戶來說應該沒問題。
文件:/etc/fail2ban/jail.local
maxretry = 5
郵件通知
當IP被禁止時,Fail2ban可以發送電子郵件警報。要接收電子郵件,您需要在服務器上安裝SMTP並更改默認操作,該操作僅將IP禁止為%(action_mw)s,如下所示:
文件:/etc/fail2ban/jail.local
action = %(action_mw)s
%(action_mw)s將禁止違規的IP,並發送包含Whois報告的電子郵件。如果要在電子郵件中包含相關日志,請將操作設置為%(action_mwl)s。
您還可以調整發送和接收電子郵件地址:
文件:/etc/fail2ban/jail.local
destemail = admin@linuxize.com
sender = root@linuxize.com
4、Fail2ban Jails
Fail2ban使用Jails的概念。Jails描述了一項服務,其中包括過濾器和操作。對符合搜索模式的日志條目進行計數,並在滿足預定義條件時執行相應的操作。
Fail2ban附帶有許多用於不同服務的Jails。您還可以創建自己的Jails配置。
默認情況下,僅啟用ssh Jails。要啟用Jails,您需要enabled = true在Jails標題后添加。以下示例顯示了如何啟用proftpd Jails:
文件:/etc/fail2ban/jail.local
[proftpd]

port = ftp,ftp-data,ftps,ftps-data
logpath = %(proftpd_log)s
backend = %(proftpd_backend)s
我們在上一節中討論的設置可以按Jails設置。這是一個例子:
文件:/etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
findtime = 1d
bantime = 4w
ignoreip = 127.0.0.1/8 23.34.45.56
篩選器位於/etc/fail2ban/filter.d目錄中,並存儲在與Jails名稱相同的文件中。如果您具有自定義設置並且對正則表達式有經驗,則可以對過濾器進行微調。
每次編輯配置文件時,都需要重新啟動Fail2ban服務以使更改生效:
sudo systemctl restart fail2ban
5、Fail2ban客戶端
Fail2ban附帶了一個名為的命令行工具fail2ban-client,可用於與Fail2ban服務進行交互。
要查看所有可用選項,請使用以下選項調用命令-h:
fail2ban-client -h
此工具可用於禁止/取消禁止IP地址,更改設置,重新啟動服務等等。以下是一些示例:
檢查 Jails狀況:
sudo fail2ban-client status sshd
取消IP:
sudo fail2ban-client set sshd unbanip 23.34.45.56
禁止IP:
sudo fail2ban-client set sshd banip 23.34.45.56
我們已經向您展示了如何在Ubuntu 20.04上安裝和配置Fail2ban。

A5互聯https://www.a5idc.net/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM