June 2009 Archives

啥叫DDOS? 某同学在内网测试并发2000个视频请求导致内网无法访问就是DDOS...

slowloris的流量消耗相比洪水DDOS来说低了不少,但是有点出乎我意料的少, retry5秒 10k并发才200Kbits/s的均速, 难怪通过Tor主机也能攻击, 我用slowloris测试攻击内网的的Dell1950纯属浪费,  或许应该找几个真实的生产服务器试试slowloris的效果?

curl看了几个有名的站,不是IIS+squid就是Nginx,后面还负载均衡..., 这年头谁用lone Apache啊...

===============================

It basically uses a concept of keeping an HTTP session alive indefinitely (or as long as possible) and repeating that process a few hundred times

rfc2616上没有说是header上做手脚怎么样怎么样的,一贯遵循rfc的IIS,我人肉telnet模拟了一下slowloris的发包,发了个X-a:b 之后再怎么CRLF也拿不到数据了, 也没有发现IIS会主动断掉或者怎么样的, 果然是搞不清IIS的实现...这或许是闭源的好处? 有时候看看IIS的实现也是个不错的事情(1, 2)

下面是解决办法:

Apache HTTP DoS tool mitigation

Mitigating the Slowloris HTTP DoS Attack

其实slowloris的这个方法有点老了, 大概在2000年就有人用了? 当然这个攻击的技术含量没法跟人家低速洪水攻击10cent的路由器比。

 

最近Slowloris很受推崇,评价很高,可以用很少的带宽实现攻击效果,下班之后试用了一把。
Multiple HTTP Server Low Bandwidth Denial of Service (slowloris.pl)
下载地址在这里
攻击原理:
攻击方先发送一个http header:
GET / HTTP/1.1\r\n
Host: Target host\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n
Content-Length: 42\r\n
结果就少了一个\r\n, Apache说: 我等!
攻击方再发一坨X-a: b\r\n
Apache已经找不到人生的目标了,继续等...,
攻击方不停的新建连接,等到Apache连接数耗尽,目标达到

受影响(affects)的httpd:
    Apache 1.x/2.x, dhttpd, GoAhead WebServer, Squid, others...?
不受影响(Not affects)的httpd:
    IIS6.0,IIS7.0, lighty, others...?


Slowloris有几个很重要的基本参数:
tcp connection timeout:默认5秒
re-try timeout:默认100秒
connections:1000
Multithreading:Enabled
剩下的就是perldoc ./slowloris.pl的事情了,没装perldoc直接去看文件末尾也能看懂

试验1:
全默认参数, 尝试攻击CentOS 5.2 x64自行编译的Apache2.2.8,mpm_prefork模式,MaxClients850, 硬件DellPE1950, XeonE5405@2.00GHZ x 4, 8GB内存, 146GB10krpmSAS硬盘
结果:成功!

试验2:
全默认参数, 尝试攻击CentOS 5.2 x64自行编译的squid,默认的filedescriptors = 1024, 硬件配置同上
结果:有效果,不满意,平均访问5次只有1次被拒绝

试验3:
re-try timeout 5秒, 尝试攻击CentOS 5.2 x64自行编译的squid,默认的filedescriptors = 1024, 硬件配置同上
结果:有进步,平均访问3次只有1次能正常

试验4:
re-try timeout 5秒, connections:2000, 尝试攻击CentOS 5.2 x64自行编译的squid,默认的filedescriptors = 1024, 硬件配置同上
结果:完全拿不到返回结果了...NagiosNRPE也报错,嘿嘿

试验5:
re-try timeout 5秒, connections:2000, 尝试攻击CentOS 5.2 x64自行编译的squid,编译时将filedescriptors设定为65536, 硬件配置同上
结果:强大的squid啊...攻击完全没效果

试验6:
re-try timeout 5秒, connections:10000, 尝试攻击CentOS 5.2 x64自行编译的squid,编译时将filedescriptors设定为65536, 硬件配置同上
结果:嘿嘿, 把squid列到affects里面不是没有原因滴, 基本上可以判定完全无法访问

试验7:
re-try timeout 5秒, connections:3000, 尝试攻击Ubuntu 8.04LTS apt-get安装的Nginx0.6.31,硬件配置Xeon2.8GHZx4, 4GB内存
结果: 完全无效,Nginx撑连接果然很强悍, 某人说某web2.0网站因配置出了点错导致Nginx撑了70W连接,木有垮掉

试验8:
to be continue...


攻击方:
1. 找了个国外的位于Tor匿名网络内主机,但是资源受限, 最多2k并发, 用来攻击Apache
2. Core2 4300@1.80GHZ 双核 + 2GB内存 ubuntu desktop 8.04.2跑10K个connection木有问题,但是20k个就会报out of memory最后segment fault退出, slowloris的攻击能力可能仅限于内存


