Guest User

Untitled

a guest
Mar 18th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. ### IP Tables DDOS Protection Rules ###
  2.  
  3. ### 1: Drop invalid packets ###
  4. /sbin/iptables -t mangle -A PREROUTING -m conntrack --ctstate INVALID -j DROP
  5.  
  6. ### 2: Drop TCP packets that are new and are not SYN ###
  7. /sbin/iptables -t mangle -A PREROUTING -p tcp ! --syn -m conntrack --ctstate NEW -j DROP
  8.  
  9. ### 3: Drop SYN packets with suspicious MSS value ###
  10. /sbin/iptables -t mangle -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP
  11.  
  12. ### 4: Block packets with bogus TCP flags ###
  13. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
  14. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
  15. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  16. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  17. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
  18. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,ACK FIN -j DROP
  19. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,URG URG -j DROP
  20. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,FIN FIN -j DROP
  21. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,PSH PSH -j DROP
  22. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL ALL -j DROP
  23. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP
  24. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
  25. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP
  26. /sbin/iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  27.  
  28. ### 5: Block spoofed packets ###
  29. /sbin/iptables -t mangle -A PREROUTING -s 224.0.0.0/3 -j DROP
  30. /sbin/iptables -t mangle -A PREROUTING -s 169.254.0.0/16 -j DROP
  31. /sbin/iptables -t mangle -A PREROUTING -s 172.16.0.0/12 -j DROP
  32. /sbin/iptables -t mangle -A PREROUTING -s 192.0.2.0/24 -j DROP
  33. /sbin/iptables -t mangle -A PREROUTING -s 192.168.0.0/16 -j DROP
  34. /sbin/iptables -t mangle -A PREROUTING -s 10.0.0.0/8 -j DROP
  35. /sbin/iptables -t mangle -A PREROUTING -s 0.0.0.0/8 -j DROP
  36. /sbin/iptables -t mangle -A PREROUTING -s 240.0.0.0/5 -j DROP
  37. /sbin/iptables -t mangle -A PREROUTING -s 127.0.0.0/8 ! -i lo -j DROP
  38.  
  39. ### 6: Drop ICMP/Ping (you usually don't need this protocol) ###
  40. /sbin/iptables -t mangle -A PREROUTING -p icmp -j DROP
  41.  
  42. ### 7: Drop fragments in all chains ###
  43. /sbin/iptables -t mangle -A PREROUTING -f -j DROP
  44.  
  45. ### 8: Limit connections per source IP ###
  46. /sbin/iptables -A INPUT -p tcp -m connlimit --connlimit-above 111 -j REJECT --reject-with tcp-reset
  47.  
  48. ### 9: Limit RST packets ###
  49. /sbin/iptables -A INPUT -p tcp --tcp-flags RST RST -m limit --limit 2/s --limit-burst 2 -j ACCEPT
  50. /sbin/iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
  51.  
  52. ### 10: Limit new TCP connections per second per source IP ###
  53. /sbin/iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 60/s --limit-burst 20 -j ACCEPT
  54. /sbin/iptables -A INPUT -p tcp -m conntrack --ctstate NEW -j DROP
  55.  
  56. ### 11: Use SYNPROXY on all ports (disables connection limiting rule) ###
  57. #/sbin/iptables -t raw -D PREROUTING -p tcp -m tcp --syn -j CT --notrack
  58. #/sbin/iptables -D INPUT -p tcp -m tcp -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
  59. #/sbin/iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
  60.  
  61. ### SSH brute-force protection ###
  62. /sbin/iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --set
  63. /sbin/iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
  64.  
  65. ### Protection against port scanning ###
  66. /sbin/iptables -N port-scanning
  67. /sbin/iptables -A port-scanning -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN
  68. /sbin/iptables -A port-scanning -j DROP
Add Comment
Please, Sign In to add comment