DDoS全称DistributedDenialofService,中文译为“分布式拒绝服务”,就是利用大量合法的分布式服务器向目标发送请求,从而导致正常合法用户无法获得服务。打个比方,如果黑客控制了成千上万的计算机,然后让它们同时去向一台Web服务器发起请求。而该服务器的响应能力是有限的,那么它很快就会因为资源耗尽而停止响应了。
DOS分布式拒绝服务攻击,一种受众非常广泛的攻击方式,分为多种类型,笔者以综合的视角总结出DOSDos攻击的各种类型,堪称无所不及。
泛洪(TCPSYN)攻击(目标:网络服务器)
SYN攻击使用TCP的三个节点机制,攻击端使用伪造的IP地址向被攻击端发出请求,由被攻击端发出的应答信息将永远不会发送到目的地,因此在等待关闭该连接时,被攻击端会消耗资源,如果有数千个这样的连接,主机资源就会耗尽,从而导致攻击的目的。
比喻打比方:syn泛洪攻击类似于一群人到银行窗口办理业务,银行人员问了一些问题,他们故意把东扯西扯,就在窗口处浪费时间。
TCPSYN泛洪是在OSI第四层中进行的,它利用了TCP协议的特点,即三次握手。黑客发送TCPSYN,SYN是TCP三次握手中的第一次,当服务器返回ACK时,黑客就不再确认TCP连接,而是将所谓的半连接状态,即服务器收不到再确认的情况下,黑客再次发送ACK给黑客。这将更浪费服务器资源。黑客们向服务器发送了大量的这种TCP连接,由于每个服务器都不能完成这三次握手,因此,在服务器上,这些TCP连接会消耗CPU和内存,从而导致最终服务器死亡,并且不能为正常用户服务。
为了防止SYN泛洪攻击,通常对主机系统设置进行优化。由于减少了SYNtimeout时间,主机可以尽快释放半连接的占用;还可以采用SYNcookie设置,如果在短时间内连续收到IP的一个重复的SYN请求,就会认为该IP受到攻击,从该IP删除后续请求的报文。另外,使用诸如防火墙这样的外部网络安全设备可以减轻SYN泛洪攻击。
cc攻击(目标:Web服务器)
通过代理服务器来生成针对受侵害的主机的合法请求,实现一种新的操作系统和伪装,这就是所谓的“CC”。
CC主要用于攻击网页。每个人都有这样的经验,就是在论坛访问时,如果该论坛较大,访问者较多,打开页面的速度会较慢,访问者越多,论坛的网页越多,数据库的压力越大,访问的频率越高,系统所占用的资源也就越多。
就像一群人去一家银行存钱一样,每一次他们都只存一分钱,直到银行关门。
怎样判断cc攻击是否发生?
一是命令行方法。
普通Web服务器在遭受CC攻击时,会出现80端口外部关闭的现象,因为此端口已被大量垃圾数据阻塞,正常连接已被中断。在命令行中输入命令netstat-an就可以看到了,“SYN_RECEIVED”是一个TCP连接状态标志,它意味着“正在进行连接的初始同步状态”,表示无法创建一个正在等待响应。这种攻击的特点就是,一般这种记录都会有很多条,代表了不同代理IP的攻击。
二是批处理法。
上面的方法需要手动输入命令,如果Web服务器IP连接太多可能显得麻烦,那么可以通过脚本代码创建一个批处理文件来确定CC攻击是否存在。
该脚本过滤当前与80端口的所有连接。如果感到服务器出现异常,可以双击运行批处理文件,然后在打开的log.log文件中查看所有连接。若同一IP与服务器的连接数较多,则基本上可以断定该IP正对服务器发动CC攻击。
三、查看系统日志。
一般情况下,Web日志位于C:\WINDOWS\syem32\LogFiles\HTTPERR目录下,其中包含一个使用类似