floure.ARCHIVO / Tecnologías de la información
← Volver a la colección3 MIN DE LECTURA

Tecnologías de la información

Hardening Linux 2 - IP Tables

Sistemas Operativos / Linux

La regla de firewall se interpreta junto con el orden y la política de la cadena. Aceptar un paquete tampoco inicia el servicio: abrir la puerta no invoca automáticamente al guardián. (¬ᴗ¬)

Las tablas IP es una herramienta de Linux para filtrar paquetes de red y controlar su tráfico. A grandes rasgos es un Firewall.

iptables forma parte del ecosistema Netfilter; ipchains e ipfwadm son herramientas anteriores, no nombres alternativos de la misma versión. La disponibilidad y el backend dependen de la distribución.

Utiliza reglas para determinar qué paquetes pueden transitar por la red.

En este ejercicio:

  • Crearemos una regla para bloquear la salida a internet.
  • Crearemos una regla para bloquear la salida a una IP observada de un dominio
  • Crearemos una regla para permitir acceso SSH, aunque no tenga el servicio funcionando.

ejecutado en ubuntu


Índice

  1. Bloqueo de salida a internet
  2. Bloqueo específico
  3. Regla para SSH
  4. Persistencia

Bloqueo de salida a internet

Primero haremos un ping para demostrar conectividad:

Ahora insertaremos una regla: sudo iptables -A OUTPUT -j DROP donde: -A añade una regla al final de la cadena indicada -j especifica al objetivo de la regla lo que debe hacer si coincide.

Y veremos la regla creada con el comando: sudo iptables -L -v -n donde: -L indica que debe listar -v verboso -n listar de manera numérica

Tiramos un ping (no hay conexión):

Finalmente eliminamos dicha regla con sudo iptables -D OUTPUT -j DROP donde: -D indica la acción de eliminar una regla y lanzamos un último ping para corroborar conexión. Ahora volvemos a tener.


Bloqueo específico

Primero obtendremos una dirección IP observada del dominio a través de un ping a www.desafiolatam.com (172.67.175.45) y creamos una regla: sudo iptables -A OUTPUT -d 172.67.175.45 -j DROP donde: -d Indica destino

Arrojamos dos ping:

  1. ping www.desafiolatam.com

  2. ping www.google.com

Eliminamos y listamos la regla:


Regla para SSH

El proceso es similar. El comando que utilizamos es: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT donde: -p indica el protocolo sobre el cual actuar --dport indica el puerto de destino

Osea estamos agregando una regla (-A) de entrada (INPUT) al protocolo tcp (-p tcp) en el puerto 22 (--dport 22) y la acción que debe realizar (-j) es la de aceptar (ACCEPT)


Persistencia

Finalmente estas reglas no se guardan automáticamente (a menos que lo configuremos), pero la forma más sencilla es simplemente realizar: sudo mkdir -p /etc/iptables

sudo sh -c 'iptables-save > /etc/iptables/rules.v4'

La redirección necesita privilegios sobre el destino, por eso se ejecuta dentro del shell elevado. Exportar no configura la restauración al arrancar. Antes de sobrescribir, respaldar la configuración existente. El bloqueo por IP puede afectar servicios compartidos y no cubre otras IP o IPv6 del dominio. Una regla añadida al final también depende de las coincidencias anteriores.

Si nos queremos ir un poco más extensos podemos generar una automatización a través de un script, cronjob y servicios

Véase también

Referencia: Netfilter: documentación.

Alcance de la prueba: iptables(8). OUTPUT DROP sin destino afecta todo el tráfico IPv4 local que llegue a esa regla, incluido LAN, DNS y respuestas SSH, no solo Internet. No afecta automáticamente tráfico FORWARD ni IPv6. Usarlo solo en laboratorio con acceso de recuperación y configuración respaldada. ACCEPT/22 al final no vence un DROP anterior ni implica que 22 sea el único puerto permitido; revisar política y todas las reglas. El ping de una captura no prueba bloqueo de todo servicio del dominio.

+----------------------------------------+
| Floure &                               |
| Tachibana's guild                      |
| [Hikari · Nozomi · Vesper]             |
| SEAL: sha256/12: 6701d4478aa9          |
| STATUS: LITURGY_IN_PROGRESS            |
+----------------------------------------+

Conexiones

Abrir red completa ↗
✳

Fin del apunte

Seguir explorando ↗