在CentOS系统中,使用Apache2作为Web服务器时,可以通过以下几种方法来配置防盗刷:
使用mod_ratelimit模块来限制访问频率。首先确保mod_ratelimit已安装:
sudo yum install mod_ratelimit
然后,在Apache配置文件(例如:/etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf)中添加以下配置:
<IfModule mod_ratelimit.c>
<Location />
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 500
SetEnv rate-initial-burst 50
SetEnv rate-limit-burst 100
</Location>
</IfModule>
上述配置表示每个客户端每分钟最多允许访问500次,初始突发访问量为50次,最大突发访问量为100次。
在Apache配置文件中添加以下配置:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
上述配置表示单个IP在1秒内最多允许访问2次,1分钟内最多允许访问50次。超过限制的IP将被暂时封禁10秒。
Fail2Ban是一个入侵防御软件框架,可以用来禁止恶意IP访问。首先安装Fail2Ban:
sudo yum install fail2ban
然后创建一个新的配置文件(例如:/etc/fail2ban/jail.local),并添加以下内容:
[apache-auth]
enabled = true
filter = apache-auth
action = iptables-multiport[name=Apache, port="http,https", protocol=tcp]
logpath = /var/log/httpd/access_log
maxretry = 3
bantime = 600
上述配置表示禁止在10分钟内尝试登录失败的IP访问网站。
最后,启动Fail2Ban服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
这些方法可以帮助你配置防盗刷策略。你可以根据自己的需求进行调整。