Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391155
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 920
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-29 13:10
文章分类

全部博文(87)

文章存档

2012年(49)

2011年(7)

2010年(26)

2009年(5)

分类: LINUX

2010-04-14 17:06:00

0.原理
mod_evasive是apache防范DDOS攻击的模块,其原理大致如下:
有新访问到达时:
查看黑名单中是否有该客户IP。
将IP和请求URL一起HASH;查找HASH表看过去1秒是否连续请求同一页。
将IP和请求URL一起HASH;查找HASH表看过去1秒是否请求超过50个连接。
满足任意一条就返回403并阻止该IP一定时间,该时间由DOSSiteInterval决定。
1.安装mod_evasive
sudo apt-get install libapache2-mod-e
    libapache2-mod-encoding  libapache2-mod-evasive
sudo apt-get install libapache2-mod-evasive

2.配置mod_evasive
sudo vi /etc/apache/conf.d/mod_evasive
#添加以下:

DOSHashTableSize 3097:定义哈希表大小。
DOSSiteCount 50:允许客户机的最大并发连接。
DOSPageCount 2:允许客户机访问同一页的间隔。
DOSPageInterval 1:网页访问计数器间隔。
DOSSiteInterval 1:全站访问计数器间隔。
DOSSiteInterval 60:加入黑名单后拒绝访问时间。
DOSEmailNotify :有IP加入黑名单后通知管理员。
DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP":IP加入黑名单后执行的系统命令。
DOSLogDir "/tmp":锁定机制临时目录。
DOSWhiteList 127.0.0.1:防范白名单,不阻止白名单IP。
阅读(1336) | 评论(0) | 转发(0) |
0

上一篇:[apache]缓存原理

下一篇:libevent 入门

给主人留下些什么吧!~~