Advertisement
KatsuroKurosaki

IpTables

Aug 5th, 2015
1,411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.35 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement