一次疑似的Hacker攻击的处理
2974 点击·0 回帖
![]() | ![]() | |
![]() | 中午在吃饭,手机响了,运维告诉我有一台内部系统的server的cpu负载达到了80%,一共两次,每次持续3分钟左右。 我让运维先别慌,去server上取Apache的apache_access.log出来 apache_access.log文件打开来一看,每次CPU负载狂飙的时候,都密集了出现了以下的http请求,3分钟内达到了4000次以上。 XX.XX.201.254 - - [16/Oct/2012:11:43:55 +0900] "GET /api/resizeimage.php?image=banner/08071002.png;width=320;height=100 HTTP/1.1" 200 55703 "http://xxx.xxx.com/admin/image.php?" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)" 分析日志可以看到,XX.XX.201.254的客户端,在【http://xxx.xxx.com/admin/image.php?】的画面上,发送GET请求【/api/resizeimage.php?image=banner/08071002.png;width=320;height=100】到我们的server上。 第一,我们这台server位于公司防火墙背后,运行的是名为[http://xxx.xxx.com/admin/]的公司内部系统。这个系统的域名也是公司内部DNS的域名,因此从外网直接发起攻击可能性不大。 第二, image.php?这个画面上确实有调用【api/resizeimage.php】的接口,但是如此频繁的访问,绝对不可能是正常的画面操作。 第三,api/resizeimage.php的代码的作用是将客户上传到server硬盘上的image文件读入内存,然后在CPU中进行计算,生成符合参数要求大小的缩小图,然后作为http响应返回回来。并且在内存中将缩小图释放掉。。。。。。。这么坑爹的代码,负载一上去,CPU肯定挂 我先把注意力放在client的XX.XX.201.254上,经过调查,这台服务器是另一个项目组的一台公用server。。。。 果然是高手,利用这台公用server作为跳板。 这台肉鸡上发生的事情和调查还在进行中,汇总之后也想写出来。 作为补救,我们先修改了resizeimage.php的代码逻辑,其次在Apache前方前置一个软件级别的防火墙,发现多次频繁同一IP请求则禁IP。 结论: 不能以为是内部系统就可以放松系统安全的考量 | |
![]() | ![]() |