it-swarm-es.com

¿Cuál es la forma canónica de almacenar las reglas de Iptables?

iPTables, el firewall de Linux estándar, no ahorra reglas entre reinicios. Tienes que cuidar de esto tú mismo. Hay muchas maneras de hacer esto. ¿Cuál es la forma canónica de hacer esto? ¿Cuáles son las mejores prácticas?

Responderé con mi propia solución, pero estoy interesado en otras soluciones y mejores soluciones.

8
amarillion

Aquí hay algunas reglas de ejemplo. Guárdalos a /etc/iptables.rules

# Generated by iptables-save v1.3.6 on Wed Oct 24 17:07:29 2007
*filter
:INPUT ACCEPT [89458:132056082]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [263904:15667452]
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 
-A INPUT -j DROP 
COMMIT
# Completed on Wed Oct 24 17:07:29 2007

agregue esta línea al final de/etc/red/interfaces

pre-up iptables-restore < /etc/iptables.rules
6
amarillion

Utilizamos un montón de Reglas IPTables, por lo que para facilitar la administración, hacemos lo siguiente:

  • Se llaman las reglas de Scripts: se llaman a los scripts desde /etc/init.d/firewall (script personalizado)
  • Se mantiene un archivo de nombres de servidor/nombres de red (variables de dirección IP), e incluida en cada script IPTables para consistencia.
  • los scripts separados se mantienen para cada subred (es decir, privado/DMZ/VPN, etc.) para que las cosas sean más fáciles de encontrar. Reglas que pertenecen a 2 scripts (como los que restringen la comunicación B/W y DMZ) se ponen en el guión más "seguro" de la red
  • siempre que sea posible, los bucles y los bucles anidados se usan para mantener los scripts lo más cortos posible.
  • cada nueva regla o cambio se documenta con comentarios que preceden a la sección correspondiente del script.

No sé si esto es el mejor forma de hacer esto, pero ha funcionado bien para nosotros.

3
Brent

Esta pregunta está muy cerca de ser un DUP de 4934 y está relacionado con 97 .

Yo uso FireHol combinado con una interfaz web que desarrollé para administrar el archivo de configuración.

Realmente me gusta Firehol, proporciona una sintaxis más simple que luego usando IPTables directamente.

  • Puede usar el comando de depuración de Firehol a exactamente qué comandos IPTables se generan
  • Si tiene un error en su configuración y usted inicia el firewall, Firehol detecta el error y vuelve al estado anterior.
  • Firehol tiene un comando 'Probar' que puede usar para iniciar el firewall de forma remota, si sus cambios matan su conexión, Firehol se revertirá al estado anterior, si no mató su conexión, entonces le pedirá que confirme el cambio.
  • Firehol tiene un gran conjunto de servicios predefinidos para que no tenga que recordar exactamente qué puertos debe tener qué puertos se abrirán para un protocolo oscuro.
1
Zoredache