什么是DDOS攻击?git
DOS(Denial of Service)是拒绝服务攻击.
DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击通常是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增加,内存大大增长,同时也出现了千兆、万兆、百级级别的网络,这使得DoS攻击的困难程度加大了-目标对恶意攻击包的"消化能力"增强了很多,例如你的攻击软件每秒钟能够发送3,000个攻击包,但个人主机与网络带宽每秒钟能够处理10,000个攻击包,这样一来攻击就不会产生什么效果。
这时侯分布式的拒绝服务攻击手段(DDoS)就应运而生了。理解了DoS攻击的话,它的原理就很简单。若是说计算机与网络的处理能力加大了10倍,用一台攻击机来攻击再也不能起做用的话,攻击者使用10台攻击机同时攻击呢?用100台呢?DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来做为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提升拒绝服务攻击的威力。一般,攻击者使用一个偷窃账号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通信,代理程序已经被安装在Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行
高速普遍链接的网络给你们带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,老是会优先考虑离目标网络距离近的机器,由于通过路由器的跳数少,效果好。而如今电信骨干节点之间的链接都是以G为级别的,大城市之间更能够达到2.5G的链接,这使得攻击能够从更远的地方或者其余城市发起,攻击者的傀儡机位置能够在分布在更大的范围,选择起来更灵活了.
被DDoS攻击时的现象:
· 被攻击主机上有大量等待的TCP链接。
· 网络中充斥着大量的无用的数据包,源地址为假。
· 制造高流量无用数据,形成网络拥塞,使受害主机没法正常和外界通信。
· 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机没法及时处理全部正常请求。
· 严重时会形成系统死机。
DDOS全球实时图
http://www.digitalattackmap.com/
攻击面
咱们将正经常使用户访问网站页面的流程分为1-8 八个阶段
对于目标来讲 看能够讲八个阶段分红两类:
1.上传流量
2.下载流量
针对不一样的攻击面:
1-8 2-7 ping tcp包等等
3-6 须要动态语言处理的请求及响应
4-5 数据库查询及结果
不一样攻击面分别消耗不等资源:1.带宽资源 2.CPU 3.内存 4.硬盘资源
1>反射型(放大攻击)攻击 - 以小博大
从攻击服务器性能来看 , 让服务器返回工做而且返回更大的数据量的数据包(好比get请求)可以消耗服务器更多的性能, 形成不能对正经常使用户的访问作出回应。
好比说下面要讲的cc攻击。 咱们将这种手段称之为反射型攻击。
2>CC攻击
攻击原理:利用代理服务器向受害者发起大量HTTP Get请求;主要请求动态页面,涉及到数据库访问操做;数据库负载以及数据库链接池负载极高,没法响应正常请求.
3>Syn Flood
攻击原理:依据tcp创建链接的三次握手。此攻击以多个随机的源主机地址向目的主机发送syn包,而在收到目的主机的syn+ack包后并不回应,目的主机就为这些源主机创建大量的链接队列,因为没有收到ack一直维护这些链接队列,形成资源的大量消耗而不能向正常的请求提供服务。与之相似的攻击方式还有ackflood、s-ackflood、finflood、rstflood、tcpflood 。
等等
小结: DDOS攻击虽然类型繁多,可是思路相同,不一样类型只是用不一样的协议来消耗服务器资源。
使用hping3尝试DDOS本身的服务器
Hping3/Nping: TCP/IP数据包生成工具,用于压力测试、安全审计。
使用hping3进行DoS攻击:
# hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source testsite.com
• -c:发送数据包的个数
• -d:每一个数据包的大小
• -S:发送SYN数据包
• -w:TCP window大小
• -p:目标端口,你能够指定任意端口
• –flood:尽量快的发送数据包
• –rand-source:使用随机的IP地址,使得安全设备不能定位实际IP;
• -a或–spoof:隐藏主机名
• testsite.com:目的IP地址或网站
使用hping3实现简单SYN洪水攻击:
# hping3 -S --flood -V testsite.com
使用nping实现TCP链接攻击:
# nping --tcp-connect -rate=90000 -c 900000 -q testsite.com
抓包能够看到source ip都是随机值:

防护
1.将站点推送CDN , 让CDN承受资源损耗
2.购买抗D服务
3.保障真实ip的私密性数据库