Fail2ban的安裝和使用

1. 簡介

CentOS 中使用fail2banfirewalld限制IP攔截cc攻擊

2. 安裝和啟動(dòng)

  • 安裝
$ yum -y install fail2ban

安裝后可以使用以下命令查看版本

$ fail2ban-client -V
$ fail2ban-server -V

顯示如下

Fail2Ban v0.9.7
Copyright (c) 2004-2008 Cyril Jaquier, 2008- Fail2Ban Contributors
Copyright of modifications held by their respective authors.
Licensed under the GNU General Public License v2 (GPL).

Written by Cyril Jaquier cyril.jaquier@fail2ban.org.
Many contributions by Yaroslav O. Halchenko debian@onerussian.com.

  • 停止
$ systemctl stop fail2ban
  • 啟動(dòng)
$ systemctl start fail2ban
  • 重啟
$ systemctl restart fail2ban
  • 開機(jī)啟動(dòng)
$ systemctl enable fail2ban

3. 配置

fail2ban安裝后有兩個(gè)程序香追,fail2ban-serverfail2ban-client,對應(yīng)的主配置文件是fail2ban.confjail.conf。本次主要是修改 fail2ban-client配置蛤签。

fail2ban.conf配置文件都是可以被.local覆蓋锌历,所以配置方式建議是添加.local文件受扳,不修改原來的配置文件鞋真。

  • jail.local 配置
$ vim /etc/fail2ban/jail.local

添加默認(rèn)配置

[DEFAULT]
ignoreip = 127.0.0.1/8
bantime  = 86400
findtime = 600
maxretry = 5
banaction = firewallcmd-ipset
action = %(action_mwl)s

配置說明

ignoreip:白名單均函,不攔截螟凭,多個(gè)使用,分隔
bantime:攔截后禁止訪問的時(shí)間虚青,單位:秒
findtime:檢查的時(shí)間訪問,單位:秒
maxretry:最大失敗次數(shù), 在檢查時(shí)間內(nèi)達(dá)到次數(shù)就攔截
banaction:屏蔽ip的方法赂摆,firewallcmd-ipset使用fiewallld屏蔽

  • 添加nginx攔截規(guī)則
$ vim /etc/fail2ban/filter.d/nginx-cc.conf

配置如下

[Definition]
failregex = <HOST> -.*- .*HTTP/1.* .* .*$
ignoreregex =

配置說明

failregex :攔截的正則規(guī)則, 可以使用 <HOST> 匹配主機(jī)名和IP地址挟憔; <HOST> 是正則表達(dá)式 (?:::f{4,6}:)?(?P<host>\S+)的別名

  • 添加nginx-cc配置到jail.local中

jail.local中添加配置

[nginx-cc]
enabled = true
port = http,https
filter = nginx-cc
action = %(action_mwl)s
maxretry = 200
findtime = 10
bantime = 86400
# 說明注釋
logpath = /var/log/nginx/access.log

以上配置是檢查 “20秒之內(nèi)訪問次數(shù)達(dá)到200次就攔截該IP”。其它的配置說明如下:

enabled :是否開啟檢測
port:檢查的端口
maxretry:最大失敗次數(shù), 在檢查時(shí)間內(nèi)達(dá)到次數(shù)就攔截
bantime:攔截后禁止訪問的時(shí)間烟号,單位:秒
findtime:檢查的時(shí)間訪問绊谭,單位:秒
logpath: 掃描的日志文件,fail2ban按行掃描此文件汪拥,根據(jù)filter規(guī)則匹配失敗的項(xiàng)目并統(tǒng)計(jì)

注意: 配置文件文件可以換行添加注釋达传,但是不能在配置項(xiàng)后面跟注釋,例如以下的注釋是不允許的,failban會(huì)檢查配置無效宪赶,將 bantime設(shè)置成None宗弯。

bantime = 86400 # 這里不能寫注釋
  • 加載配置

重載配置是其生效

$ fail2ban-client reload

4. 其它命令

  • 查看攔截狀態(tài)
$ fail2ban-client status nginx-cc

結(jié)果如下, Banned IP list就是被攔截的IP

Status for the jail: nginx-cc
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     100
|  `- File list:        /var/log/nginx/access.log
`- Actions
   |- Currently banned: 3
   |- Total banned:     3
   `- Banned IP list:   101.2.2.1 101.2.2.3 101.2.2.4
  • 手動(dòng)攔截IP
$ fail2ban-client set nginx-cc banip 101.2.2.1
  • 解除攔截的IP
$ fail2ban-client set nginx-cc unbanip 101.2.2.1
  • 檢查配置

修改后可以先使用以下命令檢查配置是否有誤

$ fail2ban-client -d
  • 正則規(guī)則檢查
$ fail2ban-regex /var/log/nginx/access.log "<HOST> -.*- .*HTTP/1.* .* .*$"
  • 根據(jù)配置文件檢查
fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/nginx-cc.conf 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搂妻,一起剝皮案震驚了整個(gè)濱河市蒙保,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欲主,老刑警劉巖邓厕,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扁瓢,居然都是意外死亡详恼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門引几,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昧互,“玉大人,你說我怎么就攤上這事伟桅〕ň颍” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵楣铁,是天一觀的道長渐逃。 經(jīng)常有香客問我,道長民褂,這世上最難降的妖魔是什么茄菊? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮赊堪,結(jié)果婚禮上面殖,老公的妹妹穿的比我還像新娘。我一直安慰自己哭廉,他們只是感情好脊僚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遵绰,像睡著了一般辽幌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椿访,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天乌企,我揣著相機(jī)與錄音,去河邊找鬼成玫。 笑死加酵,一個(gè)胖子當(dāng)著我的面吹牛拳喻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猪腕,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冗澈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了陋葡?” 一聲冷哼從身側(cè)響起亚亲,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腐缤,沒想到半個(gè)月后朵栖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柴梆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了终惑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绍在。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雹有,靈堂內(nèi)的尸體忽然破棺而出偿渡,到底是詐尸還是另有隱情,我是刑警寧澤霸奕,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布溜宽,位于F島的核電站,受9級(jí)特大地震影響质帅,放射性物質(zhì)發(fā)生泄漏适揉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一煤惩、第九天 我趴在偏房一處隱蔽的房頂上張望嫉嘀。 院中可真熱鬧,春花似錦魄揉、人聲如沸剪侮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓣俯。三九已至,卻和暖如春兵怯,著一層夾襖步出監(jiān)牢的瞬間彩匕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工媒区, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留推掸,地道東北人桶蝎。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像谅畅,于是被迫代替她去往敵國和親登渣。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355