偶然看到防火墙的配置操作说明,感觉不错。执行”setup”命令启动文字模式配置实用程序, 在”选择一种工具”中选择”防火墙配置”, 然后选择”运行工具”按钮, 出现防火墙配置界面, 将”安全级别”设为”禁用”, 然后选择”确定”即可.
或者用命令:
#/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
#/etc/rc.d/init.d/iptables save
这样重启计算机后, 防火墙默认已经开放了 80 和 22 端口
这里应该也可以不重启计算机:
#/etc/init.d/iptables restart
防火墙的关闭,关闭其服务即可:
查看防火墙信息:
#/etc/init.d/iptables status
关闭防火墙服务:
#/etc/init.d/iptables stop
永久关闭?不知道怎么个永久法:
#chkconfig –level 35 iptables off
或者直接
chkconfig iptables off
#/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
然后保存:
#/etc/rc.d/init.d/iptables save
再查看是否已经有了:
服务器遭受到大量的大量 SYN_RECV,80 端号占死,网站打不开
没有硬防
有什么办法可以解决吗
sysctl -w net.ipv4.tcp_syncookies=1 #启用使用 syncookies
sysctl -w net.ipv4.tcp_synack_retries=1 #降低 syn 重试次数
sysctl -w net.ipv4.tcp_syn_retries=1 #降低 syn 重试次数
sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半连接数
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的 icmp 数据包
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_keepalive_time=60
sysctl -w net.ipv4.tcp_window_scaling=1
sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止 ICMP
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP 禁止广播
2. 限制单位时间内连接数
如
iptables -N syn-flood
iptables -A FORWARD -p tcp –syn -j syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp –syn -m limit –limit 3/s –limit-burst 1 -j ACCEP
iptables -A syn-flood -j DROP
iptables -A INPUT -i eth0 -p tcp ! –syn -m state –state NEW -j DROP
iptables -A INPUT -p tcp –syn -m state –state NEW -j DROP
3 如果还是不行,
iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –update –seconds 60 –hitcount 30 -j REJECT
iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –set -j ACCEP
如攻击过来的流量大于你的服务器的流量,那就没有什么办法了,如果流量不大,以上方法,可以暂时保证你的 80 可以访问
iptables -I FORWARD -p tcp –syn -m connlimit –connlimit-above 5 -j DROP
或
iptables -A INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 5 -j REJECT
sysctl -w net.ipv4.tcp_syncookies=1 #启用使用 syncookies
sysctl -w net.ipv4.tcp_synack_retries=1 #降低 syn 重试次数
其他 IPTABLES 的限制速度功能不能用来对付 SYN FLOOD 的(不能阻止拒绝服务,但是确实可以防止服务器 CRASH)。