IPTABLES básico: conocimiento básico del firewall de GNU/Linux (III, TABLAS)
- domingo, 29 julio 2018 , 12:42 CEST
- Autor:ForestBOFH
Ahora que conocemos las políticas básicas de iptables, vistas en la entrada anterior, conozcamos un poco más en profundidad las tablas que regirán nuestro tráfico de paquetes.
Pero, ¿qué son las tablas?
Se entiende por tabla un conjunto de cadenas, ya estén empotradas (prediseñadas e incluidas en el propio iptables) o hayan sido definidas por el usuario; estas cadenas, como hemos visto, contendrán todas las reglas que puedan coincidir con un conjunto de paquetes.
Por defecto se definen cuatro tablas, pudiéndose agregar otras mediante la inserción de módulos:
-
FILTER: Es la tabla por defecto (si no se especifica la opción -t). Contiene por defecto tres cadenas predefinidas:
-
INPUT => Contiene las reglas para paquetes cuyo destino sea la máquina local.
-
OUTPUT => Contiene las reglas para paquetes cuyo origen es la máquina local.
-
FORWARD => Cuando una máquina se configura como un router, contiene las reglas para paquetes cuyo origen/destino NO es dicha máquina.
-
NAT: Es la tabla que se consulta cuando se encuentra un paquete que crea una nueva conexión. Se encarga de procesar los paquetes de procesos NAT configurados mediante iptables. Sus cadenas por defecto son:
-
PREROUTING => Altera los paquetes entrantes, redirigiéndolos a donde definan sus reglas. Nótese que es decisión de preenrutado. (DNAT, Destination NAT)
-
POSTROUTING => Altera paquetes después de la decisión de enrutado (SNAT, Source NAT). (Enmascara los paquetes con la IP de la intefaz de salida).
-
OUTPUT => En paquetes generados localmente, realiza operaciones de NATeo antes del enrutado.
-
MANGLE : Tabla utilizada para la alteración especializada de paquetes. Por ejemplo, puede modificar el TTL, alterando los ocho bits que definen el límite de saltos (Time To Live) de un datagrama, o modificar el campo ToS (TypeOfService, también de 8 bits) de la cabecera de un datagrama IPv4, que define la prioridad del paquete. Sus cadenas predefinidas son: INPUT, OUTPUT, FORWARD, PREROUTING y POSTROUTING.
(Nota: revisar cabecera IP)
-
RAW: Se usa principalmente para la configuración de exenciones del seguimiento de conexiones en combinación con la política (target) NOTRACK, estableciendo una marca (NOTRACK) para evitar que netfilter haga un seguimiento del paquete.(En detrimento de CONNTRACK, que actúa por defecto).
(NOTA: CONTRACK es el módulo que vigila las conexiones para poder establecer reglas sobre flujos de información (muchos paquetes) en vez de para paquetes individuales). Un ejemplo:
Por defecto, la tabla RAW tiene preconfiguradas dos cadenas: OUTPUT Y PREROUTING.
-
SECURITY: Usada para las reglas MAC (Mandatory Access Control) de networking, como por ejemplo las habilitadas por las políticas (targets) SECKMARK y CONNSEMARK. MAC es implementado por los módulos de seguridad como SELinux. Esta tabla es llamada después de la tabla FILTER, permitiendo que cualquier regla DAC (Discretionary Access Control) de la tabla FILTER tome efecto antes que las reglas MAC.(NOTA: revisar el man iptables-extensions, sección TARGET EXTENSIONS).
Aquí lo dejo por hoy; en la próxima entrada repasaremos la sintaxis básica. Sin complejos, y sin miedo, veremos poco más, dado el carácter básico del manual, que manipular la tabla FILTER.
Commentarios (0)
- forestux.es
- http://www.forestux.es/article.php?story=iptables.basico.III