Capítulo 7. Cortafuegos

La seguridad de la información es pensada a menudo como un proceso y no como un producto. Sin embargo, las implementaciones de seguridad estándar usualmente emplean alguna forma de mecanismo dedicado para controlar los privilegios de acceso y restringir los recursos de la red a los usuarios autorizados, identificables y localizables. Red Hat Enterprise Linux incluye muchas herramientas poderosas para asistir a los administradores y a los ingenieros de seguridad con los problemas de control de acceso al nivel de la red.

Junto a las soluciones de VPN tales como IPsec (discutidas en el Capítulo 6), los cortafuegos o firewalls son uno de los componentes principales de la implementación de seguridad. Muchos vendedores de soluciones de cortafuegos dirigidas a todos los niveles del mercado: desde los usuarios del hogar protegiendo un PC hasta las soluciones de Centros de Datos resguardando información vital de la corporación. Los cortafuegos pueden ser soluciones de hardware independiente, tales como aparatos cortafuegos de Cisco, Nokia, y Sonicwall. También existen soluciones de cortafuegos de software propietario desarrolladas para los mercados del hogar y de negocios por vendedores tales como Checkpoint, McAfee y Symantec.

Aparte de las diferencias entre cortafuegos de hardware y software, también existen diferencias en la forma en que los cortafuegos funcionan que los separan unos de los otros. La Tabla 7-1 detalla tres tipos comunes de cortafuegos y como funcionan:

MétodoDescripciónVentajasDesventajas
NATLa Traducción de direcciones de red, en inglés: Network Address Translation (NAT), coloca las subredes IP internas detrás de una o de un pequeño grupo de direcciones IP, enmascarando todas las peticiones a una fuente en vez de a muchas.

· Se puede configurar de forma transparente a las máquinas en una LAN
· Protección de muchas máquinas y servicios detrás de una o más direcciones IP, simplificando las tareas administrativas
· La restricción del acceso de usuarios hacia y desde la LAN se puede configurar abriendo y cerrando puertos en el cortafuegos/puerta de enlace NAT

· No puede prevenir las actividades maliciosas una vez que los usuarios se conectan a un servicio fuera del cortafuegos

Filtrado de paquetesUn cortafuegos de filtrado de paquetes lee cada paquete de datos que pasa dentro y fuera de una LAN. Puede leer y procesar paquetes de acuerdo a la información de la cabecera y filtra el paquete basado en un conjunto de reglas programables implementadas por el administrador del cortafuegos. El kernel de Linux tiene una funcionalidad de filtrado de paquetes embebida a través del subsistema del kernel Netfilter.

· Personalizable a través de la utilidad iptables
· No requiere ninguna personalización particular del lado del cliente, pues toda la actividad de la red es filtrada al nivel del enrutador en vez de a nivel de la aplicación
· Puesto que los paquetes no son transmitidos a través del proxy, el rendimiento de la red es más rápido debido a la conexión directa desde el cliente al host remoto

· No puede filtrar paquetes por contenido como los cortafuegos proxy
· Procesa los paquetes en la capa del protocolo pero no puede filtrar los paquetes en la capa de la aplicación
· Las arquitecturas de red complejas pueden hacer el establecimiento de reglas de filtrado difíciles, especialmente si están usando enmascaramiento de IP o subredes locales y redes DMZ

ProxyLos cortafuegos proxy filtran todas las peticiones de cierto tipo o protocolo desde los clientes LAN a una máquina proxy, la cual luego hace esas peticiones a la Internet en nombre del cliente local. Una máquina proxy actúa como un buffer entre los usuarios remotos maliciosos y las máquinas clientes de la red interna.

· Otorga a los administradores el control sobre qué aplicaciones y protocolos funcionan fuera de la LAN
· Algunos servidores proxy pueden hacer caché de datos para que los clientes puedan accesar los datos solicitados con frecuencia desde el caché local en vez de tener que utilizar la conexión a Internet para pedirlos, lo cual es conveniente para reducir el consumo innecesario de ancho de banda
· Los servicios Proxy se pueden registrar y supervisar de cerca, permitiendo un mayor control sobre el uso de los recursos en la red

· Los proxies a menudo son específicos a las aplicaciones (HTTP, Telnet, etc.) o restringidos al protocolo (la mayoría de los proxies funcionan con servicios conectados a TCP solamente)
· Los servicios de aplicaciones no se pueden ejecutar detrás del proxy, por lo que sus servidores de aplicaciones deben utilizar una forma de seguridad de la red separada
· Los proxies pueden convertirse en un cuello de botella, puesto que todas las peticiones y transmisiones son pasadas a través de una fuente en vez de directamente del cliente a un servicio remoto

Tabla 7-1. Tipos de cortafuegos

7.1. Netfilter e iptables

El kernel de Linux presenta un subsistema de redes muy poderoso llamado Netfilter. El subsistema netfilter proporciona un filtrado de paquetes con vigilancia continua o sin ella, así como también NAT y servicios de enmascaramiento IP. Netfilter también tiene la habilidad de mutilar la información IP de cabecera para un enrutamiento avanzado y gestión del estado de la conexión. Netfilter es controlado a través de la utilidad iptables.

7.1.1. Descripción general de iptables

El poder y flexibilidad de Netfilter es implementado a través de la interfaz de iptables. Esta herramienta de línea de comandos es similar en sintaxis a su predecesor, ipchains; sin embargo, iptablesutiliza el subsistema Netfilter para mejorar la conexión de la red, inspección y procesamiento; mientras que ipchains usa conjuntos de reglas intrincados para filtrar rutas de fuentes y destino, así como también puertos de conexión o ambos. iptablespresenta funcionalidades como: registro avanzado, acciones previas y posteriores al enrutamiento, traducción de direcciones de red y reenvío de puertos, todo en una interfaz de línea de comandos.

Esta sección proporciona una descripción general sobre iptables. Para más detalles sobre iptables, consulte el Manual de referencia de Red Hat Enterprise Linux.