Advertisement
Dj_Dexter

reglas.sh

Feb 23rd, 2012
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.11 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Ejecutar este Script con sudo
  4. #
  5. echo Cargando Reglas....
  6. ## FLUSH de reglas
  7. iptables -F
  8. iptables -X
  9. iptables -Z
  10.  
  11.  
  12. # evita las limitaciones tecnicas de un ISP defectuoso
  13. iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -m recent --set --name thor --rdest -j ACCEPT
  14. iptables -A INPUT -p tcp -m tcp --tcp-flag RST RST -m state --state ESTABLISHED -m recent --name thor --rcheck --rsource --seconds 1 -j DROP
  15.  
  16. #bash -c "iptables-save > /etc/iptables.rules"
  17. #cp ./iptablesload /etc/network/if-pre-up.d/iptablesload
  18. #chmod +x /etc/network/if-pre-up.d/iptablesload
  19.  
  20. #
  21. # o si quieren remover la carga automática borren el archivo
  22. # sudo rm /etc/network/if-pre-up.d/iptablesload
  23. #
  24. # Deshabilitar broadcast
  25. /bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  26.  
  27. # Deshabilitar el ping… quizá discutible.
  28. #/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
  29.  
  30. # Deshabilitar la redirección del ping
  31. /bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
  32.  
  33. # Registrar los accesos extraños, paquetes falseados, etc..
  34. /bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
  35.  
  36. # Anti-flooding o inundación de tramas SYN.
  37. iptables -N syn_flood
  38. iptables -A INPUT -p tcp --syn -j syn_flood
  39. iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
  40. iptables -A syn_flood -j DROP
  41.  
  42. # Guardar los accesos con paquetes fragmentados, recurso utilizado para tirar
  43. # servidores y otras maldades (bug en Apache por ejemplo)
  44. iptables -A INPUT -i eth0 -f -j LOG --log-prefix "Fragmento! "
  45. iptables -A INPUT -i eth0 -f -j DROP
  46.  
  47. #Make sure NEW incoming tcp connections are SYN packets; otherwise we need to drop them:
  48. iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
  49. #Limiting the incoming icmp ping request:
  50. iptables -A INPUT -p icmp -m limit --limit  1/s --limit-burst 1 -j ACCEPT
  51. iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j LOG --log-prefix PING-DROP:
  52. iptables -A INPUT -p icmp -j DROP
  53. iptables -A OUTPUT -p icmp -j ACCEPT
  54. #This would block the more common XMAS packets.
  55. iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
  56.  
  57. #
  58. # PORTSCAN chain (drop common attacks)
  59. #
  60. iptables -N PORTSCAN
  61. iptables -A PORTSCAN -p tcp --tcp-flags ACK,FIN FIN -j DROP
  62. iptables -A PORTSCAN -p tcp --tcp-flags ACK,PSH PSH -j DROP
  63. iptables -A PORTSCAN -p tcp --tcp-flags ACK,URG URG -j DROP
  64. iptables -A PORTSCAN -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
  65. iptables -A PORTSCAN -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  66. iptables -A PORTSCAN -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  67. iptables -A PORTSCAN -p tcp --tcp-flags ALL ALL -j DROP
  68. iptables -A PORTSCAN -p tcp --tcp-flags ALL NONE -j DROP
  69. iptables -A PORTSCAN -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
  70. iptables -A PORTSCAN -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP
  71. iptables -A PORTSCAN -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  72.  
  73. #
  74. # COMMON chain (everything passes through here)
  75. #
  76. iptables -N COMMON
  77.  
  78. iptables -A COMMON -j PORTSCAN
  79.  
  80. #
  81. # chains relations
  82. #
  83. iptables -A INPUT -j COMMON
  84. iptables -A OUTPUT -j COMMON
  85. iptables -A FORWARD -j COMMON
  86.  
  87. echo Reglas Cargadas...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement