四、如何防御DoS/DdoS攻击
当某一天,你登陆服务器时,感觉服务器运行缓慢,甚至是根本就远程连接不上,数据中心机房工作人员通知你服务器流量非常大。这时候,你得分析是不是一定是受到了DoS/DDoS攻击。
以上讲了很多理论性的东西,各位看官可能还不一定都“消化”了。
那么在此告诉你们一条简单且易懂的命令就可以判定服务器是否真的受到了DoS/DdoS攻击:
在命令提示符下执行netstat –an,查看当前服务器对外的所有连接,如果发现有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。
如果你的服务器托管在一家比较有条件的数据中心机房里,同时这一家公司又有抗DoS/DdoS攻击设备,不过据我所知,目前市面上大部分数据中心机房里的抗DoS/DDoS攻击设备不是无偿使用的。
具体怎么得到抗DoS/DDoS攻击设备在此不详细描述,可能是用数据中心机房的设备,有条件的单位也可以自己购买设备。
这种方法只能够抵抗一小部分的攻击,由于DoS/DDoS攻击的类型很多,加上新的变种攻击手段也层出不穷。
当你的抗DoS/DDoS攻击设备无法识别那些新的DoS/DDoS攻击,或由于攻击力度太大,抗DoS/DdoS攻击设备自身已经无法正常影响了,甚至攻击的带宽已经远远超出数据中心机房出口的总带宽,这时候安装什么抗攻击设备都是无能为力的。
相信你理解了Dos/DDoS攻击的真正含义后,你应该会明白我说那句话的意思。
这个时候你得让数据中心机房通知上级ISP运营商,在他们上级路由上将你的服务器IP地址临时过滤掉。并且你需要与数据中心机房实时保持联系,让他们及时在上级ISP运营商那里得到最新的消息,以便第一时间内将你服务器IP地址予以解封。
最后,给大家一些比较好的建议:
1、采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。
2、尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
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%属于恶意行为。
在以上五点建议的基础上,同时建议各位服务器管理员朋友,经常检查一下你所管理的服务器运行状况,千万别让自己管理的服务器变成了黑客用来攻击别人的傀儡机,对自己不好,对别人也不好。