SHARE
TWEET

IpTables

KatsuroKurosaki Aug 5th, 2015 (edited) 552 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. echo -n " * Iniciando el Firewall..."
  4.  
  5. ## Primero solo permitimos toda conexion que solo yo he creado
  6. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  7. iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  8.  
  9. ## Politica por defecto, todo cerrado
  10. iptables -P INPUT DROP
  11. iptables -P OUTPUT DROP
  12. iptables -P FORWARD DROP
  13.  
  14. ## Permisos interfaz loopback
  15. # Permitir todo acceso loopback
  16. iptables -A INPUT -i lo -j ACCEPT
  17. iptables -A OUTPUT -o lo -j ACCEPT
  18.  
  19. ## Permisos eth0 (Internet)
  20. # Minecraft (Si me haces mas de 10 conexiones al puerto de Minecraft, no podras entrar. Ayuda para DoS. Para DDoS no)
  21. iptables -A INPUT -p tcp --syn --dport 25565 -m connlimit --connlimit-above 10 -j DROP
  22. iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
  23. # TeamSpeak3
  24. iptables -A INPUT -p udp --dport 9987 -j ACCEPT
  25. # HTTP
  26. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  27. # HTTPS
  28. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  29. # SSH
  30. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  31.  
  32.  
  33. ## Reglas para aumentar seguridad
  34. # Protegemos ante inundacion de tramas SYN
  35. iptables -N syn_flood
  36. iptables -A INPUT -p tcp --syn -j syn_flood
  37. iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
  38. iptables -A syn_flood -j DROP
  39.  
  40. # Proteger contra PINGS masivos, y logearlo (En Debian se puede ver con el comando "dmesg")
  41. iptables -A INPUT -p icmp -m limit --limit  1/s --limit-burst 1 -j ACCEPT
  42. iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j LOG --log-prefix PING-DROP:
  43. iptables -A INPUT -p icmp -j DROP
  44.  
  45. # Checkeo de paquetes SYN, solo pueden ser state NEW, si no, que estan haciendo?
  46. iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
  47.  
  48. # Comprobar paquetes Force Fragment
  49. iptables -A INPUT -f -j DROP
  50.  
  51. # Bloquear paquetes XMAS
  52. iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
  53.  
  54. # Bloquear paquetes NULL
  55. iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
  56.  
  57. # Bloquear paquetes invalidos
  58. iptables -A INPUT -m state --state INVALID -j DROP
  59.  
  60. # Bloquear paquetes SYN invalidos
  61. iptables -A INPUT -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -j DROP
  62. iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  63. iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  64.  
  65. # Evitar ataques de tipo "Tiny Fragment Attack"
  66. iptables -A INPUT -f -m length --length 0:40 -j DROP
  67.  
  68. echo " [ OK ]"
  69.  
  70. exit 0
  71. # Fin
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top