防简单攻击iptables策略
转至:http://blog.chinaunix.net/uid-23049797-id-4902279.html
#!/bin/sh IPTABLES=/sbin/iptables # clear $IPTABLES -F # if pkg type is allow, then accept #$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 如果同时在80端口的连接数大于10,就Drop掉这个ip netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\ '$1>10 && $2!="" { print $2 }' >> /etc/fw.list less /etc/fw.list | sort | uniq -c | awk -F\ '$2!="" { print $2 }' > /etc/fw.list2 less /etc/fw.list2 > /etc/fw.list while read line do t=`echo "$line"` $IPTABLES -A INPUT -p tcp -s $t -j DROP done < /etc/fw.list2 # IP转发 $IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT $IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT $IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport 20002 -j DNAT --to-destination 172.16.204.7:20002 $IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport 20002 -j SNAT --to-source 10.6.39.44 # if pkg visit 80,7710 port then accept $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 873 -j ACCEPT # $IPTABLES -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT $IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT $IPTABLES -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT # if pkg from allow ip then accept $IPTABLES -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT # if pkg not above then deny $IPTABLES -A INPUT -p tcp --syn -j DROP 下面这个防火墙测试结果更正确,能起到一定的防攻击的功能 #!/bin/sh IPTABLES="/sbin/iptables" echo "1" > /proc/sys/net/ipv4/ip_forward $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP $IPTABLES -F $IPTABLES -X $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT $IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT $IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT $IPTABLES -A INPUT -p tcp --syn -j DROP
分类:
网络安全
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?