防简单攻击iptables策略

发布于 2022-09-30 19:31:53 字数 3193 浏览 10 评论 0

  1. #!/bin/sh
  2. IPTABLES=/sbin/iptables
  3. # clear
  4. $IPTABLES -F
  5. # if pkg type is allow, then accept
  6. #$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  7. # 如果同时在80端口的连接数大于10,就Drop掉这个ip
  8. netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\   '$1>10 && $2!="" { print $2 }' >> /etc/fw.list
  9. less /etc/fw.list | sort | uniq -c | awk -F\   '$2!="" { print $2 }' > /etc/fw.list2
  10. less /etc/fw.list2 > /etc/fw.list
  11. while read line
  12.         do
  13.         t=`echo "$line"`
  14.         $IPTABLES -A INPUT -p tcp -s $t -j DROP
  15. done < /etc/fw.list2
  16. # IP转发
  17. $IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT
  18. $IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT
  19. $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
  20. $IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport 20002 -j SNAT --to-source 10.6.39.44
  21. # if pkg visit 80,7710 port then accept
  22. $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
  23. $IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT
  24. $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
  25. $IPTABLES -A INPUT -p tcp --dport 873 -j ACCEPT
  26. # $IPTABLES -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
  27. $IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
  28. $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT
  29. $IPTABLES -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
  30. # if pkg from allow ip then accept
  31. $IPTABLES -A INPUT -p tcp -s 127.0.0.1   -j ACCEPT
  32. # if pkg not above then deny
  33. $IPTABLES -A INPUT -p tcp --syn -j DROP
  34. 下面这个防火墙测试结果更正确,能起到一定的防攻击的功能
  35. #!/bin/sh
  36.   IPTABLES="/sbin/iptables"
  37.   echo "1" > /proc/sys/net/ipv4/ip_forward
  38.   $IPTABLES -P INPUT DROP
  39.   $IPTABLES -P FORWARD DROP
  40.   $IPTABLES -P OUTPUT DROP
  41.   $IPTABLES -F
  42.   $IPTABLES -X
  43.   $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  44.   $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
  45.   $IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
  46.   $IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT
  47.   $IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT
  48.   $IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT
  49.   $IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT
  50.   $IPTABLES -A INPUT -p tcp --syn -j DROP

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文