快捷搜索:   nginx

LInux Apache安全设置使免受DDOS攻击的mod_evasive

让Apache免受DDOS的mod_evasive
# cd /usr/local/src
# wget
# tar xzvf mod_evasive_1.10.1.tar.gz
# cd mod_evasive
# /usr/local/apache/bin/apxs -i -a -c mod_evasive20.c

模块就自动编译安装进 /usr/local/apache/modules,
自动在httpd.conf里添加
LoadModule evasive20_module modules/mod_evasive20.so

手工在httpd.conf 里添加一些配置:
<IfModule mod_evasive20.c>
#记录和存放黑名单表大小,如果服务器访问量很大,加大该值
DOSHashTableSize 3097

#同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中。
DOSPageCount 3

#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
DOSSiteCount 40

#设置DOSPageCount中时间长度标准,默认值为1。
DOSPageInterval 2

#DOSSiteInterval 2 设置DOSSiteCount中时间长度标准,默认值为1。
DOSSiteInterval 2

#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
DOSBlockingPeriod 10

#设置受到攻击时接收攻击信息提示的邮箱地址。
DOSEmailNotify

#受到攻击时Apache运行用户执行的系统命令
DOSSystemCommand "su - someuser -c ‘/sbin/&hell; %s &hell;’"

#攻击日志存放目录
DOSLogDir "/var/log/mod_evasive"

#进入信任ip名单的ip它们将不会受到阻止,其功能主要是用于保护软件,scripts,本地搜索,或其它的自动工具对服务器进行大量的资源请求 时不会被阻止.请确认而不是用在添加客户或其它什么类别的人员,因为这将给本模块进行正常工作带来阻碍信任ip名单应在apache配置文件中添加如下格 式的字段(可以是ip段)
DOSWhitelist 127.0.0.1
DOSWhitelist 127.0.0.*
#ip地址后三段可以使用通配符,并且可以各格式复用
</IfModule>

测试–在mod_evasive20目录下,执行
#perl test.pl

看到类似于下面的提示

HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
就ok了
如果提示connection refused
就修改test.pl 里面的 127.0.0.1 为你本机用的ip

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论