iptables configure(给点意见)
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
(对syn的设置)
/etc/init.d/iptables stop
iptables -P INPUT DROP(禁止所有)
iptables -A INPUT -p tcp -m multiport --dports 20,21,22,25,43,47,53,80,110,443,953,1723,1863,3306 -j ACCEPT(开启必须通信的端口)
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT(对于syn的处理)
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT(匹配syn速度)
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT(开启ping)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP(对客户端在 60秒内的连接数达到10次,到第10次就deny client ip)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
大家指教下。(实现,syn 限制,对付小型ddos,限制数据采集)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
请问LZ自己进行实验了吗?
是的,配置已经用在生产环境中了。就是不清楚效果如何呀,。。
那就测试一下。你这里有些报文时禁止的,有些是限速的。可以测试一下对应禁止的报文是否过不去,限速的报文每秒钟最多过去几个报文啊。
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
位置调换一下!!!
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
放前面去!!
菜鸟愚见!!