在FreeBSD上使用mod_evasiv对抗DDos攻击

cd /usr/ports/www/mod_evasive
make install clean
vi /usr/local/etc/apache2/httpd.conf
LoadModule evasive20_module   libexec/apache2/mod_evasive20.so
<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        5
    DOSSiteCount        10
    DOSPageInterval     2
    DOSSiteInterval     2
    DOSBlockingPeriod   360
    DOSEmailNotify [email protected]itkylin.com
    DOSLogDir “/var/log/http/mod_evasive”
    DOSWhiteList 192.168.30.*
</IfModule>
:wq
mkdir /var/log/http/mod_evasive
chown -R www:www /var/log/http/mod_evasive

参数简单说明:
DOSHashTableSize 3097 记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
DOSPageCount 5 同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置。
DOSSiteCount 10 同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
DOSPageInterval 2 设置DOSPageCount中时间长度标准,默认值为1。
DOSSiteInterval 2 设置DOSSiteCount中时间长度标准。
DOSBlockingPeriod 360 被封时间间隔秒,这中间会收到403 (Forbidden) 的返回。

自带的测试工具:
cd /usr/local/share/doc/mod_evasive/
chmod 755 test.pl
./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden

上一篇:

Comments