Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465202
  • 博文数量: 104
  • 博客积分: 3455
  • 博客等级: 中校
  • 技术积分: 1216
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-18 18:33
文章分类

全部博文(104)

文章存档

2015年(3)

2014年(1)

2013年(7)

2012年(8)

2011年(11)

2010年(18)

2009年(56)

我的朋友

分类:

2010-08-18 23:56:20

最近经常遇到攻击,总结一下常用方法来处理吧.web server 为 apache2.2
一.单个IP
tail -1000 log |perl -a -ne'print "$F[0]\n"'|sort |uniq -c |sort -n
这个命令行可以根据访问量对IP排序.在此假设攻击IP地址为 A.B.C.D
(1)在服务器上用iptables阻截该IP
 iptables -A INPUT -s A.B.C.D -j REJECT
注意:drop将忽视该请求,reject将拒绝该请求.使用drop,web前端的LB将继续保持这个session;使用reject将明确告诉客户端拒绝该请求.LB也将释放session.所以需要使用 reject.

(2)在web server上阻截该IP

Order Deny,allow
Deny from A.B.C.D

注意:不要把访问限制加到段里面,因为段优先级最高,将最后处理,并覆盖前面设置的访问限制.

二.单个URL
tail -1000 log |perl -a -ne'$F[6]=~s/(\?|").*/\n/;print $F[6]' |sort |uniq -c |sort -n
这个命令行可以根据访问次数对URL排序.
然后可以用apache的Rewrite模块对特定的URL做一些限制.
(1)对虚拟主机的限制
RewriteCond %{HTTP_HOST} ^www\.abc\.com$  [NC]
RewriteRule .* - [F]
(2)对请求参数的限制
RewriteCond %{QUERY_STRING} ^query_string$
RewirteRule .* - [F]
(3)对请求文件的限制
RewirteRule ^/index.html$ - [F]

三.mod_evasive 介绍
LoadModule evasive20_module /path/mod_evasive20.so

DOSHashTableSize 7000   定义哈希表大小
DOSPageCount 2          在Page计数器间隔内,IP能访问同一网页的最大次数
DOSSiteCount 50         在Site计数器间隔内,IP能访问全站的最大数
DOSPageInterval 1       Page访问计数器间隔
DOSSiteInterval 1       Site访问计数器间隔
DOSBlockingPeriod 10    加入黑名单后拒绝访问时间(返回403)
DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP"  IP加入黑名单后执行的系统命令
DOSLogDir "/tmp"        日志目录
DOSWhiteList 127.0.0.*  白名单
DOSEmailNotify linuxty@gmail.com  有IP加入黑名单后通知管理员

阅读(1061) | 评论(0) | 转发(0) |
0

上一篇:HTTP Cache

下一篇:Active Passive FTP

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