Fail2ban过滤规则分享:综合防范暴力破解和恶意请求
创作时间:
作者:
@小白创作中心
Fail2ban过滤规则分享:综合防范暴力破解和恶意请求
引用
CSDN
1.
https://blog.csdn.net/cpublic/article/details/139871266
Fail2ban是Linux服务器安全管理中常用的工具,主要用于通过监控日志文件来防止暴力破解和恶意请求。本文分享了一个综合性的Fail2ban过滤规则,可以有效防范暴力破解和恶意骚扰请求。
今天分享给大家的这个过滤规则比较具有综合性,能防范暴力破解又能屏蔽拦截恶意骚扰请求。尤其值得一提的是,该规则能够对xmlrpc.php的访问进行过滤,允许来自安卓WordPress客户端的请求,同时对于那些使用随机伪装UA的请求拦截效果也非常的好。
规则代码
[Definition]
failregex = ^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+XDEBUG.+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+GponForm.+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+phpunit.+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+ajax-index\.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+sellers\.json .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+adminer\.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+wp-configuration\.php.+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+ThinkPHP.+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+wp-config.+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+dede\/login\.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+plus\/recommend\.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+e\/install\/index.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+m\/e\/install\/index\.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+e_bak\/install\/index.php .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+\.aspx .+$
^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) .+\.act .+$
^<HOST>.*] "(GET|POST|HEAD) .*xmlrpc\.php.*
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.Mozilla/5\.0 \(Windows NT 6\.1\; rv\:60\.0\) Gecko\/20100101 Firefox\/60\.0.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.Photon.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.Mozilla\/5\.0 zgrab\/0\.x.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.XTC.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.python-requests.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.bidswitchbot.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.Google-adstxt.*"$
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.Apache-HttpClient.*"$
^<HOST>.*] "POST .*HTTP\/1\.1.*
^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.1.*"*.Go-http-client\/1\.1.*"$
^<HOST> .* ".*\\x.*" .*$
^<HOST> -.*"(GET|POST|HEAD) .+wp-login\.php .*HTTP\/1\.1.*
^<HOST> -.*"(GET|POST|HEAD) .*wp-includes/wlwmanifest.xml .*HTTP\/1\.1.*
ignoreregex = ^<HOST>.*] "POST /xmlrpc\.php\?for=wpandroid*
^<HOST>.*] "POST /wp-cron\.php\?doing_wp_cron=.*
datepattern = {^LN-BEG}%%ExY(?P<_sep>[-/.])%%m(?P=_sep)%%d[T ]%%H:%%M:%%S(?:[.,]%%f)?(?:\s*%%z)?
^[^\[]*\[({DATE})
{^LN-BEG}
规则说明
failregex = ^<HOST>.*] "(GET|POST|HEAD) .*xmlrpc\.php.*
ignoreregex = ^<HOST>.*] "POST /xmlrpc\.php\?for=wpandroid*
上述两条规则就是防止Wordpress xmlrpc攻击的规则,并且让WordPress fo android客户端正常访问工作。
failregex = ^<HOST> .* ".*\\x.*" .*$
这个规则防止URL中的特殊字符攻击的,可以过滤掉如下这样的访问记录:
185.202.1.188 - - [23/Jun/2020:08:18:33 +0800] "\u0003\u0000\u0000/*\u00E0\u0000\u0000\u0000\u0000\u0000Cookie: mstshash=Administr" 400 157 "-" "-"
不知道您见没见到过这样的访问记录,反正明月是真的见过不少次了!都是转义符想拦截都不知道到如何下手?嘿嘿,现在可以搞定了。
配置方法
将上面分享的过滤规则单独保存为nginx-custom.conf文件到/etc/fail2ban/filter.d目录下,然后打开/usr/local/nginx/conf/nginx.conf编辑添加这个nginx-custom过滤的拦截条件如下:
[nginx-custom]
enabled = true
port = http,https
filter = nginx-custom
action = iptables-multiport[name=BadBots, port="http,https"]
logpath = /home/wwwlogs/*.log
maxretry = 1
bantime = 86400
然后保存,重启Fail2ban就可以生效进行实时分析拦截了。这个拦截条件有点儿苛刻了,触发一次就屏蔽IP一整天确实够狠,呵呵!
热门推荐
高血圧降不下來?小心是高醛固酮症惹禍!高醛固酮症的成因、診斷、治療
AGI|Transformer自注意力机制超全扫盲攻略,建议收藏!
不同类型的咖啡机冲煮头:你了解多少?
最新变化!投资海外,几个合法渠道
男裤面料哪种最好 男士裤子材质有哪些
解局 | 特朗普能否“杀回”白宫?
如何区分婚前婚后债务
深入了解:循环冷却水系统中不可忽视的水质参数指标
三峡大瀑布旅游全攻略:最佳游览时间、门票价格与交通指南
社保断交后多久可以领失业保险金
不同场合,鞋子怎么搭配?
生物制造行业投资策略深度解析:七大风险与七大机遇
理中汤的功效与作用
关节置换术后皮肤青紫?康复科有妙招
如何设计出简洁易记、独特与众不同的LOGO?五大关键因素解析!
储能电池IEC62477报告测试项目及要求
鼻炎会影响嗅觉吗?三种机制详解
探索梦境中的脑健康信号:揭示帕金森疾病的早期线索
不管卤什么,别只放花椒八角,多放这3味料,肉味浓郁,越煮越香
钢琴如何结合人工智能
刘寄奴:从传统应用到现代研究的中药详解
撸猫手法大揭秘:这四种撸猫手法竟能让猫咪爱上你
荒野大镖客中文设置方法
知识蒸馏技术详解:从基础概念到工作原理
杜甫《咏怀古迹五首·其一》:支离东北风尘际,漂泊西南天地间
书单| “ 16本书加1套方法论 ” 助你修炼逻辑思维,提高80%工作效率
高血压患者如何通过饮食调理控制血压?
注销手机卡里面的话费退哪里?多种处理方式详解
LED灯泡优缺点有哪些?LED灯泡使用时的注意事项
蕲蛇泡酒:中药材搭配秘籍