Web服务器CC和DDOS攻击原理

本文详细介绍了CC攻击与DDoS攻击的原理、类型与防御策略,包括取消域名绑定、域名欺骗解析、更改Web端口、IIS屏蔽IP等方法,以及如何判断网站是否遭受流量攻击与资源耗尽攻击。文章最后提供了抵御DDoS攻击的几种流行方法,如采用高性能网络设备、避免使用NAT、确保充足的网络带宽、升级主机服务器硬件和将网站做成静态页面。
摘要由CSDN通过智能技术生成


CC 攻击
CC 攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器
资源耗尽,一直到宕机崩溃。CC 主要是用来攻击页面的,每个人都有这样的体验:当一个
网页访问的人数特别多的时候, 打开网页就慢了, CC 就是模拟多个用户(多少线程就是多少
用户)不停地进行访问那些需要大量数据操作(就是需要大量 CPU 时间)的页面,造成服务器
资源的浪费, CPU 长时间处于 100%, 永远都有处理不完的连接直至就网络拥塞, 正常的访
问被中止。
二、CC 攻击的种类:
CC 攻击的种类有三种,直接攻击,代理攻击,僵尸网络攻击,直接攻击主要针对有重要缺
陷的 WEB 应用程序,一般说来是程序写的有问题的时候才会出现这种情况,比较少见。
僵尸网络攻击有点类似于 DDOS 攻击了, 从 WEB 应用程序层面上已经无法防御, 所以代
理攻击是 CC 攻击者一般会操作一批代理服务器,比方说 100 个代理,然后每个代理同时
发出 10 个请求,这样 WEB 服务器同时收到 1000 个并发请求的,并且在发出请求后,
立刻断掉与代理的连接, 避免代理返回的数据将本身的带宽堵死, 而不能发动再次请求, 这
时 WEB 服务器会将响应这些请求的进程进行队列, 数据库服务器也同样如此, 这样一来,
正常请求将会被排在很后被处理, 就象本来你去食堂吃饭时, 一般只有不到十个人在排队,
今天前面却插了一千个人, 那么轮到你的机会就很小很小了, 这时就出现页面打开极其缓慢
或者白屏。
CC 攻击防御策略
确定 W eb 服务器正在或者曾经遭受 CC 攻击,那如何进行有效的防范呢?
(1).取消域名绑定
一般 cc 攻击都是针对网站的域名进行攻击,比如我们的网站域名是“www .abc.com”,那
么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。 对于这样的攻击我们的措施
是在 IIS 上取消这个域名的绑定, 让 CC 攻击失去目标。 具体操作步骤是: 打开“IIS 管理器”
定位到具体站点右键“属性”打开该站点的属性面板,点击 IP 地址右侧的“高级”按钮,选择
该域名项进行编辑,将“主机头值”删除或者改为其它的值(域名)。经过测试,取消域名绑定
后 W eb 服务器的 CPU 马上恢复正常状态,通过 IP 进行访问连接一切正常。但是不足之处
也很明显,取消或者更改域名对于别人的访问带来了不便,另外,对于针对 IP 的 CC 攻击
它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。
(2).域名欺骗解析
如果发现针对域名的 CC 攻击, 我们可以把被攻击的域名解析到 127.0.0.1 这个地址上。
我们知道 127.0.0.1 是本地回环 IP 是用来进行网络测试的,如果把被攻击的域名解析到这个
IP 上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者代理也会宕机,让
其自作自受。另外,当我们的 W eb 服务器遭受 CC 攻击时把被攻击的域名解析到国家有权
威的政府网站或者是网警的网站,让其网警来收拾他们。
(3).更改 Web 端口
一般情况下 W eb 服务器通过 80 端口对外提供服务, 因此攻击者实施攻击就以默认的 80
端口进行攻击,所以,我们可以修改 W eb 端口达到防 CC 攻击的目的。运行 IIS 管理器,定
位到相应站点,打开站点“属性”面板,在“网站标识”下有个 TCP 端口默认为 80,我们修改
为其他的端口就可以了。
(4).IIS 屏蔽 IP
通过命令或在查看日志发现了 CC 攻击的源 IP,就可以在 IIS 中设置屏蔽该 IP 对 W eb 站点
的访问,从而达到防范 IIS 攻击的目的。在相应站点的“属性”面板中,点击“目录安全性”选
项卡, 点击“IP 地址和域名现在”下的“编辑”按钮打开设置对话框。 在此窗口中我们可以设置
“授权访问”也就是“白名单”,也可以设置“拒绝访问”即“黑名单”。比如我们可以将攻击者的
IP 添加到“拒绝访问”列表中,就屏蔽了该 IP 对于 W eb 的访问。
DOS:
拒绝服务攻击即攻击者想办法让目标机器停止提供服务或资源访问。 这些资源包括磁盘空
间、 内存、 进程甚至网络带宽, 从而阻止正常用户的访问。 其实对网络带宽进行的消耗性攻
击只是拒绝服务攻击的一小部分, 只要能够对目标造成麻烦, 使某些服务被暂停甚至主机死
机, 都属于拒绝服务攻击。 拒绝服务攻击问题也一直得不到合理的解决, 究其原因是因为这
是由于网络协议本身的安全缺陷造成的, 从而拒绝服务攻击也成为了攻击者的终极手法。 攻
击者进行拒绝服务攻击, 实际上让服务器实现两种效果: 一是迫使服务器的缓冲区满, 不接
收新的请求; 二是使用 IP 欺骗, 迫使服务器把合法用户的连接复位, 影响合法用户的连接。
DDOS
DDO(分布式拒绝服务) :凡是能导致合法用户不能够访问正常网络服务的行为都算是
拒绝服务攻击。 也就是说拒绝服务攻击的目的非常明确, 就是要阻止合法用户对正常网络资
源的访问,从而达成攻击者不可告人的目的。
虽然同样是拒绝服务攻击,但是 DDOS 和 DOS 还是有所不同,DDOS 的攻击策略侧重
于通过很多“僵尸主机” (被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似
合法的网络包, 从而造成网络阻塞或服务器资源耗尽而导致拒绝服务, 分布式拒绝服务攻击
一旦被实施, 攻击网络包就会犹如洪水般涌向受害主机, 从而把合法用户的网络包淹没, 导
致合法用户无法正常访问服务器的网络资源, 因此, 拒绝服务攻击又被称之为 “洪水式攻击” ,
常见的 DDOS 攻击手段有 SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、
Connections Flood、Script Flood、Proxy Flood 等;而 DOS 则侧重于通过对主机特定漏洞的
利用攻击导致网络栈失效、 系统崩溃、 主机死机而无法提供正常的网络服务功能, 从而造成
拒绝服务, 常见的 DOS 攻击手段有 T earDrop、 Land、 Jolt、 IGMP Nuker、 Boink、 Smurf、 Bonk、
OOB 等。就这两种拒绝服务攻击而言,危害较大的主要是 DDOS 攻击,原因是很难防范,
至于 DOS 攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范
DDOS 的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量
攻击包导致网络带宽被阻塞, 合法网络包被虚假的攻击包淹没而无法到达主机; 另一种为资
源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或
CPU 被内核及应用程序占完而造成无法提供网络服务。
如何判断网站是否遭受了流量攻击呢?可通过 Ping 命令来测试,若发现 Ping 超时或丢
包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换
机上的服务器也访问不了了, 基本可以确定是遭受了流量攻击。 当然, 这样测试的前提是你
到服务器主机之间的 ICMP 协议没有被路由器和防火墙等设备屏蔽, 否则可采取 T elnet 主机
服务器的网络服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时 Ping 你的
主机服务器和接在同一交换机上的主机服务器都是正常的,突然都 Ping 不通了或者是严重
丢包, 那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击, 再一个流量攻击的典


型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言, 资源耗尽攻击要容易判断一些, 假如平时 Ping 网站主机和访问网
站都是正常的,发现突然网站访问非常缓慢或无法访问了,而 Ping 还可以 Ping 通,则很可
能 遭 受 了 资 源 耗 尽 攻 击 , 此 时 若 在 服 务 器 上 用 Netstat -na 命 令 观 察 到 有 大 量 的
SYN_RECEIVED、 TIME_W AIT、 FIN_W AIT_1 等状态存在, 而 EST ABLISHED 很少, 则可
判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping 自己的网站
主机 Ping 不通或者是丢包严重,而 Ping 与自己的主机在同一交换机上的服务器则正常,造
成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序 CPU 利用率达到 100%无
法回应 Ping 命令,其实带宽还是有的,否则就 Ping 不通接在同一交换机上的主机了。
当前主要有三种流行的 DDOS 攻击:
1、SYN/ACK Flood 攻击:
这种攻击方法是经典最有效的 DDOS 方法, 可通杀各种系统的网络服务, 主要是通过向
受害主机发送大量伪造源 IP 和源端口的 SYN 或 ACK 包,导致主机的缓存资源被耗尽或忙
于发送回应包而造成拒绝服务, 由于源都是伪造的故追踪起来比较困难, 缺点是实施起来有
一定难度, 需要高带宽的僵尸主机支持。 少量的这种攻击会导致主机服务器无法访问, 但却
可以 Ping 的通, 在服务器上用 Netstat -na 命令会观察到存在大量的 SYN_RECEIVED 状态,
大量的这种攻击会导致 Ping 失败、TCP/IP 栈失效,并会出现系统凝固现象,即不响应键盘
和鼠标。普通防火墙大多无法抵御此种攻击。
2、TCP 全连接攻击:
这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过
滤 T earDrop、Land 等 DOS 攻击的能力,但对于正常的 TCP 连接是放过的,殊不知很多网
络服务程序(如:IIS、Apache 等 W eb 服务器)能接受的 TCP 连接数是有限的,一旦有大
量的 TCP 连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP 全连接攻
击就是通过许多僵尸主机不断地与受害服务器建立大量的 TCP 连接,直到服务器的内存等
资源被耗尽而被拖跨, 从而造成拒绝服务, 这种攻击的特点是可绕过一般防火墙的防护而达
到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的 IP 是暴露的,因此容易被
追踪。
3、刷 Script 脚本攻击:
这种攻击主要是针对存在 ASP、JSP、PHP、CGI 等脚本程序,并调用 MSSQLServer、
MySQLServer、Oracle 等数据库的网站系统而设计的,特征是和服务器建立正常的 TCP 连
接, 并不断的向脚本程序提交查询、 列表等大量耗费数据库资源的调用, 一般来说, 提交一
个 GET 或 POST 指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此
请求却可能要从上万条记录中去查出某个记录, 这种处理过程对资源的耗费是很大的, 常见
的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举
的, 因此攻击者只需通过 Proxy 代理向主机服务器大量递交查询指令, 只需数分钟就会把服
务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP 程序失效、PHP 连
接数据库失败、数据库主程序占用 CPU 偏高。这种攻击的特点是可以完全绕过普通的防火
墙防护, 轻松找一些 Proxy 代理就可实施攻击, 缺点是对付只有静态页面的网站效果会大打
折扣,并且有些 Proxy 会暴露攻击者的 IP 地址。
怎么抵御 DDOS
仅仅依靠某种系统或产品防住 DDOS 是不现实的, 可以肯定的是, 完全杜绝 DDOS 目前
是不可能的,但通过适当的措施抵御 90%的 DDOS 攻击是可以做到的,基于攻击和防御都
有成本开销的缘故,若通过适当的办法增强了抵御 DDOS 的能力,也就意味着加大了攻击
者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了
DDOS 攻击。
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时
候要尽量选用知名度高、 口碑好的产品。 再就是假如和网络提供商有特殊关系或协议的话就
更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的
DDOS 攻击是非常有效的。
2、尽量避免 NAT 的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换 NAT 的使用, 因为采用
此技术会较大降低网络通信能力,其实原因很简单,因为 NA T 需要对地址来回转换,转换
过程中需要对网络包的校验和进行计算,因此浪费了很多 CPU 的时间,但有些时候必须使
用 NA T,那就没有好办法了。
3、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力, 假若仅仅有 10M 带宽的话, 无论采取什么措施
都很难对抗现在的 SYNFlood 攻击, 当前至少要选择 100M 的共享带宽,最好的当然是挂在
1000M 的主干上了。但需要注意的是,主机上的网卡是 1000M 的并不意味着它的网络带宽
就是千兆的, 若把它接在 100M 的交换机上, 它的实际带宽不会超过 100M, 再就是接在 100M
的带宽上也不等于就有了百兆的带宽, 因为网络服务商很可能会在交换机上限制实际带宽为
10M,这点一定要搞清楚。
4、升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒 10 万个 SYN 攻击
包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是 CPU 和
内存, 若有志强双 CPU 的话就用它吧, 内存一定要选择 DDR 的高速内存, 硬盘要尽量选择
SCSI 的,别只贪 IDE 价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一
定要选用 3COM 或 Intel 等名牌的,若是 Realtek 的还是用在自己的 PC 上吧。
5、把网站做成静态页面
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑
客入侵带来不少麻烦,至少到现在为止关于 HTML 的溢出还没出现,新浪、搜狐、网易等
门户网站主要都是静态页面, 若你非需要动态脚本调用, 那就把它弄到另外一台单独主机去,
免的遭受攻击时连累主服务器, 当然, 适当放一些不做数据库调用脚本还是可以的, 此外,
最好在需要调用数据库的脚本中拒绝使用代理的访问, 因为经验表明使用代理访问你网站的
80%属于恶意行为。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值