简单防DOS***模块
mod_doserasive是apache的第三方模块即判断一段时间内某个ip访问的次数是否过快如果过快就返回403错误
1.该模块的安装配置如下
[root@localhost tar xf mod_evasive_1.10.1.tar\(1\).gz
[root@localhost ~]# cd mod_evasive

[root@localhost mod_evasive]# /usr/local/apache/bin/apxs -i -a -c mod_evasive20.c


182208631.png
*注 安装模块时出现如上错误别担心使用apxs需要安装perl因为apxs使用的perl脚本。 接下来装perl

安装好后必须修改apxs文件因为他的第一行还是#!/replace/with/path/to/perl/interpreter -w #!/replace/with/path/to/perl/interpreter这个文件是不存在的当然不能运行。

第一行修改成#!/usr/bin/perl -w保存就行了。记得重启服务器哈

建议还是先安装perl再编译安装apache这样方便些不会太麻烦。


2.修改配置文件
[root@localhost modules]# vim /usr/local/apache/conf/httpd.conf
增加如下行
<IfModule mod_evasive20.so>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 360
</IfModule>

检查配置文件的语法的正确性

182329552.png


频繁刷新会出现以下情况

182356971.png

3.下面介绍参数含义
DOSHashTableSize 用于定义哈希表大小
DOSPageCount 用于设置客户机的最大并发连接
DOSSiteCount 用于设置客户机访问同一页的间隔
DOSPageInterval 用于设置网页访问技术器间隔
DOSSiteInterval 用于设置加入黑名单后拒绝访问时间
DOSEmailNotify 当有ip加入时通知管理员
DOSSystemCommand 当有Ip加入执行的系统命令
DOSLogDir ”/tmp" 锁定机制临时目录
DOSWhiteList 127.0.0.1 防范报名单不阻止白名单ip