DDoS防御的11种方法详解
2018-10-16AP
AP
对于遭受DDoS攻击是让人头疼的,如果我们有良好的DDoS防御方法,那么很多问题就能迎刃而解,我们有哪些有效的方法来做好DDoS防御呢?
对付DDoS攻击是一个系统工程,想仅仅依靠某种系统或产品防住DDoS攻击是不现实的。还可以肯定的是,完全杜绝DDoS攻击目前是不可能的。但通过适当的措施抵御90%的DDoS攻击是可以做到的。基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDoS攻击的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功地抵御了DDoS攻击。
打个比方,这就像是运营.家餐厅,正常情况下,最多可以容纳200人同时进餐。顾客走进餐厅,找一张桌子坐下点餐,马上就可以吃到东西。如果有恶意的300名捣乱顾客同时涌进餐厅。这些人看上去跟正常的顾客一样,每个都说“我要点餐”。但是,餐厅的容量只有200人,根本不可能同时满足这么多的点餐需求,加上他们把门口都堵死了,正常用餐的客人根本进不来,就导致餐厅无法正常运营。
这就是DDoS攻击,它在短时间内发起大量请求,耗尽服务器的资源,无法响应正常的访问,造成网站实质下线。DDoS里面的DoS是denial of service(停止服务)的缩写,表示这种攻击的目的,就是使得服务中断。最前面的那个D是distributed(分布式),表示攻击不是来自一个地方,而是来自四面八方,因此更难抵御。下面介绍DDoS防御的11種方法。
一、采用高性能的网络设备
首先,要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品;其次,假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做下流量限制来对抗某些种类的DDoS攻击是非常有效的。
二、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备,要尽量避免采用网络地址转换NAT技术,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
三、充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅汉有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100m的共享带宽,最好的当然是在1000M的主干上。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是1000M的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的网络上也不等于就有了100M的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
四、升级主机服务器硬件
在有网络带宽保证的前提下,尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,只有硬件设备足够精良,才能更好地应对攻击。 五、把网站做成静态页面或者(瞬攀态
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现。新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把网站放到另外一台单独主机去,免的遭受攻击时连累主服务器。当然,适当放一些不做数据库调用的脚本还是可以的。此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。
六、增强操作系统的TCP/IP栈
Windows 2000和Windows 2003作为服务器操作系统,本身就具备一定的抵抗DDoS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,这里就不详细介绍了。
七、安装DDoS防火墙
专业的DDoS防火墙采用MircoKernel微内核技术实现,工作在系统的最底层,充分发挥CPU的效能,仅耗费少许内存即获得惊人的处理效能。经SmartBit高强度攻防试验测试表明:在抗DDoS攻击方面,工作于100M网络的冰盾防火墙可抵御每秒20多万个SYN包攻击,工作于1000M网络的冰盾防火墙约可抵御160多万个SYN攻击包;在防黑客入侵方面,冰盾防火墙可智能识别Port扫描、Unicode恶意编码、SQL注人攻击、Trojan木马上传、Exploit漏洞利用等2000多种黑客入侵行为并自动阻止。
八、HTTP请求的拦截
如果恶意请求有特征,刘可寸起来很简单,直接拦截它就行了。HTTP请求的特征一般有两种:IP地址和User Agent字段。比如,恶意请求都是从某个IP段发出的,那么把这个IP段封掉就行了。或者,它们的User Agent字段有特征(包含某个特定的词语),那就把带有这个词语的请求拦截。
九、备份网站
你要有占个备份网站,或者有占个临时主页。服务器万下线了,可以立刻切换到备份网站。备份网站不一定是全功能的,如果能做到全静态浏览,就能满足需求。最低限度应该可以显示公告,告诉用户网站出了问题,正在全力抢修。这种临时主页建议放到Github Pages或者Netlify,它们的带宽大,可以应对攻击,而且都支持绑定域名,还能从源码自动构建。
十、部署CDN
CDN指的是网站的静态内容分发到多个服务器,用户就近访问,提高速度。因此,CDN也是带宽扩容的一种方法,可以用来防御DDoS攻击。
网站内容存放在源服务器,CDN上面是内容的缓存。用户只允许访问CDN,如果内容不在CDN上,CDN再向源服务器发出请求。这样的话,只要CDN够大,就可以抵御很大的攻击。不过,这种方法有一个前提,网站的大部分内容必须可以静态缓存。对于动态内容为主的网站(比如论坛),就要想别的办法,尽量减少用户对动态数据的请求。
各大云服务商提供的高防IP,背后也是这样做的。网站域名指向高防IP,它提供一个缓冲层,清洗流量,并对源服务器的内容进行缓存。
这里有一个关键点,一旦上了CDN,千万不要泄露源服务器的IP地址,否则攻击者可以绕过CDN直接攻击源服务器,前面的努力都将白费。
十一、其他防御措施
以上几条对抗DDoS建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDoS问题,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDoS攻击能力成倍提高。