使用fail2ban预防被挖洞的笔记

本文详细介绍了如何安装及配置Fail2Ban防火墙,包括设置邮件通知功能,以实现对HTTP 404错误的自动封禁和警报。通过修改配置文件,启用特定过滤器,设置邮件发送参数,确保网站安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.youkuaiyun.com/dorisnzy/article/details/82926067

1、安装fail2ban:

yum -y install epel-release

yum -y install fail2ban

2、配置fail2ban:

修改/etc/fail2ban/jail.conf

[default]
destemail = abc@def.com
sender = nginx-1@def.com
#这里需要修改发送和接收邮件的邮箱

[nginx-get-404]
enabled = true
port = http,https
filter = nginx
action = iptables[name=nginx, port=http, protocol=tcp]
         %(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]
#这里增加了邮件通知
logpath = /var/log/nginx/access.log
bantime = 3600
findtime = 60
maxretry = 5

增加/etc/fail2ban/filter.d/nginx.conf

[Definition]
failregex = <HOST> -.*- .*HTTP/1.* 404 .*$
ignoreregex = <HOST> -.*- .*GET /www/common/.*$
#ignoreregex是忽略的地址,防止因页面代码写的不好引发的错判,如果不需要可以留空

修改/etc/postfix/mail.cf

主要是修改releyhost = 10.0.30.1

本身有内部邮件的smtp转发服务器

3、检查fail2ban规则

fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/nginx.conf /etc/fail2ban/filter.d/nginx.conf --print-all-match --print-all-ignore

注意:上面有2次用到/etc/fail2ban/filter.d/nginx.conf,是因为我配置了ignoreregex的内容

4、启动fail2ban和postfix

service postfix restart
service fail2ban restart

5、检查fail2ban

fail2ban-client status

fail2ban-client status ngixn-get-404

分别检查的是fail2ban的总开关状态,和其中nginx-get-404功能的扫描状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值