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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云防火墙,500元 1000GB
简介:



当网站遭遇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
表一 防火墙日志
之后在路由器日志上做了同样的工作并打印出了看上去异常的记录。
攻击期间的路由器日志
图一
解释:
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 从这种协议的各个非终止信息流的最后一个数据包起,直到输入这一命令时止的时间总和(以秒为单位),或者这段综合时间内信息流的总时间长度。
 
正常路由日志
图二
IP packet sizedistribution 这个标题下的两行显示了数据包按大小范围分布的百分率。这里显示的内容表明:2%的数据包的大小在33字节到64字节之间。
注意网站的访问量直线下降。很明显,在这段时间没人能访问他的Web服务器。我开始研究到底发生了什么,以及该如何尽快地修复。
二、事件分析
我的Web服务器发生了什么?很有可能攻击,那么受到什么样的攻击呢?从这一攻击是对回显端口看,即是端口7,不断发送小的UDP数据包来实现。攻击看似发自两个策源地,可能是两个攻击者同时使用不同的工具。在任何情况下,超负荷的数据流都会拖垮Web服务器。然而攻击地址源不确定,不知道是攻击源本身是分布的,还是同一个地址伪装出许多不同的IP地址,这个问题比较难判断。假如源地址不是伪装的,是真实地址,则可以咨询ARIN I美国Internet号码注册处,从它的“whois”数据库查出这个入侵1P地址属于哪个网络。接下来只需联系那个网络的管理员就可以得到进一步的信息。
那么假如源地址是伪装的,追踪这个攻击者就麻烦得多。若使用的是Cisco路由器,则还需查询NetFlow高速缓存。NetFlowCisco快速转发(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.175UDP包。这种做法会使服务器丧失某些功能,如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地址的攻击。
 




 本文转自 李晨光 51CTO博客,原文链接: http://blog.51cto.com/chenguang/497573 ,如需转载请自行联系原作者
 
相关文章
|
1月前
|
弹性计算 负载均衡 监控
防御DDoS攻击:策略与技术深度解析
【6月更文挑战第12天】本文深入探讨了防御DDoS攻击的策略和技术。DDoS攻击通过僵尸网络耗尽目标系统资源,特点是分布式、高流量和隐蔽性。防御策略包括监控预警、流量清洗、负载均衡、弹性伸缩及灾备恢复。技术手段涉及IP信誉系统、深度包检测、行为分析、流量镜像与回放及云防护服务。综合运用这些方法能有效提升抗DDoS攻击能力,保障网络安全。
|
17天前
|
弹性计算 负载均衡 网络协议
在缓解DDoS攻击方面,如何优化业务架构?
**缓解DDoS攻击的策略:** 1. 缩小暴露面,隔离业务并隐藏非必需服务端口。 2. 使用VPC以增强内网安全。 3. 优化业务架构,进行压力测试,部署弹性伸缩和负载均衡。 4. 优化DNS解析,智能解析并屏蔽异常DNS响应。 5. 提供充足带宽以防攻击时影响正常流量。 6. 服务器安全加固,更新补丁,限制服务和端口,使用防火墙。 7. 建立应急响应预案,定期演练。 8. 考虑采用Web应用防火墙和专业DDoS防护服务。
151 17
|
13天前
|
Cloud Native 安全 网络协议
有没有一些开源的工具可以帮助我抵御DDoS攻击?
开源DDoS防护工具包括: 1. ExaBGP:多功能BGP工具,用于流量保护。 2. DDoS-Ripper:DDoS攻击服务器,产生大量流量。 3. mCaptcha:无感知验证码,防御垃圾信息和DDoS。 4. Gatekeeper:首个开源DDoS防护系统。 5. Curiefense:统一的云原生应用保护平台,内置DDoS防护。 6. XDP-Firewall:利用Linux XDP快速阻断恶意流量的防火墙。
|
1月前
|
负载均衡 监控 网络协议
高防服务器如何处理DDoS攻击?关于高防服务器的一些技术细节
DDoS攻击是网络威胁,通过大量请求淹没服务器。防御措施包括:备份网站以备切换,拦截异常HTTP请求,增加带宽抵御流量攻击,使用CDN分发内容并隐藏源IP。防御策略涉及流量清洗、黑洞路由、负载均衡等。硬件如防火墙、IDS/IPS也重要,云服务提供自动防护和弹性扩容。
|
1月前
|
弹性计算 负载均衡 监控
DDoS 攻击与防御技术
DDOS攻击一直是互联网通讯的一大诟病,它跟互联网通讯方式相互依存,下面介绍一些关于防ddos攻击的方案和想法。
164 4
|
13天前
|
网络协议 网络安全
有哪些常见的DDoS攻击类型?
DDoS攻击可分为三类:网络层(ICMP Flood, ARP Flood, IP分片)、传输层(SYN Flood, ACK Flood, UDP Flood)和应用层(DNS Flood, HTTP Flood, CC攻击),目标是消耗带宽、资源或使服务不可用。
|
23天前
|
安全 网络安全
安全----DDOS攻击解析,预防DDOS攻击的反击时ip封禁
安全----DDOS攻击解析,预防DDOS攻击的反击时ip封禁
|
1月前
|
Shell 网络安全 Apache
详细解读DDOS攻击应用
详细解读DDOS攻击应用
16 0
|
1月前
|
运维 安全 网络安全
DDoS攻击增速惊人,谈谈防御DDoS攻击的几大有效方法
DDoS攻击增速惊人,谈谈防御DDoS攻击的几大有效方法
28 0
|
1月前
|
存储 安全 应用服务中间件
解密Nginx限流机制:有效应对DDoS攻击与高并发流量
解密Nginx限流机制:有效应对DDoS攻击与高并发流量
60 0