针对ddos优化
1)关闭不必要的服务和端口;
2)限制同一时间内打开的syn半连接数目;
3)缩短syn半连接的超时时间;
4)及时安装系统补丁;
5)禁止对主机非开放服务的访问;
6)启用防火墙防DDOS属性。硬件防火墙价格比较昂贵,可以考虑利用Linux系统本身提供的防火墙功能来防御。
7)另外也可以安装相应的防护软件,这里强烈建议安装安全狗软件,防护性能不错,并且免费。
8)购买DDOS防御产品,比如阿里云盾的DDOS防御中的高防IP,这个使用起来,效果也很给力。
常见的攻击方式有SYN,DDOS等
查看默认配置
sysctl -a | grep _syn
优化sysctl内核参数
查看默认值
cat /proc/sys/net/ipv4/tcp_max_syn_backlog syn半连接数
cat /proc/sys/net/core/somaxconn 内核参数somaxconn
vim /etc/sysctl.conf
net.ipv4.tcp_max_syn_backlog = 4096 #表示SYN队列的长度,加大队列长度可以容纳更多等待连接的网络连接数
net.ipv4.tcp_syncookies = 1 #表示开启SYN Cookies功能。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭,1表示打开;
net.ipv4.tcp_synack_retries = 2 #下面这两行表示定义SYN重试次数
net.ipv4.tcp_syn_retries = 2
#提高TCP连接能力
net.ipv4.tcp_rmem = 32768 tcp_rmem表示接受数据缓冲区范围,tcp_wmem表示发送数据缓冲区范围,单位Byte,最大64M
net.ipv4.tcp_wmem = 32768
net.ipv4.tcp_sack = 0 #打开tcp_sack功能,1表示"关闭",0表示"打开"
net.core.somaxconn = 2048
net.ipv4.tcp_tw_reuse = 1 允许将TIME_WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
sysctl -p #使上面配置生效
tcp_max_syn_backlog是指定所能接受SYN同步包的最大客户端数量,即半连接上限
somaxconn是指服务端所能accept即处理数据的最大客户端数量,即完成连接上限。
对于没有调优的新装的centOS6.5系统,这两个参数的值都是128。