ubuntu使用fail2ban_如何在Ubuntu 20.04上安装和配置Fail2ban
暴露給Internet的任何服務(wù)都有遭受惡意軟件攻擊的風(fēng)險(xiǎn)。 例如,如果您在可公開(kāi)訪問(wèn)的網(wǎng)絡(luò)上運(yùn)行服務(wù),則攻擊者可以使用暴力手段嘗試登錄您的帳戶(hù)。
Fail2ban是一種工具,可通過(guò)監(jiān)視服務(wù)日志中的惡意活動(dòng)來(lái)幫助保護(hù)Linux機(jī)器免受暴力攻擊和其他自動(dòng)攻擊。 它使用正則表達(dá)式來(lái)掃描日志文件。 對(duì)所有與模式匹配的條目進(jìn)行計(jì)數(shù),當(dāng)它們的數(shù)量達(dá)到某個(gè)預(yù)定義的閾值時(shí),Fail2ban會(huì)在特定時(shí)間段內(nèi)使用系統(tǒng)firewall禁止有問(wèn)題的IP。 禁止期限到期后,IP地址將從禁止列表中刪除。
本文介紹了如何在Ubuntu 20.04上安裝和配置Fail2ban。
在Ubuntu上安裝Fail2ban
Fail2ban軟件包包含在默認(rèn)的Ubuntu 20.04存儲(chǔ)庫(kù)中。 要安裝它,請(qǐng)以root用戶(hù)或具有sudo特權(quán)的用戶(hù)身份輸入以下命令:sudo apt update
sudo apt install fail2ban
安裝完成后,Fail2ban服務(wù)將自動(dòng)啟動(dòng)。 您可以通過(guò)檢查服務(wù)狀態(tài)來(lái)驗(yàn)證它:sudo systemctl status fail2ban
輸出將如下所示:● fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-08-19 06:16:29 UTC; 27s ago
Docs: man:fail2ban(1)
Main PID: 1251 (f2b/server)
Tasks: 5 (limit: 1079)
Memory: 13.8M
CGroup: /system.slice/fail2ban.service
└─1251 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
此時(shí),您已在Ubuntu服務(wù)器上運(yùn)行Fail2Ban。
Fail2ban配置
默認(rèn)的Fail2ban安裝帶有兩個(gè)配置文件/etc/fail2ban/jail.conf和/etc/fail2ban/jail.d/defaults-debian.conf。 不建議修改這些文件,因?yàn)楦萝浖鼤r(shí)它們可能會(huì)被覆蓋。
Fail2ban按以下順序讀取配置文件。 每個(gè).local文件都會(huì)覆蓋.conf文件中的設(shè)置:/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf
/etc/fail2ban/jail.local
/etc/fail2ban/jail.d/*.local
對(duì)于大多數(shù)用戶(hù)而言,配置Fail2ban的最簡(jiǎn)單方法是將jail.conf復(fù)制到j(luò)ail.local并修改.local文件。 更高級(jí)的用戶(hù)可以從頭開(kāi)始構(gòu)建.local配置文件。 .local文件不必包括相應(yīng).conf文件中的所有設(shè)置,僅包括您要覆蓋的設(shè)置。
從默認(rèn)jail.conf文件創(chuàng)建一個(gè).local配置文件:sudo cp /etc/fail2ban/jail.{conf,local}
要開(kāi)始為Fail2ban服務(wù)器配置,請(qǐng)使用文本編輯器打開(kāi)jail.local文件sudo nano /etc/fail2ban/jail.local
該文件包含說(shuō)明每個(gè)配置選項(xiàng)功能的注釋。 在此示例中,我們將更改基本設(shè)置。
將IP地址列入白名單
您要排除在外的IP地址,IP范圍或主機(jī)添加到ignoreip指令中。 在這里,您應(yīng)該添加您的本地PC IP地址和您要列入白名單的所有其他計(jì)算機(jī)。
取消注釋以ignoreip開(kāi)頭的行,并添加以空格分隔的IP地址:
/etc/fail2ban/jail.localignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24
禁令設(shè)置
bantime,findtime和maxretry選項(xiàng)的值定義了禁止時(shí)間和禁止條件。
bantime是禁止使用IP的持續(xù)時(shí)間。 如果未指定后綴,則默認(rèn)為秒。 默認(rèn)情況下,bantime值設(shè)置為10分鐘。 通常,大多數(shù)用戶(hù)都希望設(shè)置更長(zhǎng)的禁止時(shí)間。 根據(jù)您的喜好更改值:
/etc/fail2ban/jail.localbantime = 1d
要永久禁止IP,請(qǐng)使用負(fù)數(shù)。
findtime是設(shè)置禁令前的失敗次數(shù)之間的持續(xù)時(shí)間。 例如,如果將Fail2ban設(shè)置為在五次失敗之后禁止IP(maxretry,請(qǐng)參見(jiàn)下文),則這些失敗必須在findtime持續(xù)時(shí)間內(nèi)發(fā)生。
/etc/fail2ban/jail.localfindtime = 10m
maxretry是禁止IP之前失敗的次數(shù)。 默認(rèn)值設(shè)置為5,對(duì)于大多數(shù)用戶(hù)來(lái)說(shuō)應(yīng)該可以。
/etc/fail2ban/jail.localmaxretry = 5
電子郵件通知
Fail2ban可以在IP被禁止時(shí)發(fā)送電子郵件警報(bào)。 要接收電子郵件,您需要在服務(wù)器上安裝SMTP并更改默認(rèn)操作,該操作僅將IP禁止為%(action_mw)s,如下所示:
/etc/fail2ban/jail.localaction = %(action_mw)s
%(action_mw)s禁止有問(wèn)題的IP,并發(fā)送包含Whois報(bào)告的電子郵件。 如果要在電子郵件中包含相關(guān)日志,請(qǐng)將操作設(shè)置為%(action_mwl)s。
您還可以調(diào)整發(fā)送和接收電子郵件地址:
/etc/fail2ban/jail.localdestemail = admin@myfreax.com
sender = root@myfreax.com
Fail2ban Jails
Fail2ban使用Jails的概念。 Jails描述了一項(xiàng)服務(wù),其中包括過(guò)濾器和操作。 計(jì)算與搜索模式匹配的日志條目,并在滿(mǎn)足預(yù)定條件時(shí)執(zhí)行相應(yīng)的操作。
Fail2ban附帶許多用于不同服務(wù)的Jails。 您還可以創(chuàng)建自己的Jails配置。
默認(rèn)情況下,僅啟用ssh Jails。 要啟用Jails,您需要在Jails標(biāo)題后添加enabled = true。 以下示例顯示了如何啟用proftpd Jails:
/etc/fail2ban/jail.local[proftpd]
port = ftp,ftp-data,ftps,ftps-data
logpath = %(proftpd_log)s
backend = %(proftpd_backend)s
我們?cè)谏弦还?jié)中討論的設(shè)置可以針對(duì)每個(gè)Jails進(jìn)行設(shè)置。 這是一個(gè)例子:
/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目錄中,存儲(chǔ)在與Jails名稱(chēng)相同的文件中。 如果您具有自定義設(shè)置并具有使用正則表達(dá)式的經(jīng)驗(yàn),則可以微調(diào)過(guò)濾器。
每次編輯配置文件時(shí),都需要重新啟動(dòng)Fail2ban服務(wù)才能使更改生效:sudo systemctl restart fail2ban
Fail2ban客戶(hù)端
Fail2ban附帶了一個(gè)名為fail2ban-client的命令行工具,可用于與Fail2ban服務(wù)進(jìn)行交互。
要查看所有可用選項(xiàng),請(qǐng)使用-h選項(xiàng)調(diào)用命令:fail2ban-client -h
此工具可用于禁止/取消禁止IP地址,更改設(shè)置,重新啟動(dòng)服務(wù)等等。 以下是一些示例:
檢查Jails狀況:sudo fail2ban-client status sshd
取消IP權(quán)限:sudo fail2ban-client set sshd unbanip 23.34.45.56
禁止IP:sudo fail2ban-client set sshd banip 23.34.45.56
結(jié)論
我們向您展示了如何在Ubuntu 20.04上安裝和配置Fail2ban。
有關(guān)此主題的更多信息,請(qǐng)?jiān)L問(wèn)Fail2ban文檔。
如果您有任何疑問(wèn),請(qǐng)隨時(shí)在下面發(fā)表評(píng)論。
總結(jié)
以上是生活随笔為你收集整理的ubuntu使用fail2ban_如何在Ubuntu 20.04上安装和配置Fail2ban的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 添加cacti监控_小水谈监控---Ca
- 下一篇: tomcat7 https 拒绝连接_U