找回密码
立即注册
搜索
发新帖

587

积分

0

好友

86

主题
发表于 2024-3-17 14:28:10 | 查看: 385| 回复: 0
chrome_C1NCkDxyng.png

Fail2Ban 是一个广泛使用的工具,用于检测恶意登录尝试和其他异常活动,并自动封锁攻击者的IP地址。您可以配置它来检测过多的连接请求,然后暂时封锁来自恶意IP地址的访问。

安装与启动
Debian/Ubuntu安装
apt update -y && apt install -y fail2ban

CentOS安装
yum update -y
yum install -y epel-release
yum install -y  fail2ban
yum install -y  nano

启动
systemctl start fail2ban

开机自启
systemctl enable fail2ban

查看状态
systemctl status fail2ban


主配置文件
主配置文件创建本地副本
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

编辑本地副本
nano /etc/fail2ban/jail.local

重启服务
systemctl restart fail2ban

SSH防御 防止暴力破解
rm -rf /etc/fail2ban/jail.d/*
nano /etc/fail2ban/jail.d/sshd.local

插入以下文本
[sshd]
enabled = truemode   = normalbackend = systemd
重启服务
systemctl restart fail2ban

查看封锁列表
fail2ban-client status

查看SSH封锁情况
fail2ban-client status sshd

网站防御
采用科技lion的LDNMP建站方案可以使用该防御

删除之前nginx容器
docker rm -f nginx

部署新容器我们把log映射出来
docker run -d --name nginx --restart always --network web_default -p 80:80 -p 443:443 -v /home/web/conf.d:/etc/nginx/conf.d -v /home/web/certs:/etc/nginx/certs -v /home/web/html:/var/www/html -v /home/web/log/nginx:/var/log/nginx nginx

开启目录权限
docker exec -it nginx chmod -R 777 /var/www/html

开启NGINX速率限制
docker exec -it nginx sh -c "sed -i '/http {/a \    limit_req_zone \$binary_remote_addr zone=example_zone:10m rate=1r/s;' /etc/nginx/nginx.conf"

重启nginx
docker restart nginx

创建网站拦截规则
nano /etc/fail2ban/jail.d/nginx.local

插入规则
[nginx-http-auth]
enabled = true
mode = fallback
port = http,https
logpath = /home/web/log/nginx/access.log

[nginx-limit-req]
enabled = true
port    = http,https
logpath = /home/web/log/nginx/access.log

[nginx-botsearch]
enabled = true
port     = http,https
logpath = /home/web/log/nginx/access.log

[nginx-bad-request]
enabled = true
port    = http,https
logpath = /home/web/log/nginx/access.log

[php-url-fopen]
enabled = true
port    = http,https
logpath = /home/web/log/nginx/access.log

重启服务
systemctl restart fail2ban

查看nginx封锁情况
fail2ban-client status nginx-http-auth

查看总日志
tail -f /var/log/fail2ban.log

卸载
systemctl disable fail2ban
systemctl stop fail2ban
apt remove -y --purge fail2ban
find / -name "fail2ban" -type d
rm -rf /etc/fail2ban
您需要登录后才可以回帖 登录 | 立即注册

QQ群:193157782|Blog|AzerothCore|AC zhCN Linktrees ( 苏ICP备2023024864号-2 )

GMT+8, 2024-12-22 00:49 , Processed in 0.043473 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表