实验结果:
Slowloris很好很强大!单独的一个Apache直接就可以死翘翘了lol, squid也有危险
攻击的时候去访问网页,会一直卡在等待结果的状态,一旦终止攻击脚本,立刻就可以拿到返回结果
相比SYN,Slowloris有一定缺陷,攻击停止的时候会在Apache的AccessLog中突然产生大量连续重复的日志,返回值400 305, 很容易被追踪到。没有修改脚本的话,攻击squid的时候日志中会出现Unsupported method in request 'X-a: b__'
Lighty暂时没测试, 据说即使Nginx受到影响,但是适当的配置timeout num limit_conn limit_per 可以解决掉slowloris。

Apache和squid的生命周期真的已经到尽头了么?

参考链接:
Slowloris
Slowloris blog
Bugzilla@Squid-cache: Squid vulnerable to Dos via partial HTTP requests
SLOWLORIS A NGINX (ATAK TYPU DOS) <-波兰语,英文版在此
Apache vs Nginx : Web Server Performance Deathmatch
Slowloris HTTP DoS工具试用
Slowloris HTTP DoS


关于配合服务器管理安装安全探针软件的通知 
  尊敬的客户: 
  您好!为构建健康和谐、安全文明的网络环境,保障互联网网络安全和信息安全,依照《互联网安全保护技术措施规定》、《计算机信息网络国际联网安全保护管理办法》的管理规定,应上级主管单位要求,请您配合对您托管在我司的位于厦门的服务器上安装服务器安全探针软件。若您使用的系统是windows2000/2003并启用IIS,请您务必配合于2日内安装好此安全探针软件。具体情况如下 
  安全探针软件及安装方法请通过http://ns.35.com/soft.rar直接下载。 
  安全探针软件仅限于厦门的服务器需要安装,仅限于windows系统服务器需要安装。 
  安装后您的服务器会多了三项服务进程,分别为:Cinfoservice.exe、CWebManagerCli.exe、GuardService.exe,此些进程对服务器原环境不会有影响。 
  此安全探针软件仅为有害信息的审计之用,所有相关信息不会用于其它用途。 
  该软件免费提供,不收取任何费用。 
  软件安装后,请勿随意卸载。若有需要,请您提供具有管理权限的用户名、密码及管理方式,以便我们协助您操作。 
  该探针对客户帮助客户自动监测是否有低俗信息,是提供给客户一个免费软件...... 
  1.本月28号前需安装完毕.对于不安装的,或查到未及时安装的.客户的相关信息将根据厦门网安处要求直接报送给厦门网安处.重点跟进处理. 
  2.对于部分客户操作系统不是windows系列的.可以在通知时,确定.记录反馈给我们.此部分客户先不用安装. 
  3.对于安装过程有技术问题的请客户可让其直接致电:0592-5391975.软件下载地址:http://ns.35.com/soft.rar
据说是豆瓣某人写的《大量小文件的实时同步方案》,看过之后受益颇深,对比了rsync和unison,在小文件(严格来说是不需要持续写入的文件)很多的情况下确实有优势,不过相比python,这里貌似有一个已经存在apt源里的软件lsyncd
不过适用的局限性是一样的:
When not to use:
File with active file handles (e.g. database files) Directories where many changes occur (like mail or news servers)

lsyncd的主页也提了一些对比, 值得试用,可惜不适合我目前面临的环境

20090535 - Reborn

| No Comments | No TrackBacks
上初一的时候,期末考试没有考进班级前十名,班主任严厉的说,某些同学,居然通过复印成绩单的方法修改自己的名次,不要以为老师不知道!
考了第27名的俺幡然醒悟,复印成绩单把自己改成第7名,半年后参加完家长会的老娘说为啥黑板上写着你原来是第27名?这次又考了第7,要继续努力啊...

从 昨天开始, live.com/bing.com/twitter.com/flickr.com等站相继被墙了, youtube/blogger啥的就不说了, 部分地区连hotmail都无法访问, 想到当初封锁google.com/wikipedia.org/php.net/freebsd, 想到中宣部和新闻出版署的种种所作所为,我发自内心觉得中宣部和新闻出版署就是一帮反革命分子,坚决不执行统一战线政策,把所有人都放在圡共的对立 面...哇咔咔

其实我们都已经选择性的遗忘了那件发生在20年前的事情, 可是圡共每年都要强迫我们记起来一遍...烦不烦啊!

另外,因有关零八宪章的文章给某些人造成了不必要的困扰,我只能诚挚的道歉了...

在墙外的感觉真好! FUCKGFW



btw: 停机维护,一场盛大的行为艺术正在上演!
停机维护,让我们停止无聊的娱乐,一同缅怀20年前的那个冰冷的夏日麽?