Apache增加防DDoS模块
[ 2009/03/07 18:29 | by selboo ]
DDoS (distributed denial-of-service)及DoS (denial-of-service)在网路上十分常见,而DoS攻击所传送的请求跟正常的请求一样,分别在于每秒钟发出大量请求到伺服器,使伺服器的负载增加,最常见的情况是伺服器暂停服务。
而mod_evasive则是一个预防Apache遭受DDos攻击的模组,可以防止同一个IP对相同URI发出的大量请求,可设定的选项有:
–限制同一个IP在一定秒数内请求一个页面或档案的次数。
–限制同一个IP一秒内只可发出50个请求。
–设定被禁止的IP封锁时间。
以下是mod_evasive的安装方法:
1.先将原来的httpd.conf备份起来。
2.到http://www.zdziarski.com/projects/mod_evasive/下载mod_evasive。
3.在指令模式解压及编译mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的apxs会放在Apache的bin目录内;如果Apache版本是1.3的话,指令要改为:
apxs -cia mod_evasive.c
安装好mod_evasive后,便要修改httpd.conf内容。
4.开启httpd.conf,加入以内容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize —这是占用记忆体的大小,如果伺服器比较繁忙,这个数值要设定大一点。
DOSPageCount —同一IP在一个时段内可以存取同一页面的次数,超过会被禁止。
DOSSiteCount —同一IP在一个网站内可以占用多少Object,超过会禁止。
DOSPageInterval — DOSPageCount内的时段设定。
DOSSiteInterval — DOSSiteCount的时间设定,以秒为单位。
DOSBlockingPeriod —当发现疑似攻击后,使用者会收到403 Forbidden,这是设定封锁的时间,以秒为单位。
5.最后重新启动Apache即可。
而mod_evasive则是一个预防Apache遭受DDos攻击的模组,可以防止同一个IP对相同URI发出的大量请求,可设定的选项有:
–限制同一个IP在一定秒数内请求一个页面或档案的次数。
–限制同一个IP一秒内只可发出50个请求。
–设定被禁止的IP封锁时间。
以下是mod_evasive的安装方法:
1.先将原来的httpd.conf备份起来。
2.到http://www.zdziarski.com/projects/mod_evasive/下载mod_evasive。
3.在指令模式解压及编译mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的apxs会放在Apache的bin目录内;如果Apache版本是1.3的话,指令要改为:
apxs -cia mod_evasive.c
安装好mod_evasive后,便要修改httpd.conf内容。
4.开启httpd.conf,加入以内容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize —这是占用记忆体的大小,如果伺服器比较繁忙,这个数值要设定大一点。
DOSPageCount —同一IP在一个时段内可以存取同一页面的次数,超过会被禁止。
DOSSiteCount —同一IP在一个网站内可以占用多少Object,超过会禁止。
DOSPageInterval — DOSPageCount内的时段设定。
DOSSiteInterval — DOSSiteCount的时间设定,以秒为单位。
DOSBlockingPeriod —当发现疑似攻击后,使用者会收到403 Forbidden,这是设定封锁的时间,以秒为单位。
5.最后重新启动Apache即可。