最近网上爆火的一款游戏 Goose Goose Duck (鹅鸭杀) 游戏官方在近日发布了一则公告,宣布由于服务器屡次遭受黑客攻击,该游戏服务器将暂时关服三天进行维护 遭到了DDOS攻击,背后原因,我们不做讨论,只讨论DDOS。
什么是DDOS 攻击
全称为 分布式拒绝服务攻击 Distributed denial of service attack
在这场攻击中一般有三个角色,用户,服务商(App,网站,游戏等),攻击者(黑客),黑客通常会使用被控制的肉鸡(通常也叫傀儡机),对服务商进行攻击,由于服务商无法分辨哪些是真正的用户,哪些是黑客的攻击,在巨大的流量攻击下,导致网站无法访问。
举个栗子,例如你有一家超市,最大容纳100人,正常的用户都会买完东西离开,而DDOS,他们会疯狂涌入你的超市,而且拒绝购买商品,并且不会离开,还会招呼亲戚朋友一起来,导致你的超市流量爆满无法服务,且真正的用户进不来,长时间的DDOS会让你的超市丢失用户,导致破产。
攻击方式
攻击方式多种多样,有手动发起的,也有半自动的,随着技术的发展现在有全自动的。
1. Synflood
该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗,最终导致拒绝服务。
2. Ping of Death
根据TCP/IP的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了Ping of Death攻击,该攻击会造成主机的宕机。
3. Land-based
攻击者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。
以上列举几种方式
如何解决
DDOS攻击令人非常头疼,你没有好的办法去区分哪些是用户,哪些是攻击者,而且花样很多,让人防不胜防,目前解决方式主流的还是使用高防IP。
高防IP 会隐藏真正的IP地址,在我们访问一个网站的时候例如www.xxx.com他会通过DNS服务去寻找对应的IP进行解析,然后把网页返回给用户,在加入高防IP之后会隐藏你真正的IP地址,返回的是高防IP,从而隐藏你的地址,缺点就是高防IP费用昂贵,小型网站一般都承受不起。
举个栗子,高防IP就相当于一个迷宫,迷宫的入口会有管理员,正确的引导用户通过迷宫进入你的超市,而那些非用户的的人,管理员就会带着他在迷宫兜圈子,然后踢出去,进行记录,在下次攻击,通过AI算法能够及时识别。
其他方式,只能缓解,关闭不必要的端口号,增加带宽,增加服务器容量等方式。