一次真实的DDoS攻击防御实战
2015-10-01 14:20
239 查看
摘要:一次真实的DDoS攻击防御实战
标签:DoS攻击
第一轮进攻:
时间:下午15点30左右
突然发现公司的web server无法访问,尝试远程登录,无法连接,呼叫idc重启服务器。启动后立即登录察看,发现攻击还在继续,并且apache所有230个进程全部处于工作状态。由于服务器较老,内存只有512m,于是系统开始用swap,系统进入停顿状态。于是杀掉所有httpd,稍后服务器恢复正常,load从140降回正常值。
开始抓包,发现流量很小,似乎攻击已经停止,尝试启动httpd,系统正常。察看httpd日志,发现来自五湖四海的IP在尝试login.php,但是它给错了url,那里没有login.php,其他日志基本正常,除limit RST ....之类较多,由于在攻击中连接数很大,出现该日志也属正常。
观察10分钟,攻击停止。
第二轮进攻:
时间:下午17点50分
由于有了前次攻击经验,我开始注意观察web server的状态,刚好17点50分,机器load急剧升高,基本可以确定,又一轮攻击开始。
首先停掉了httpd,因为已经动弹不得,没办法。然后抓包,tcpdump -c 10000 -i em0 -n dst port 80 > /root/pkts发现大量数据报涌入,过滤其中IP,没有非常集中的IP,于是怀疑属于DDoS接下来根据上次从日志中过滤得到的可疑地址,比较本次抓包结果,发现很多重复记录。
分析:
这不是简单的DDoS,因为所有httpd进程都被启动,并且留下日志,而且根据抓包记录,每个地址都有完整的三次握手,于是确定,所有攻击源都是真实存在的,不是虚假的IP。
这样的可疑IP一共有265个,基本上都是国外的,欧洲居多,尤其西班牙。公司客户在欧洲的可为凤毛麟角,只有丢卒保车了。
采取的措施:
把所有265个IP,统统加入_blank">防火墙,全部过滤ipfw add 550 deny tcp from % to me 80,重新启动httpd。
观察了3个小时,ipfw列表中所有ACL的数据报量仍旧持续增长,但是公司的web server已经工作正常。
至此,此次攻击暂告一段落,不排除稍后继续发生,但是由于攻击者使用的都是真实肉鸡,同时掌握超过300个肉鸡实属罕见,因此基本上他不能够在短期内重新发动进攻。
标签:DoS攻击
第一轮进攻:
时间:下午15点30左右
突然发现公司的web server无法访问,尝试远程登录,无法连接,呼叫idc重启服务器。启动后立即登录察看,发现攻击还在继续,并且apache所有230个进程全部处于工作状态。由于服务器较老,内存只有512m,于是系统开始用swap,系统进入停顿状态。于是杀掉所有httpd,稍后服务器恢复正常,load从140降回正常值。
开始抓包,发现流量很小,似乎攻击已经停止,尝试启动httpd,系统正常。察看httpd日志,发现来自五湖四海的IP在尝试login.php,但是它给错了url,那里没有login.php,其他日志基本正常,除limit RST ....之类较多,由于在攻击中连接数很大,出现该日志也属正常。
观察10分钟,攻击停止。
第二轮进攻:
时间:下午17点50分
由于有了前次攻击经验,我开始注意观察web server的状态,刚好17点50分,机器load急剧升高,基本可以确定,又一轮攻击开始。
首先停掉了httpd,因为已经动弹不得,没办法。然后抓包,tcpdump -c 10000 -i em0 -n dst port 80 > /root/pkts发现大量数据报涌入,过滤其中IP,没有非常集中的IP,于是怀疑属于DDoS接下来根据上次从日志中过滤得到的可疑地址,比较本次抓包结果,发现很多重复记录。
分析:
这不是简单的DDoS,因为所有httpd进程都被启动,并且留下日志,而且根据抓包记录,每个地址都有完整的三次握手,于是确定,所有攻击源都是真实存在的,不是虚假的IP。
这样的可疑IP一共有265个,基本上都是国外的,欧洲居多,尤其西班牙。公司客户在欧洲的可为凤毛麟角,只有丢卒保车了。
采取的措施:
把所有265个IP,统统加入_blank">防火墙,全部过滤ipfw add 550 deny tcp from % to me 80,重新启动httpd。
观察了3个小时,ipfw列表中所有ACL的数据报量仍旧持续增长,但是公司的web server已经工作正常。
至此,此次攻击暂告一段落,不排除稍后继续发生,但是由于攻击者使用的都是真实肉鸡,同时掌握超过300个肉鸡实属罕见,因此基本上他不能够在短期内重新发动进攻。
相关文章推荐
- 4Sum
- 算法题查询学生成绩
- JavaScript高级程序设计之函数表达式之私有变量之模块模式第7.4.2讲笔记
- Android版本更新之本地数据库更新
- NetWorkTool工具类之网络请求
- mac下cocoaPods的安装和使用
- 安卓调用unity的3D界面
- 获取HTML标签当前在网页中的绝对位置
- cuda 异步函数
- maven的settings.xml详细说明
- js获取网页选中部分的内容,包含html代码
- bzoj 3333: 排队计划 解决问题的方法
- javascript如何获取当前网页的源码
- 【转】--在Android源码树中添加userspace I2C读写工具(i2c-util)
- 构建高性能WEB之HTTP首部优化
- jg-table 过程2 ( jgTable )
- ramoops具体失败原因来解释驱动寄存器
- 程序猿抱大招
- dictionary
- [CareerCup] 9.11 Parenthesize the Expression 表达式加括号