Introducción a iptables un firewall en Linux

57 0 1 0

Buen día Comunidad Huawei Enterprise, comparto con todos Ustedes una breve introducción a iptables un firewall de Linux.


iptables es un firewall de filtrado de paquetes libres. Evoluciona junto con el desarrollo del kernel de Linux, y ha experimentado cuatro fases:


1.1 Kernel: ipfirewall

2.0 Kernel: ipfwadm

2.2 Kernel: ipchains

2.4 Kernel: iptables


Un firewall en Linux consta de dos componentes: netfilter e iptables. iptables es una interfaz entre un firewall y los usuarios, mientras que netfilter proporciona funciones de firewall.


netfilter es un marco de referencia en el kernel de Linux. Proporciona una serie de tablas, cada tabla consta de varias cadenas, y cada cadena consta de varias reglas.


iptables es una herramienta de nivel de usuario que puede agregar, eliminar e insertar reglas. Estas reglas le dicen al componente netfilter cómo procesar los paquetes de datos.


Estructura de iptables


  • iptables > table > chain > rule. Una tabla consta de cadenas y la cadena consta de una regla, como se muestra en la siguiente imagen.

121656podmekl90pmklplk.png?image.png


Conceptos básicos de iptables – Regla.


  • Si un paquete de datos coincide con una regla, el paquete se procesa de acuerdo con la regla.

  • Una regla de iptables especifica información quíntuple que incluye la dirección de origen, la dirección de destino, el puerto de origen, el puerto de destino y el protocolo.

  • Si un paquete de datos coincide con una regla de iptables, iptables procesa el paquete de datos de acuerdo con el método definido en la regla, por ejemplo, permitiendo que el paquete de datos pase o descarte el paquete de datos.

122149f444jt48a4ha44al.png?image.png


Conceptos básicos de iptables – Cadena.


  • Una cadena es una ruta para transmitir paquetes de datos. Cada cadena contiene una o más reglas. Cuando un paquete de datos llega a una cadena, iptables hace coincidir el paquete con la primera regla de la cadena y verifica si el paquete cumple con las condiciones definidas en la regla.

  • En caso afirmativo, iptables procesa el paquete de datos de acuerdo con la acción definida en la regla. Si no, iptables hace coincidir el paquete con la siguiente regla.

  • Si el paquete no coincide con ninguna regla en la cadena, se utiliza la política predeterminada en la cadena.


123434jd4r1q4rew2wgadr.png?image.png


iptables contiene cinco cadenas de reglas.


  • Prerouting.

  • Input.

  • Forward.

  • Output.

  • Postrounting.

 

Estas son las cinco cadenas definidas por netfilter. Cualquier paquete de datos que pase alcanzará una de estas cadenas.


Conceptos básicos de iptables – Tabla.


Las tablas proporcionan funciones específicas. iptables contiene cuatro tablas:


  • Filter table: Permite o niega paquetes de datos

  • nat table: traduce direcciones

  • mangle table: Modifica el paquete de datos.

  • raw table: Determina si los paquetes de datos se procesan utilizando el mecanismo de seguimiento de estado.

 

Prioridad de tabla: raw > mangle > nat > filter.


  • Generalmente, se permiten tres cadenas en una filter table: Input, forward, y output.

  • Generalmente, se permiten tres cadenas en una nat table: Prerouting, output, y postrouting.

  • Las cinco cadenas están permitidas en la mangle table: Prerouting, input, forward, output, y postrouting.


Proceso de transmisión de paquetes de datos por iptables.


124758sca2iljy4izjv6ih.png?image.png


Cuando un paquete de datos ingresa a una interface de red, primero hace match con la cadena PREROUTING. El sistema determina el procesamiento posterior de acuerdo con la dirección de destino del paquete. Posible procesamiento.


  • Si la dirección de destino del paquete es el host local, el sistema envía el paquete a la cadena INPUT para que coincida con las reglas de esta cadena. Si el paquete coincide con una regla, el sistema envía el paquete al proceso local correspondiente. Si no se encuentra ninguna coincidencia, el sistema descarta el paquete.

  • Si la dirección de destino del paquete no es el host local, se reenviará el paquete. El sistema envía directamente el paquete a la cadena FORWARD para que coincida con la regla en esta cadena. Si el paquete coincide con una regla, el sistema envía el paquete al proceso local correspondiente. Si no se encuentra ninguna coincidencia, el sistema descarta el paquete.

  • Si el paquete se genera localmente, el sistema envía directamente el paquete a la cadena OUTPUT para que coincida con las reglas de esta cadena. Si el paquete coincide con una regla, el sistema envía el paquete al proceso local correspondiente. Si no se encuentra ninguna coincidencia, el sistema descarta el paquete.


Reglas iptables.


Las reglas de iptable son complejas.


Formato: iptables [-t table] COMMAND chain CRITERIA –j ACTION


  • -t table: específica la tabla a la que se aplica la regla. Puede ser filter, nat, mangle, o raw.
  • COMMAND: define cómo gestionar las reglas.
  • Chain: Especifica una cadena y puede omitirse cuando se define una política
  • CRITERIA: Especifica criterios coincidentes.
  • -j ACTION: Especifica la acción a tomar.


Por ejemplo, el acceso a 172.16.0.0/16 no está permitido.


  • iptables –t filter –A INPUT –s 172.16.0.0/16 –p udp --dport 53 –j DROP

 

Esperamos sus comentarios y/o preguntas a esta publicación.

 

Saludos!

  • x
  • convención:

Comentar

Responder
Debe iniciar sesión para responder la publicación Inicio de sesión | Registrarse

Aviso Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”
Si el botón para adjuntar no está disponible, actualice Adobe Flash Player con la versión más reciente
¡Ingresa y disfruta de todos los beneficios para los miembros!

¡Ingresa y disfruta de todos los beneficios para los miembros!

Aterrizaje