全部博文(22)
2013年(22)
分类: LINUX
2013-05-24 11:45:43
linux下防御ddos攻击
ddos攻击是一种分布式拒绝服务攻击
原理:通过使网络过载来干扰甚至阻断正常的网络通讯。通过向服务器提交大量请求,使服务器超负荷。阻断某一用户访问服务器阻断某服务与特定系统或个人的通讯
首先确认服务器是否收到ddos攻击
显示服务器上每个IP多少个连接数,连接数过大的话就有问题了,几个或几十个还好,成百上千就有问题了
# netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
# vim /etc/sysctl.conf
加入下面这些
#开启CentOS SYN Cookies,这是个BOOLEAN。当出现CentOS SYN等待队列溢出时,启用cookies来处理,可防范少量CentOS SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies=1
#开启重用,这是个BOOLEAN。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_reuse=1
开启TCP连接中TIME-WAIT sockets的快速回收,这是个BOOLEAN,默认为0,表示关闭
net.ipv4.tcp_tw_recycle=1
#net.ipv4.tcp_synack_retries和net.ipv4.tcp_syn_retries是定义CentOS SYN重试次数。如果你不想修改/etc/sysctl.conf,你也可以直接使用命令修改:sbin/sysctl -w key=value
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syn_retries=1
表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息
net.ipv4.tcp_max_syn_backlog=8000
表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。单位为秒
net.ipv4.tcp_fin_timeout=30
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.tcp_window_scaling=1
net.ipv4.icmp_echo_ignore_all=1
net.ipv4.icmp_echo_ignore_broadcasts=1
即时生效
sysctl -p