IPTables
Se trata de una herramienta de Linux que permite el filtrado de los paquetes de red, determinando qué paquetes de datos permitimos que lleguen hasta el servidor y cuáles no. Es una herramienta necesaria que facilita la administración de firewalls en sistemas Linux. Como otros firewall, funciona a través de reglas.
Las reglas permiten aceptar, rechazar, o descartar (drop) paquetes basados en criterios como la dirección IP de origen o destino, el puerto, el protocolo, etc.
Adicionalmente, iptables opera sobre diversas tablas diseñadas para diferentes propósitos:
filter: tabla predeterminada utilizada para el filtrado de paquetes.
nat: se utiliza para la traducción de direcciones de red (Network Address Translation).
mangle: Permite modificar campos específicos en los encabezados de los paquetes.
raw: Utilizada para configurar excepciones de seguimiento de conexiones.
security: Utilizada para políticas de seguridad basadas en SELinux.
Dentro de cada tabla, existen cadenas ya predefinidas que determinan en qué punto del procesamiento del paquete se aplican las reglas. Estas cadenas son: INPUT, OUTPUT, FORWARD, PREROUTING y POSTROUTING.
Cada cadena contiene una lista de reglas que se procesan secuencialmente. Una regla especifica:
los criterios de coincidencia para los paquetes: dirección IP, puerto, protocolo y
la acción a tomar: ACCEPT, DROP, REJECT, MASQUERADE, etc.
Las acciones que se pueden aplicar a los paquetes son:
ACCEPT: Permite que el paquete continúe su ruta.
DROP: Descarta el paquete silenciosamente.
REJECT: Descarta el paquete y envía una respuesta de error al remitente.
MASQUERADE: Reemplaza la dirección IP de origen del paquete con la dirección IP de la interfaz de salida.
SNAT: Source NAT, modifica la dirección IP de origen del paquete.
DNAT: Destination NAT, modifica la dirección IP de destino del paquete.
LOG: Registra los paquetes que coinciden con la regla.
Algunas de las opciones de iptables habituales
-A —append: Añade una regla a una cadena (al final).
-C —check : Busca una regla que coincida con los requerimientos de la cadena.
-D —delete: Borra las reglas especificadas de una cadena.
-F —flush: Elimina todas las reglas.
-I —insert: Añade una regla a una cadena en una posición dada.
-L —list : Muestra todas las reglas de una cadena.
-N -new-chain: Crea una nueva cadena.
-v —verbose: Muestra más información cuando se usa una opción de lista.
-X —delete-chain: Elimina la cadena proporcionada.
Ejemplos:
(1) Supongamos que queremos agregar una regla que permita todo el tráfico SSH entrante:
(2) Supongamos que queremos bloquear todo el tráfico HTTP saliente:
Mediante instrucciones se le indica al firewall el tipo de paquetes a los que se debe permitir entrar, así como los puertos por donde se pueden recibir dichos paquetes, el protocolo para el envío de datos y cualquier otra información relacionada con el intercambio de datos entre redes.
Cuando en el sistema se recibe o se envía un paquete, se recorren todas las reglas en orden hasta encontrar aquella regla que cumpla las condiciones. Una vez localizada la regla, ésta se activa y ejecuta la acción que tenga establecida sobre el paquete en cuestión.
Nota: Las reglas definidas con iptables no son persistentes por defecto y se pierden después de un reinicio. Para hacerlas persistentes, es necesario guardar las reglas en un archivo de configuración y restaurarlas al inicio del sistema.
(3) Supongamos que queremos autorizar el tráfico de localhost de modo que todo lo que venga de su sistema pase a través del firewall (iptables). O sea, configurar el firewall de modo que acepte el tráfico para la interfaz localhost (lo) (-i). Algo necesario si se quiere para que las aplicaciones puedan comunicarse con la interfaz localhost.
(4) Para autorizar el tráfico web HTTP, introduzca el siguiente comando:
(5) Para autorizar el tráfico de internet HTTPS, introduzca el siguiente comando:
(6) Un método para eliminar el número de línea de una regla.
Enumeramos todas las reglas:
Buscamos la línea de la regla de iptables que necesitamos eliminar y ejecutamos el siguiente comando:
En el siguiente pdf te dejo una ayuda escrita por Leo, Bea y Monti. Gracias chic@s!
Links
Last updated
Was this helpful?