当网站遭遇DDOS攻击的解决方案及展望

news/2024/5/12 23:58:57/文章来源:https://blog.csdn.net/dckkc20826/article/details/102220725
当网站遭遇DDOS攻击的解决方案及展望
  
一、事件发生
春节长假刚过完,WEB就出现故障,下午1点吃完回来,立即将桌面解锁并习惯性的检查了Web服务器。通过Web服务器性能监视软件图像显示的向下滑行的红色曲线看到WEB出现问题了。
根据上述的问题,我马上开始核查Web服务器的日志,试试是否能检测到问题究竟什么时候开始,或者发现一些关于引起中断的线索。正当查询线索过程中。公司首席运营官(CIO)告诉我,他已经接到客户的投诉电话,报告说无法访问他们的网站。于是从台式机中敲入网站地址,试着从台式电脑访问他们的网站,但是看到的只是无法显示此页面的消息。
回想前几天也未对Web服务器做了任何改变也未对Web服务器做过任何改变,服务器曾经出现过的性能问题。在Web服务器的日志文件中没有发现任何可疑之处,因此接下来我去仔细查看防火墙日志,和路由器日志。仔细查看了防火墙日志,打印出了那台服务器出问题时的记录。并过滤掉正常的流量并保留下可疑的记录。表中显示了打印出来的结果。
源IP地址
目的IP地址
源端口号
目的端口号
协议
172.16.45.2
192.168.0.175
7843
7
17
10.166.166.166
192.168.0.175
19
7
17
10.168.45.3
192.168.0.175
34511
7
17
10.166.166.166
192.168.0.175
19
7
17
192.168.89.111
192.168.0.175
1783
7
17
10.166.166.166
192.168.0.175
19
7
17
10.231.76.8
192.168.0.175
29589
7
17
192.168.15.12
192.168.0.175
17330
7
17
10.166.166.166
192.168.0.175
19
7
17
172.16.43.131
192.168.0.175
8935
7
17
10.23.67.9
192.168.0.175
22387
7
17
10.166.166.166
192.768.0.75
19
7
17
192.168.57.2
192.168.0.175
6588
7
17
172.16.87.11
192.768.0.75
21453
7
17
10.166.166.166
192.168.0.175
19
7
17
10.34.67.89
192.168.0.175
45987
7
17
10.65.34.54
192.168.0.175
65212
7
17
192.168.25.6
192.168.0.175
52967
7
17
172.16.56.15
192.168.0.175
8745
7
17
10.166.166.166
192.168.0.175
19
7
17
表一 防火墙日志
之后在路由器日志上做了同样的工作并打印出了看上去异常的记录。
攻击期间的路由器日志
 2011022720360594.jpg
 
图一
解释:
IP packet sizedistribution 这个标题下的两行显示了数据包按大小范围分布的百分率。这里显示的内容表明:98.4%的数据包的大小在33字节到64字节之间(注意红色标记)。
参数解释:
IP packet sizedistribution 这个标题下的两行显示了数据包按大小范围分布的百分率。这里显示的内容表明:98.4%的数据包的大小在33字节到64字节之间。
Protocol     协议名称
Total Flows  自从最后一次清除统计信息后,这种协议的信息流的个数。
Flows/Sec    每秒钟时间内出现这种协议的信息流的平均个数,它等于总信息流数/综合时间的秒数。
Packets/Flow 遵守这种协议的信息流中平均的数据包数。等于这种协议的数据包数,或者在这段综合时间内,这种协议的信息流数。
Bytes/Pkt    遵守这种协议的数据包的平均字节数(等于这种协议总字节数,或者在这段综合时间内,这种协议的数据包数)。B/Pkt ,这一信息流中每个数据包的平均字节数    
Packets/Sec  每秒钟时间内这种协议的平均数据包数(它等于这种协议的总数据包),或者这段综合时间的总秒数。
Active(Sec)/Flow 从第一个数据包到终止信息流的最后一个数据包的总时间(以秒为单位,比如TCP FIN,终止时间量等等),或者这段综合时间内这种协议总的信息流数。
Idle(Sec)/Flow 从这种协议的各个非终止信息流的最后一个数据包起,直到输入这一命令时止的时间总和(以秒为单位),或者这段综合时间内信息流的总时间长度。
正常路由日志
2011022720373378.jpg
图二
IP packet sizedistribution 这个标题下的两行显示了数据包按大小范围分布的百分率。这里显示的内容表明:2%的数据包的大小在33字节到64字节之间。
注意网站的访问量直线下降。很明显,在这段时间没人能访问他的Web服务器。我开始研究到底发生了什么,以及该如何尽快地修复。
二、事件分析
我的Web服务器发生了什么?很有可能攻击,那么受到什么样的攻击呢?从这一攻击是对回显端口看,即是端口7,不断发送小的UDP数据包来实现。攻击看似发自两个策源地,可能是两个攻击者同时使用不同的工具。在任何情况下,超负荷的数据流都会拖垮Web服务器。然而攻击地址源不确定,不知道是攻击源本身是分布的,还是同一个地址伪装出许多不同的IP地址,这个问题比较难判断。假如源地址不是伪装的,是真实地址,则可以咨询ARIN I美国Internet号码注册处,从它的“whois”数据库查出这个入侵1P地址属于哪个网络。接下来只需联系那个网络的管理员就可以得到进一步的信息。
那么假如源地址是伪装的,追踪这个攻击者就麻烦得多。若使用的是Cisco路由器,则还需查询NetFlow高速缓存。NetFlow是Cisco快速转发(CEF)交换框架的特性之一。为了追踪这个伪装的地址,必须查询每个路由器上的NetFlow缓存,才能确定流量进入了哪个接口,然后通过这些路由器一次一个接口地往回一路追踪,直至找到那个IP地址源。然而这样做是非常难的,因为在Web Server和攻击者的发起pc之间可能经由许多路由器,而且属于不同的组织。另外,必须在攻击正在进行时做这些分析。
经过分析之后,将防火墙日志和路由器日志里的信息关联起来,发现了一些有趣的相似性,如表黑色标记处。攻击的目标显然是Web服务器192.68.0.175,端口为UDP 7,即回显端口。这看起来很像拒绝服务攻击(但还不能确定,因为攻击的分布很随意)。地址看起来多多少少是随意而分散的,只有一个源地址是固定不变的,其源端口号也没变。这很有趣。接着又将注意力集中到路由器日志上。
立刻发现,攻击发生时路由器日志上有大量的64字节的数据包,而此时Web服务器日志上没有任何问题。他还发现,案发时路由器日志里还有大量的“UDP-other”数据包,而Web服务器日志也一切正常。这种现象与基于UDP的拒绝服务攻击的假设还是很相符的。
攻击者正是用许多小的UDP数据包对Web服务器的回显(echo 7)端口进行洪泛式攻击,因此他们的下一步任务就是阻止这一行为。首先,我们在路由器上堵截攻击。快速地为路由器设置了一个过滤规则。因为源地址的来源很随机,他们认为很难用限制某个地址或某一块范围的地址来阻止攻击,因此决定禁止所有发给192.168.0.175的UDP包。这种做法会使服务器丧失某些功能,如DNS,但至少能让Web服务器正常工作。
路由器最初的临时DOS访问控制链表(ACL)
access-list 121 remark Temporary block DoS attack on web server 192.168.0.175
access-list 105 deny udp any host 192.168.0.175
access-list 105 permit ip any any
这样的做法为Web服务器减轻了负担,但攻击仍能到达web,在一定程度上降低了网络性能。 那么下一步工作是联系上游带宽提供商,想请他们暂时限制所有在他的网站端口7上的UDP入流量。这样做会显著降低网络上到服务器的流量。
三、针对DOS预防措施
对于预防及缓解这种带宽相关的DoS攻击并没有什么灵丹妙药。本质上,这是一种“粗管子打败细管子”的攻击。攻击者能“指使”更多带宽,有时甚至是巨大的带宽,就能击溃带宽不够的网络。在这种情况下,预防和缓解应相辅相成。
有许多方法可以使攻击更难发生,或者在攻击发生时减小其影响,具体如下:
Ø  网络入口过滤  网络服务提供商应在他的下游网络上设置入口过滤,以防止假信息包进入网络(而把它们留在Internet上)。这将防止攻击者伪装IP地址,从而易于追踪。
Ø  网络流量过滤  过滤掉网络不需要的流量总是不会错的。这还能防止DoS攻击,但为了达到效果,这些过滤器应尽量设置在网络上游。
Ø  网络流量速率限制  一些路由器有流量速率的最高限制。这些限制条款将加强带宽策略,并允许一个给定类型的网络流量匹配有限的带宽。这一措施也能预先缓解正在进行的攻击,同时,这些过滤器应尽量设置在网络上游(尽可能靠近攻击者);
Ø  入侵检测系统和主机监听工具  IDS能警告网络管理员攻击的发生时间,以及攻击者使用的攻击工具,这将能协助阻止攻击。主机监听工具能警告管理员系统中是否出现DoS工具
Ø  单点传送RPF  这是CEF用于检查在接口收到的数据包的另一特性。如果源IP地址CEF表上不具有与指向接收数据包时的接口一致的路由的话,路由器就会丢掉这个数据包。丢弃RPF的妙处在于,它阻止了所有伪装源IP地址的攻击。
针对DDOS预防措施
看了上面的实际案例我们也了解到,许多DDoS攻击都很难应对,因为搞破坏的主机所发出的请求都是完全合法、符合标准的,只是数量太大。借助恰当的ACL,我们可以阻断ICMP echo请求。但是,如果有自己的自治系统,就应该允许从因特网上ping你。不能ping通会使ISP或技术支持团队(如果有的话)丧失某些故障排解能力。也可能碰到具有Cisco TCP截获功能的SYN洪流:
Router(config)#ip tcp intercept list 101
Router(config)#ip tcp intercept max-incomplete high 3500
Router(config)#ip tcp intercept max-incomplete low  3000
Router(config)#ip tcp intercept one-minute high 2500
Router(config)#ip tcp intercept one-minute low 2000
Router(config)#access-list 101 permit any any
如果能采用基于上下文的访问控制(Context Based Access Control,CBAC),则可以用其超时和阈值设置应对SYN洪流和UDP垃圾洪流。例如:
Router(config)# ip inspect tcp synwait-time 20
Router(config)# ip inspect tcp idle-time 60
Router(config)# ip inspect udp idle-time 20
Router(config)# ip inspect max-incomplete high 400
Router(config)# ip inspect max-incomplete low  300
Router(config)# ip inspect one-minute high  600
Router(config)# ip inspect one-minute low 500
Router(config)# ip inspect tcp max-incomplete host 300 block-time 0
警告:建议不要同时使用TCP截获和CBAC防御功能,因为这可能导致路由器过载。
打开Cisco快速转发(Cisco Express Forwarding,CEF)功能可帮助路由器防御数据包为随机源地址的洪流。可以对调度程序做些设置,避免在洪流的冲击下路由器的CPU完全过载:
Router(config)#scheduler allocate 3000 1000
在做了这样的配置之后,IOS会用3s的时间处理网络接口中断请求,之后用1s执行其他任务。对于较早的系统,可能必须使用命令scheduler interval<milliseconds>。
四、总结
无论是出于报复、敲诈勒索、发起更大规模攻击,DoS或DDoS攻击都是一种不容轻视的威胁。非同一般的DoS攻击通常是某种不完整的漏洞利用—使系统服务崩溃,而不是将控制权交给攻击者。防范这种攻击的办法是及时打上来自厂商的补丁,或者对于Cisco系统,及时将操作系统升级到更新版本。同时,要关闭有漏洞的服务,或者至少要用访问控制列表限制访问。常规的DoS攻击,特别是DDoS攻击,经常不是那么有章法,也更难防范。如果整个带宽都被蹩脚的ping洪流所耗尽,我们所能做的就很有限了。最后,必须与ISP和权力部门协作,尽可能从源头上阻止攻击。要用不同供应商、不同AS路径并支持负载均衡功能的不止一条到因特网的连接,但这与应对消耗高带宽的常规DoS/DDoS洪流的要求还相差很远。我们总是可以用CAR或NBAR来抛弃数据包或限制发动进攻的网络流速度,减轻路由器CPU的负担,减少对缓冲区和路由器之后的主机的占用。

转载于:https://www.cnblogs.com/chenguang/archive/2011/02/26/1965918.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_754637.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于WebSphere与Domino的电子商务网站构架分析

本文出自 “李晨光原创技术博客” 博客&#xff0c;谢绝转载&#xff01; 转载于:https://www.cnblogs.com/chenguang/p/3742340.html

随时查看源码的网站---http://www.sooset.com/

由于工作需要经常要在Windows平台下参阅linux源码&#xff0c;以前都用http://lxr.linux.no/来浏览源码&#xff08;如下图所示&#xff09;,最近发现sooset来浏览更方便&#xff0c;所以介绍给大家分享。导航栏用起来很方便&#xff0c;不是吗&#xff1f;呵呵更多详情请参考&…

大型网站架构之百万PV

一&#xff1a;百万PV架构概述PV(page view&#xff0c;页面浏览量)即点击量&#xff0c;通常是衡量一个网站受欢迎程度的主要指标。本案例采用四层模式实现&#xff0c;主要分为前端反向代理层、web层、数据库缓存层和数据库层。前端反向代理层采用主备模式&#xff0c;web层采…

网站及监控利器 Pandora FMS使用体验

Pandora FMS 是一个 开源的应用程序 &#xff0c;用来监测网站的各种活动,它可以收到实时的监测报告&#xff0c;并发送到你指定的邮箱&#xff0c;也可以通过e-mail&#xff0c; SMS 发送。 更多Linux下的监控软件请关注《Linux企业应用案例精解》一书本文出自 “李晨光原创技…

layui导入模板数据_大气漂亮美观的三个网站后台数据管理模板 大大提升你的开发效率...

今天整理了三个我做项目经常使用的三个网站后台模板&#xff0c;这三个模板都是开源的&#xff0c;可以下载商用&#xff0c;可基于它们开发任何网站&#xff0c;做为后台管理数据。这样能为你开发后台功能节约大量的时间。一.ok-admin 一个很赞的&#xff0c;扁平化风格的&…

Silverlight SEO(搜索引擎优化)白皮书

概要这份文档描述了一些Silverlight程序的搜索引擎优化&#xff08;SEO&#xff09;技巧。这些技巧是用来帮助开发人员使得Silverlight内容能够在搜索引擎的结果页被发现&#xff0c;并为没有激活Silverlight的用户提供合意的体验。这份文档将包括以下的章节&#xff1a;*介绍 …

21绝对优秀的网站推荐,激发创意寻找灵感的好去处

世界上总有这么一些人乐于分享&#xff0c;下面挑出21个在设计方面绝对优秀的网站&#xff0c;里面有超酷的设计&#xff0c;时尚的咨询&#xff0c;成功的经验&#xff0c;uleadesign的很多内容就来自于这些网站&#xff0c;希望大家喜欢. 1. Deviantart 2. Behance 3. Abduze…

注册地址从零开始学建站-域名篇

今天朋友几篇文章分析了改注册地址的文章. 关联文章的地址 从零开始学建站-域名篇 域名的基础知识 域名俗称网址&#xff0c;很多人对于一个网站的最初印象可能恰是从这些字符串开始的。为了给拜访者留下一个深刻的第一印象&#xff0c;域名的选择在网站建立过程中有着很大的作…

eclipse for java linux_Eclipse的安装 - Ubuntu 14.04下Java开发环境的搭建_Linux教程_Linux公社-Linux系统门户网站...

下面我们来安装Eclipse&#xff01;安装Eclipse 的前提是&#xff0c;你的JDK已经安装成功好了 开始安装。首先在合适的地方解压eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gzcd /opt/DevelopTools/ide/sudo cp/home/home/下载/eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar…

php自动识别pc和手机端并跳转,JS如何实现网站中PC端和手机端自动识别并跳转对应的代码...

1. 代码场景&#xff1a;描述&#xff1a;在项目中&#xff0c;一般我们会使用响应式布局的方式或者借助bootstrap等插件来做响应式的网站。但是根据业务的需求&#xff0c;手机端可能会在功能上精简很多&#xff0c;我们也会写两套代码&#xff0c;分别用来实现PC端和手机端的…

1月国内网站流量统计:百度稳夺冠军 腾讯季军

IDC评述网&#xff08;idcps.com&#xff09;01月30日报道&#xff1a;根据中国互联网协会-中国网站排名公布的最新数据显示&#xff0c;截至2015年01月28日&#xff0c;国内网站独立访问量排名前五的是&#xff1a;百度、360安全中心、腾讯网、搜狗、淘宝网&#xff0c;如下图…

HTML5 Web Speech API,让网站更有趣

Web API 变得越来越丰富&#xff0c;其中一个值得注意的是Web Speech API。传统的网站只能“说”&#xff0c;这个API的出现&#xff0c;让网站能“倾听”用户。这个功能已经开放了一系列的用法&#xff0c;非常棒。 在这篇文章中&#xff0c;我们将看一下这项技术和建议的用法…

【读书笔记】第三章 大型网站核心架构要素

2019独角兽企业重金招聘Python工程师标准>>> #第三章 大型网站核心架构要素 软件架构&#xff1a;有关软件整体结构与组件的抽象描述&#xff0c;用于指导大型软件系统各个方面的设计 软件架构需要关注的几个方面&#xff1a; 系统功能需求&#xff08;最基本的&…

求职季,你需要一点 SEO 思维

SEOer 是一群和百度上演着相爱相杀戏码的人&#xff0c;这些人擅长搞排名、引流量。乍一看&#xff0c;SEO 与找工作之间似乎并没有什么关联。但其实借鉴用户在网上搜索产品的思维方式&#xff0c;很容易让 HR 找到我们。那么我们应该如何运用 SEO 思维让工作找到自己呢?在这之…

java eclipse字体大小设置_「eclipse字体大小设置」Eclipse中调整字体的大小 - seo实验室...

eclipse字体大小设置1.点击window&#xff0c;然后选择preferences&#xff0c;进入下面的界面。在输入框中输入font&#xff0c;然后选择colors and fonts &#xff0c;再选择basic&#xff1a;2.在basic中找到text&#xff0c;然后点击edit3.这样就来到了设置界面&#xff0c…

SSL安全性检测的在线测试网站--有需要的推荐

https://www.ssllabs.com/ 下一个要解决的问题&#xff1a; CRIME: Information Leakage Attack against SSL/TLS https://community.qualys.com/blogs/securitylabs/2012/09/14/crime-information-leakage-attack-against-ssltls

两天开发的网站果然没人用,所以我决定优化一下

J3 - 西行杂文&#xff08;小夹子 # 开发&#xff09; 上周末在家封闭了两天&#xff0c;就为了解个心结做个小夹子网站出来&#xff0c;最初的功能就是单纯的把我所看过的文章、资料保存起来&#xff0c;方便以后统计、回顾。 并且我也是紧接着出了一篇相关文章来说明这件事&…

两天开发个网站,不为别的就为存点小资源

两天开发个网站&#xff0c;不为别的就为存点小资源 J3 - 西行杂文&#xff08;小夹子 # 开发&#xff09; 以下“资源”一词如特别说明&#xff0c;一律指学习资源或技术文章 从事技术类软件开发也有快两年了&#xff08;强行增加工作经验&#xff09;&#xff0c;深知持续学…

网站的内页是怎样进行优化的

经常在论坛见到大部分站长分享的都是网站整站优化或者首页优化&#xff0c;但是这些页面优化的词毕竟是有限的&#xff0c;一个网站涉及到优化的词估计几百上千个&#xff0c;所以我们在做最终内页时候也得考虑怎么优化的这个问题&#xff0c;那么网站的内页是如何进行优化?我…

python爬虫:爬取网站视频

python爬取百思不得姐网站视频&#xff1a;http://www.budejie.com/video/新建一个py文件&#xff0c;代码如下&#xff1a;#!/usr/bin/python # -*- coding: UTF-8 -*-import urllib,re,requests import sys reload(sys) sys.setdefaultencoding(utf-8)url_name [] #url name…