网站被DDOS也成为站长最头疼的事。在没有硬防的情况下,寻找软件代替是最直接的方
法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽。
一、什么是DDOS攻击?
DDoS也就是分布式拒绝服务攻击。它使用与普通的拒绝服务攻击同样的方法,但是发起攻
击的源是多个。通常攻击者使用下载的工具渗透无保护的主机,当获得该主机的适当的访问
权限后,攻击者在主机中安装软件的服务或进程(以下简侈怔理)。这些代理保持睡眠状
态,直到从它们的主控端得到指令,对指定的目标发起拒绝服务攻击。
二、如何确认自己受到DDOS攻击?
在系统上执行:
执行后,将会显示服务器上所有的每个IP多少个连接数。
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
以下是我自己用VPS测试的结果:
每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常
了。
三、防范DDOS攻击的方法
1.1 常规的一些防御方法
到目前为止,进行DDoS攻击的防御还是比较困难的。首先,这种攻击的特点是它利用了
TCP/IP协议的漏洞,除非你不用TCP/IP,才有可能完全抵御住DDoS攻击。不过这不等于我们
就没有办法阻挡DDoS攻击,我们可以尽力来减少DDoS的攻击。
下面就是一些防御方法:
确保服务器的系统文件是最新的版本,并及时更新系统补丁。
关闭不必要的服务。
限制同时打开的SYN半连接数目,缩短SYN半连接的time out 时间,限制SYN/ICMP流量
SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连
接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
Linux内核提供了若干SYN相关设置,使用命令:
看到:
li88-99:~# netstat -ntu|awk '{print $5}' | cut -d: -f1 | sort | uniq
-c | sort -n
1 114.226.9.132
1 174.129.237.157
1 58.60.118.142
1 Address
1 servers)
2 118.26.131.78
3 123.125.1.202
3 220.248.43.119
4 117.36.231.253
4 119.162.46.124
6 219.140.232.128
8 220.181.61.31
2311 67.215.242.196
sysctl -a | grep syn
调整上述设置的方法是:
增加SYN队列长度到2048:
打开SYN COOKIE功能:
降低重试次数:
为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中或者直接修
改内核参数。
正确设置防火墙,禁止对主机的非开放服务的访问,限制特定IP地址的访问,启用防
火墙的防DDoS的属性
认真检查网络设备和服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器
就可能遭到了攻击。
限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,主机的信息暴露
给黑客,无疑是给了对方入侵的机会。
充分利用网络设备保护网络资源
用足够的机器承受黑客攻击
检查访问者的来源