Chinaunix首页 | 论坛 | 博客
  • 博客访问: 668843
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1961
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-04 21:54
文章分类

全部博文(220)

文章存档

2018年(1)

2015年(140)

2014年(79)

我的朋友

分类: 网络与安全

2015-03-18 17:27:53


点击(此处)折叠或打开

  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

阅读(1192) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~