Advertisement
sergio_educacionit

firewall completo

Jun 11th, 2024
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.54 KB | None | 0 0
  1. # Limpia todas las reglas anteriores
  2. iptables -F
  3. iptables -X
  4. iptables -t nat -F
  5. iptables -t nat -X
  6.  
  7. # Establece las políticas predeterminadas
  8. iptables -P INPUT DROP
  9. iptables -P FORWARD DROP
  10. iptables -P OUTPUT ACCEPT
  11.  
  12. # Permite todo el tráfico en la interfaz de loopback (localhost)
  13. iptables -A INPUT -i lo -j ACCEPT
  14.  
  15. # Permite las conexiones entrantes ya establecidas y relacionadas
  16. iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  17.  
  18. # Permite el tráfico de ciertas IPs específicas
  19. iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
  20. iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT
  21. iptables -A INPUT -p tcp -s 192.168.1.100 --dport 443 -j ACCEPT
  22. iptables -A INPUT -s 192.168.1.101 -j ACCEPT
  23.  
  24. # Bloquea subredes específicas
  25. iptables -A INPUT -s 192.168.2.0/24 -j DROP
  26. iptables -A INPUT -s 10.0.0.0/8 -j DROP
  27.  
  28. # Permite el tráfico necesario en puertos específicos
  29. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  30. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  31. iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  32.  
  33. # Rechaza el resto del tráfico entrante con un mensaje de rechazo ICMP
  34. iptables -A INPUT -j REJECT --reject-with icmp-port-unreachable
  35.  
  36. # Limita la tasa de conexiones SSH
  37. iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
  38. iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
  39.  
  40. # Limita la tasa de conexiones HTTP/HTTPS
  41. iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
  42. iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 30 -j DROP
  43. iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m recent --set
  44. iptables -A INPUT -p tcp --dport 443 -m state --state NEW -m recent --update --seconds 60 --hitcount 30 -j DROP
  45.  
  46. # Bloquea paquetes mal formados
  47. iptables -A INPUT -m state --state INVALID -j DROP
  48. iptables -A INPUT -p icmp --icmp-type redirect -j DROP
  49. iptables -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j DROP
  50. iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP
  51.  
  52. # Bloquea IPs con comportamientos sospechosos
  53. iptables -N port-scan
  54. iptables -A port-scan -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN
  55. iptables -A port-scan -j LOG --log-prefix "Port Scan: "
  56. iptables -A port-scan -j DROP
  57. iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j port-scan
  58.  
  59. # Guarda las reglas para que persistan después de reiniciar
  60. iptables-save > /etc/iptables/rules.v4
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement