Configuración Esencial de IPTABLES: Firewall y Seguridad en Linux

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,95 KB

Criptografía y Seguridad

Conceptos de Criptografía

Encriptación: Proceso para volver ilegible información considerada importante, que puede volver a desencriptarse con una clave.

Algoritmos de Encriptación Comunes

  • AES (Advanced Encryption Standard): Algoritmo de cifrado por bloques ampliamente utilizado. Menciona tecnologías relacionadas como HPC, DEAL, E2.
  • 3DES (Triple DES): Versión mejorada del algoritmo DES. Menciona tecnologías relacionadas como MARS, SERPENT.

IPTABLES: Firewall y Gestión de Redes en Linux

IPTABLES es un firewall a nivel de software, basado en el uso de tablas, cadenas (formadas por agrupación de reglas) y, finalmente, una acción.

Tipos de Tablas en IPTABLES

IPTABLES organiza sus reglas en diferentes tablas, cada una con una función específica:

  • filter (comúnmente referida como IPTABLES): Contiene las cadenas INPUT, OUTPUT y FORWARD. Su función principal es filtrar paquetes, aceptándolos, rechazándolos u omitiéndolos.
  • nat (Network Address Translation): Contiene las cadenas PREROUTING y POSTROUTING. Se utiliza para enmascarar IPs, redireccionar puertos o cambiar la IP de origen/destino.
  • mangle: Permite modificar paquetes, alterando campos como Type of Service (ToS) o Time To Live (TTL).
  • raw: Se utiliza principalmente para configurar excepciones en el seguimiento de paquetes (connection tracking), a menudo en combinación con la acción NOTRACK.

Comandos Básicos de IPTABLES

Estos son algunos de los comandos fundamentales para gestionar reglas en IPTABLES:

-A (--append)
Agrega una nueva regla al final de la cadena especificada.
-I (--insert)
Inserta una nueva regla antes de la regla número_regla (rulenum) en la cadena especificada, de acuerdo con los parámetros proporcionados.
-R (--replace)
Reemplaza la regla rulenum en la cadena especificada.
-E (--rename-chain)
Modifica el nombre de una cadena. Sintaxis: [nombre-anterior-cadena] [nombre-nueva-cadena].
-L (--list)
Lista las reglas de la cadena especificada. Si no se especifica una cadena, listará todas las cadenas existentes.
-N (--new-chain)
Crea una nueva cadena, asociándola a un nombre.
-P (--policy)
Modifica la política por defecto de la cadena preseleccionada (ej. ACCEPT, DROP).
-D (--delete)
Elimina la regla número_regla (rulenum) en la cadena seleccionada.
-Z (--zero)
Pone los contadores de paquetes y bytes a cero en la cadena seleccionada. Si no se especifica una cadena, restablecerá a cero todos los contadores de todas las reglas en todas las cadenas.

Para una lista completa de comandos y opciones, consulte: man iptables.

Parámetros Comunes en Reglas de IPTABLES

Todas las reglas en IPTABLES definen su condición mediante parámetros, que constituyen su parte primordial. Algunos de los parámetros más comunes son:

-i (--in-interface)
Especifica la interfaz de entrada (ej. eth0, eth1).
-o (--out-interface)
Especifica la interfaz de salida (ej. eth0, eth1).
--sport (--source-port)
Define el puerto de origen.
--dport (--destination-port)
Define el puerto de destino.
-p (--protocol)
El protocolo del paquete a comprobar (tcp, udp, icmp o all). Por defecto es all.
-j (--jump)
Especifica el objetivo de la cadena de reglas, es decir, la acción a tomar.
--line-numbers
Al listar las reglas, agrega el número que ocupa cada regla dentro de la cadena.

Acciones (Targets) de IPTABLES

Las acciones, especificadas con el parámetro -j, determinan qué hacer con un paquete que coincide con una regla:

ACCEPT
El paquete es aceptado y se le permite continuar.
REJECT
El paquete es rechazado y se envía una notificación al origen a través del protocolo ICMP.
DROP
El paquete es rechazado sin enviar ninguna notificación al origen (silenciosamente descartado).
MASQUERADE
Enmascaramiento dinámico de la dirección IP de origen. Esta acción es válida solo en la tabla nat y la cadena POSTROUTING.
DNAT (Destination NAT)
Enmascaramiento de la dirección IP de destino, muy útil para el re-enrutamiento de paquetes (ej. redirección de puertos).
SNAT (Source NAT)
Enmascaramiento de la dirección IP de origen, similar a MASQUERADE, pero con una IP fija.

Ejemplos Prácticos de Reglas IPTABLES

A continuación, se muestran algunos ejemplos de cómo aplicar reglas con IPTABLES:

  • Para descartar paquetes TCP dirigidos al puerto Telnet (23):
    iptables -A INPUT -p tcp --dport telnet -j DROP
  • Si, por el contrario, quisiéramos aceptar estos paquetes:
    iptables -A INPUT -p tcp --dport telnet -j ACCEPT
  • Para aceptar tráfico HTTP (puerto 80):
    iptables -A INPUT -p tcp --dport http -j ACCEPT
  • También podemos especificar la interfaz de entrada (-i eth0):
    iptables -A INPUT -i eth0 -p tcp --dport http -j ACCEPT
  • O usar directamente el número de puerto:
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Conceptos de Calidad

Esta sección aborda definiciones fundamentales relacionadas con la calidad:

Calidad:
Grado en el que un conjunto de características inherentes a un producto o servicio cumple con los requisitos.
Control de Calidad:
Parte de la gestión de calidad orientada al cumplimiento de los requisitos de calidad.
Gestión de Calidad:
Actividades coordinadas para dirigir y controlar una organización en lo relativo a la calidad.

Entradas relacionadas: