真实案例:网站遭遇DOS攻击douyaqiang123

长假对于IT人员来说是个短暂的休整时期,可IT系统却一时也不能停,越是节假日,越可能出大问题,下面要讲述的就是一起遭受DOS攻击的案例。

春节长假刚过完,小李公司的Web服务器就出了故障。下午1点,吃完饭回来,小李习惯性的检查了Web服务器。Web服务器的流量监控系统显示下行的红色曲线,与此同时收到了邮件报警,可以判断服务器出现了状况。

在Web服务器的日志文件中没有发现任何可疑之处,因此接下来小李仔细查看了防火墙日志和路由器日志。打印出了那台服务器出问题时的记录,并过滤掉正常的流量,保留下可疑的记录。表1显示了打印出来的结果。

表1防火墙日志统计

源IP地址

目的IP地址

源端口

目的端口

协议

172.16.45.2

192.168.0.175

7843

7

17

10.18.18.18

19

10.168.45.3

34511

192.168.89.111

1783

10.231.76.8

29589

192.168.15.12

17330

172.16.43.131

8935

10.23.67.9

22387

192.168.57.2

6588

172.16.87.11

21453

10.34.67.89

45987

10.65.34.54

65212

192.168.25.6

52967

172.16.56.15

8745

他在路由器日志上做了同样的工作并打印出了看上去异常的记录。在表5-1中是网站遭受攻击期间,经过规整化处理后的路由器日志信息。

为了获取更多信息,小李接着查看了路由器中NetFlow综合统计信息,详情如下:

为了有参考基准,他还打印了在Web服务器开始出现问题的前几周他保存的缓存数据(这些是正常状态的数据)。正常路由日志,如下所示:

IPpacketsizedistribution这个标题下的两行显示了数据包按大小范围分布的百分率。这里显示的内容表明:只有2%的数据包的大小在33~64字节之间。

二、疑难问答

1.小李的Web服务器到底发生了什么?可能的攻击类型是什么?

2.如果地址未伪装,那么小李如何才能追踪到攻击者?

3.如果地址伪装过,那么他怎样才能跟踪到攻击者?

三、事件推理

小李的Web服务器遭受到什么样的攻击呢?这一攻击是通过对回显端口(echo端口号为7),不断发送UDP数据包实现。攻击看似发自两个地方,可能是两个攻击者同时使用不同的工具。在任何情况下,超负荷的数据流都会拖垮Web服务器。然而攻击地址源不确定,不知道是攻击源本身是分布的,还是同一个真实地址伪装出许多不同的虚假IP地址,这个问题比较难判断。假如源IP地址不是伪装的,则可以咨询ARINI美国Internet号码注册处,从它的“Whois”数据库查出这个入侵IP地址属于哪个网络。接下来只需联系那个网络的管理员就可以得到进一步的信息不过这对DOS攻击不太可能。

假如源地址是伪装的,追踪这个攻击者就麻烦得多。若使用的是Cisco路由器,则还需查询NetFlow高速缓存。但是为了追踪这个伪装的地址,必须查询每个路由器上的NetFlow缓存,才能确定流量进入了哪个接口,然后通过这些路由器接口,逐个往回追踪,直至找到那个IP地址源。然而这样做是非常难的,因为在WebServer和攻击者的发起PC之间可能有许多路由器,而且属于不同的组织。另外,必须在攻击正在进行时做这些分析。如果不是由司法部门介入很难查到源头。

经过分析之后,将防火墙日志和路由器日志里的信息关联起来,发现了一些有趣的相似性,如表5-1中粗黑体黑色标记处。攻击的目标显然是Web服务器(192.168.0.175,端口为UDP7。这看起来很像拒绝服务攻击(但还不能确定,因为攻击的源IP地址分布随机)。地址看起来是随机的,只有一个源地址固定不变,其源端口号也没变。这很有趣。他接着又将注意力集中到路由器日志上。

他发现,攻击发生时路由器日志上有大量的64字节的数据包,而此时Web服务器日志上没有任何问题。他还发现,案发时路由器日志里还有大量的“UDP-other”数据包,而Web服务器日志也一切正常。这种现象与基于UDP的拒绝服务攻击的假设还是很相符的。

路由器最初的临时DOS访问控制链表(ACL)如下:

access-list121remarkTemporaryblockDoSattackonwebserver192.168.0.175

access-list105denyudpanyhost192.168.0.175

access-list105permitipanyany

这样的做法为Web服务器减轻了负担,但攻击仍能到达Web,在一定程度上降低了网络性能。那么下一步工作是联系上游带宽提供商,想请他们暂时限制所有在小李的网站端口7上的UDP进入流量,这样做会显著降低网络上到服务器的流量。

四、针对措施

有许多方法可以使攻击更难发生,或者在攻击发生时减小其影响,具体如下:

网络入口过滤网络服务提供商应在他的下游网络上设置入口过滤,以防止假信息包进入网络。这将防止攻击者伪装IP地址,从而易于追踪。网络流量过滤软件过滤掉网络不需要的流量总是不会错的。这还能防止DOS攻击,但为了达到效果,这些过滤器应尽量设置在网络上游。

网络流量速率限制。一些路由器有流量速率的最高限制。这些限制条款将加强带宽策略,并允许一个给定类型的网络流量匹配有限的带宽。这一措施也能预先缓解正在进行的攻击。

单点传送RPF(ReversePathForwarding),这是CEF(路由器的CiscoExpressForwarding功能简称)用于检查在接口收到的数据包的另一特性。如果源IP地址CEF表上不具有与指向接收数据包时的接口一致的路由,路由器就会丢掉这个数据包。丢弃RPF的妙处在于,它阻止了所有伪装源IP地址的攻击。

1)检测DOS攻击

利用主机监测系统和IDS系统联合分析,可以很快发现问题,例如通过EtherApe工具(一款监视连接的开源工具),当然,利用SnifferPro以及科莱网络分析工具可以达到同样效果。Sniffer能实时显示网络连接情况,如果遇到DOS攻击,从它内部密密麻麻的连线,以及IP地址就能初步判定攻击类型,这时可以采用Ossim系统中的流量监控软件例如Ntop,以及IDS系统来仔细判断。后两者将在《Unix/Linux网络日志分析与流量监控》一书中详细讲解。最快捷的方式还是命令行,我们输入以下命令:

#netstat-an|grepSYN_RECV|wc–l

通过结果可以发现网络中存在大量TCP同步数据包,而成功建立TCP连接的却寥寥无几,根据TCP三次握手原理分析可知,这肯定不是正常现象,网络肯定存在问题,需要进一步查实,如果数值很高,例如达到上千数值,那么很有可能是受到了攻击。如图1所示。

图1Ossim发现DOS攻击

在图1中OSSIM系统中的Snort检测到DOS攻击并以图形方式显示出大量告警信息。例如,某网站在受到DOS攻击时TCP连接如下:

我们统计“SYN_RECV”状态的数量,命令如下:

#netstat–na|grepSYN_RECV|wc–l

1989

这么大数值,在配合上面5-1图形可以判断网站受到DOS攻击。

小技巧:还可以用下面的Shell命令,显示哪个IP连接最多。

#netstat-nta|awk‘{print$5}’|cut–d:f1|sort|uniq–c|sort–n

1192.168.150.10

2192.168.150.20

……

1987192.168.150.200

这条命令得到的信息更详细。数值达到1989,有近两千条,这明显说明受到了DOS攻击。这时我们利用Wireshark工具进行数据包解码可以法相更多问题,当前通讯全都是采用TCP协议,查看TCP标志发送所有的数据包均为SYN置1,即TCP同步请求数据包,而这些数据包往往指向同一个IP地址。至此可以验证上面的判断:这台主机遭受到DOS攻击,而攻击方式为SYNFlood攻击。

五、疑难解答

2.假设地址不是伪装的,小李查询ARIN,从它的Whois数据库中查出这个入侵IP地址属于哪个网络。

3.如果IP地址是伪装的,这种追踪比较麻烦,需要查询每台路由器上的NetFlow数据,才能确定流量进出在哪些接口,然后对这些路由器一次一个接口的往回逐跳追踪查询,直到找到发起的IP地址源。但是这样做涉及多个AS(自治系统),如果在国内寻找其攻击源头

看了上面的实际案例我们也了解到,许多DoS攻击都很难应对,因为搞破坏的主机所发出的请求都是完全合法、符合标准的,只是数量太大。我们可以先在路由器上借助恰当的ACL阻断ICMPecho请求。

Router(config)#iptcpinterceptlist101

Router(config)#iptcpinterceptmax-incompletehigh3500

Router(config)#iptcpinterceptmax-incompletelow3000

Router(config)#iptcpinterceptone-minutehigh2500

Router(config)#iptcpinterceptone-minutelow2000

Router(config)#access-list101permitanyany

如果能采用基于上下文的访问控制(ContextBasedAccessControl,CBAC),则可以用其超时和阈值设置应对SYN洪流和UDP垃圾洪流。例如:

Router(config)#ipinspecttcpsynwait-time20

Router(config)#ipinspecttcpidle-time60

Router(config)#ipinspectudpidle-time20

Router(config)#ipinspectmax-incompletehigh400

Router(config)#ipinspectmax-incompletelow300

Router(config)#ipinspectone-minutehigh600

Router(config)#ipinspectone-minutelow500

Router(config)#ipinspecttcpmax-incompletehost300block-time0

警告:建议不要同时使用TCP截获和CBAC防御功能,因为这可能导致路由器过载。

打开Cisco快速转发(CiscoExpressForwarding,CEF)功能可帮助路由器防御数据包为随机源地址的洪流。可以对调度程序做些设置,避免在洪流的冲击下路由器的CPU完全过载:

Router(config)#schedulerallocate30001000

另一种方法是利用Iptables预防DOS脚本

#!/bin/bash

netstat-an|grepSYN_RECV|awk'{print$5}'|awk-F:'{print$1}'|sort|uniq-c|sort-rn|awk'{if($1>1)print$2}'

foriin$(cat/tmp/dropip)

do

/sbin/iptables-AINPUT-s$i-jDROP

echo“$ikillat`date`”>>/var/log/ddos

done

该脚本会对处于SYN_RECV并且数量达到5个的IP做统计,并且把写到Iptables的INPUT链设置为拒绝。

六、案例总结

无论是出于何种目的而发起更大规模攻击或其他目的DOS/DDoS攻击都必须重视。防范这种攻击的办法主要有及时打上来自厂商的补丁。同时,要关闭有漏洞的服务,或者用访问控制列表限制访问。常规的DOS攻击,特别是DDOS攻击更难防范。如果整个带宽都被Ping洪流耗尽,我们能做的就很有限了。针对DOS攻击,首先要分析它的攻击方式,是ICMPFlood、UDPFlood和SYNFlood等流量攻击,还是类似于TCPFlood、CC等方式,然后再寻找相对有效的应对策略。对于这种攻击可以采取下面介绍的几种方法:

2).利用Ossim系统提供的ApacheDos防护策略可以起到监控的作用。

3).利用云计算和虚拟化等新技术平台,提高对新型攻击尤其是应用层攻击和低速率攻击的检测和防护的效率。国外己经有学者开始利用Hadoop平台进行HttpGetFlood的检测算法研究。

4).利用IP信誉机制。在信息安全防护的各个环节引入信誉机制,提高安全防护的效率和准确度。例如对应用软件和文件给予安全信誉评价,引导网络用户的下载行为,通过发布权威IP信誉信息,指导安全设备自动生成防护策略,详情见《Unix/linux网络日志分析与流量监控》2.1节。

5).采用被动策略即购买大的带宽,也可以有效减缓DDOS攻击的危害。

6).构建分布式的系统,将自己的业务部署在多地机房,将各地区的访问分散到对应的机房,考虑部署CDN,在重要IDC节点机房部署防火墙(例如Cisco、Juniper防火墙等)这样即使有攻击者进行DOS攻击,破坏范围可能也仅仅是其中的一个机房,不会对整个业务造成影响。

7).如果规模不大,机房条件一般,那可以考虑在系统中使用一些防DDos的小工具,如DDoSDeflate,它的官网地址是,它是一款免费的用来防御和减轻DDOS攻击的脚本,通过系统内置的netstat命令,来监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP。当然此工具也仅仅是减轻,并不能全部防止攻击。

最后还要用不同供应商、不同AS路径并支持负载均衡功能的不止一条到因特网的连接,但这与应对消耗高带宽的常规DOS/DDOS洪流的要求还有差距。我们总是可以用CAR(CommittedAccessRate,承诺访问速率)或NBAR(Network-BasedApplicationRecognition,网络应用识别)来抛弃数据包或限制发动进攻的网络流速度,减轻路由器CPU的负担,减少对缓冲区和路由器之后的主机的占用。

THE END
1.防范电信网络诈骗犯罪致学生家长书诈骗方式:1、犯罪嫌疑人通过非法渠道购买购物网站的买家信息及快递信息后,冒充购物网站客服称受害人购买的物品质量有问题,可给予受害人退款赔偿;或者冒充快递公司客服称受害人快递丢失,可给予受害人经济赔偿,随即提供二维码诱导受害人扫描,受害人根据犯罪嫌疑人的诱导,将其银行卡等信息输入二维码跳出的网页,并输入手机验证http://www.whch.com.cn/aqgz/5591.jhtml
2.泗县公安局公共服务事项办事指南(2023年版)信息公开审核人: 1.“110”电话报警受理服务指南 (依申请) 一、办理依据 公安部《110接处警规则》第二条:城市和县(旗)公安局指挥中心应当设立110报警服务台,负责全天24小时受理公众紧急电话报警、求助和对公安机关及其人民警察现时发生的违法违纪或者失职行为的投诉。 https://www.sixian.gov.cn/public/25122/160469821.html
3.保卫处(一)重点防盗部位要有专人管理,建立健全责任制和各项管理制度,防范措施要安全可靠,特别重要的部位须安装报警器并设专人值班; (二)重点防盗部位存在隐患经保卫处通知后须及时进行整改,一时有困难的,要采取临时有效措施,确保安全; (三)稀有、贵重金属材料及制成品必须存放在专门库房或保险柜里,指定专人管理,坚持收https://bwc.btbu.edu.cn/jblm/bszn/93283.htm
4.赴日工作之外柔内刚地去面试以上就是我们日本工作小编,为您介绍的关于签证的办理方法,希望我们的介绍能够对您有所帮助,如果您想要了解其他的知识,您可以浏览我们的网站,我们会为您提供更专业的服务。 日本找工作需要注意什么问题? 2018-10-16 伴随着中日两国之间友谊的加深,不少的朋友都有了赴日本工作的想法,那么我们在在日本找工作需要注意什http://www.japan-job.com/news.php?module=Details&id=10083
5.为什么手机丢了,很少人会报警?在这半个小时的时间内,犯罪分子已经把失主手机卡上的钱全部转走,还有可能让失主背负巨额的网贷。所以手机丢失,第一时间报警是非常错误的,那么发现手机丢失第一时间我们该怎么办呢? 1.挂失手机号码 发现手机丢失,要在最快的时间内借用别人的手机移动拨打10086、联通拨打10010、电信拨打10000,根据客服提示,告诉客服你的http://www.360doc.com/content/22/1020/12/2355900_1052461360.shtml
6.12321网络不良与垃圾信息举报受理中心受理范围:垃圾短信、诈骗电话、骚扰电话、垃圾邮件、不良APP和网站、个人信息泄露等各类网络不良与垃圾信息。[投诉指南] 12321是什么机构? 12321网络不良与垃圾信息举报受理中心为工业和信息化部委托中国互联网协会设立的公众投诉受理机构,负责协助工业和信息化部承担关于互联网、电话网等信息通信网络中的不良与垃圾信息投诉https://www.12321.cn/
7.网络上有人留下我手机号,我能报警吗?一、电话骚扰能报警吗1、电话骚扰能报警。利用打电话的形式,骚扰他人正常生活的,这种行为是违法的,https://www.findlaw.cn/wenda/q_46783382.html
8.个人信息保护及隐私政策1.3 您可以添加紧急联系人:您可以直接输入紧急联系人的姓名(如有)、手机号、地址(如有)。您添加紧急联系人后,可以开启行程分享(如有)或使用一键报警功能;如您拒绝提供紧急联系人信息,您将无法实时分享您的行程以达到保护自身安全的目的。 1.4您需要向本平台提供的其他信息:您在注册账号时或者在使用本平台服务过程中http://h5.yueyuechuxing.cn/yueyue/comtext/index.html?tenantId=800027&code=driverPrivacyAgreement
9.佛山第三人民医院其他导航 资料下载相关资料,可以在此处下载 联系我们来这里说句心里话,谈点真想法 特色专科 特色专科 精神科 心理科 神经内科 老年专科 疼痛专科 康复科 法医精神病司法鉴定所 乘车指南 公共汽车:113路直达本院 101路到澜石中学往西南方向步行5分钟可到本院 地铁:广佛线澜石站B出口往东南向步行10分钟可到本院http://www.fstth.com/
10.家长丢了?绍兴6岁小孩哥从容报警,成功找回……绍兴杂谈报警录音 警察叔叔,我和妹妹在家里,你能不能给爸爸打个电话?我和妹妹害怕 家里没有其他大人吗?没https://www.e0575.cn/read.php?tid=11783698
11.报警人的撤诉了还会有刑事责任吗?随后在5分钟之内赶到现场;3、赶到现场后,一般是两到三名警察,警察会详细询问所了解或知晓的案件大致经过,以及案发现场等情况;4、如果确有必要,警察会制作笔录并让报警人签字;5、警察一般会留下报警人的联系方式,同时,报警人也有权利向警察索要一个电话号码,当有其他情况时可及时联系警察;案件侦破后,警方会告知https://mip.64365.com/zs/1091096.aspx
12.“我被网络诈骗了!”民警调查后,却把报警人抓了!南方plus日前,一名孙姓男子来到深圳市公安局福田派出所报警,称自己被某网站骗了,输掉了十几万。但警方在给孙某(男,34岁)做笔录的过程中,却发现孙某所谓的“被网站骗了”,原来是网络赌博输掉了。而他输掉的钱里,大部分都是他在网上以卖口罩名义骗来的。 https://static.nfapp.southcn.com/content/202003/04/c3211159.html