主机测评论坛

 找回密码
 立即注册
查看: 1130|回复: 0

Fail2Ban封禁SSH爆破\扫描CC攻击等操作

[复制链接]

30

主题

48

帖子

255

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
255
发表于 2022-1-31 11:30:51 | 显示全部楼层 |阅读模式
fff没有?那就安装一个:
apt-get -y install fail2ban


有几个数值需要自己修改“port=22”如果你的SSH端口不是22的话改成你对应的值
“# 最多...”# 禁止...”这样的含义可以视为注释,前面对应的数值可以自己修改。
修改好自己的值后拷贝修改的文本直接终端黏贴就可以了
  • #配置参数
  • fail2ban="/etc/fail2ban/jail.d/sshd.local"
  • cat>"${fail2ban}"<<eof
  • [ssh-iptables]
  • enabled  = true
  • filter   = sshd
  • action   = iptables[name=SSH, port=22, protocol=tcp]
  • logpath  = /var/log/auth.log   # 如果是Centos路径要改/var/log/secure这个
  • maxretry = 9   # 最多连接9次失败
  • bantime  = 777600   # 禁止9天(按秒单位1天86400)
  • #阻止恶意扫描
  • [nginx-dir-scan]
  • enabled = true
  • filter = nginx-dir-scan
  • action   = iptables[name=nginx-dir-scan, port=443, protocol=tcp]
  • logpath = /path/to/nginx/access.log
  • maxretry = 1   # 最多扫描1次
  • bantime = 777600   # 禁止9天(按秒单位1天86400)
  • findtime  = 300
  • #防CC攻击
  • [nginx-cc]
  • enabled = true
  • port = http,https
  • filter = nginx-cc
  • action = %(action_mwl)s
  • maxretry = 20   # 最多C20次
  • findtime = 60
  • bantime = 777600   # 禁止9天(按秒单位1天86400)
  • logpath = /usr/local/nginx/logs/access.log
  • #防vsftpd攻击规则
  • [vsftpd-notification]
  • enabled = true
  • filter = vsftpd
  • action = sendmail-whois[name=VSFTPD, dest=you@example.com]
  • logpath = /var/log/vsftpd.log
  • maxretry = 5   # 最多5次
  • bantime = 777600   # 禁止9天(按秒单位1天86400)
  • [vsftpd-iptables]
  • enabled = true
  • filter = vsftpd
  • action = iptables[name=VSFTPD, port=ftp, protocol=tcp]
  •            sendmail-whois[name=VSFTPD, dest=you@example.com]
  • logpath = /var/log/vsftpd.log
  • maxretry = 5   # 最多5次
  • bantime = 777600   # 禁止9天(按秒单位1天86400)
  • EOF





检查上面无误后开启

  • #覆写&启动&开机启动
  • cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/sshd.local
  • #先暂停#启动&开机自启
  • systemctl stop fail2ban
  • systemctl start fail2ban.service
  • systemctl enable fail2ban.service


  • #fail2ban日志 开机自删+定时删日志
  • logdelete="./fail2banlogdelete.sh"
  • cat>"${logdelete}"<<eof
  • #!/bin/bash
  • find /path/to/nginx/ -mtime +15 -name "*.log" | xargs -i mv {} /root/RecycleBin/;
  • find /usr/local/nginx/logs/ -mtime +15 -name "*.log" | xargs -i mv {} /root/RecycleBin/;
  • find /var/log/ -mtime +15 -name "*.log" | xargs -i mv {} /root/RecycleBin/;
  • find /root/RecycleBin/ -name "*.log" -exec rm -rf {} ;
  • EOF
  • cp ./fail2banlogdelete.sh /etc/init.d/
  • #读挡并赋予权限
  • chmod +777 /etc/init.d/fail2banlogdelete.sh
  • update-rc.d ./fail2banlogdelete.sh defaults 90
  • cd
  • (echo "0 0 */15 * * bash /etc/init.d/fail2banlogdelete.sh >>/dev/null 2>&1" ; crontab -l )| crontab
  • cd



相关命令与systemctl 相似

  • #启动
  • systemctl start fail2ban
  • #停止
  • systemctl stop fail2ban
  • #开机启动
  • systemctl enable fail2ban
  • #状态
  • systemctl status fail2ban
  • #开机关闭
  • systemctl  disable fail2ban
  • #查看被ban IP,其中sshd为名称,比如上面的[wordpress]
  • fail2ban-client status sshd
  • #删除被ban IP
  • fail2ban-client set sshd delignoreip X.X.X.X
  • #查看日志
  • tail /var/log/fail2ban.log


检验方法:
直接重启呼出TOP 或者HTOP检查是否有此项
AA.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|主机测评论坛

GMT+8, 2022-8-19 10:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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