nginx下使用fail2ban防止网站被CC

Posted 两年十一时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx下使用fail2ban防止网站被CC相关的知识,希望对你有一定的参考价值。

--安装fail2ban
yum install -y epel-release
yum install -y fail2ban


--配置fail2ban
vi /etc/fail2ban/jail.conf
[http-get-dos]
enabled = true
port = http
filter = http-get-dos
logpath = /home/wwwlogs/access.log
maxretry = 100
findtime = 5
bantime = 600
action = iptables[name=HTTP,port=http,protocol=tcp]

/* 参数含义
filter = http-get-dos #--filter.d/http-get-dos.conf 文件名
logpath = /home/wwwlogs/access.log #--需要监控nginx日志log
maxretry = 100 #-- 最多访问100
findtime = 10 #-- 10秒
bantime = 1200 #-- 20分钟
*/

vi /etc/fail2ban/filter.d/http-get-dos.conf
[Definition]
failregex = <HOST> -.*- .*HTTP/1.* .* .*$
ignoreregex =


--配置fail2ban日志
vi /etc/fail2ban/fail2ban.conf
loglevel = WARNING
logtarget = /var/log/fail2ban.log

 

--重启生效
service fail2ban restart


--屏蔽日志
tail -f /var/log/fail2ban.log


--#删除屏蔽
iptables -D f2b-HTTP 1

 

 

--定时清理 nginx / fail2ban 日志

vi /root/scripts/del_cc_log.sh
#! /bin/bash

cat /dev/null > /home/wwwlogs/access.log
cat /dev/null > /var/log/fail2ban.log

 

crontab -e
30 3 * * 0 sh /root/scripts/del_cc_log.sh


--开启crontab
/etc/init.d/crond start

chkconfig --list|grep crond

 

 

--屏蔽ssh探测
vi /etc/fail2ban/jail.conf

[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 10
bantime = 144000

 


--#删除屏蔽
iptables -D f2b-SSH 1














































以上是关于nginx下使用fail2ban防止网站被CC的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7安装Fail2Ban防止SSH被暴力破解

fail2ban-防止用户暴力破解ssh工具

CentOS 7安装fail2ban+Firewalld防止SSH爆破

Fail2ban

服务器网站安全维护之nginx安全设置篇

fail2ban+nginx