2.5. Cortafuegos

La protección de seguridad comúnmente se considera más un proceso que un producto. Sin embargo, las implementaciones de seguridad estándar suelen emplear alguna forma de mecanismo dedicado para controlar privilegios de acceso y restringir recursos de redes a usuarios autorizados, identificables y rastreables. Red Hat Enterprise Linux incluye varias herramientas para ayudar a administradores e ingenieros de seguridad en problemas de control de acceso a nivel de redes.
Los cortafuegos son uno de los componentes de implementación de seguridad de redes. Varios proveedores ponen a disposición soluciones de cortafuegos para todos los niveles del mercado: desde los usuarios de hogares para proteger un computador personal hasta soluciones de centros de datos que protegen información vital empresarial. Los cortafuegos pueden ser soluciones de hardware autónomas tales como dispositivos de cortafuegos de Cisco, Nokia, y Sonicwall. Los proveedores tales como Checkpoint, McAfee, y Symantec también han desarrollado cortafuegos de software de propietario para hogares y mercados comerciales.a
Aparte de las diferencias entre cortafuegos de hardware y de software, hay también diferencias en la forma como los cortafuegos funcionan que separan una solución de la otra. Tabla 2.2, “Tipos de cortafuegos” para obtener mayor información sobre los tres tipos más comunes de cortafuegos y de cómo funcionan:

Tabla 2.2. Tipos de cortafuegos

Método Descripción Ventajas Desventajas
NAT Traducción de dirección de red (NAT) sitúa subredes IP detrás de una o un grupo pequeño de direcciones IP públicas, las cuales enmascaran todas las solicitudes a una fuente en lugar de varias. El kernel de Linux tiene una funcionalidad NAT incorporada a través del subsistema de kernel Netfilter.
· No se puede configurar de modo transparente para máquinas en una LAN
· La protección de varias máquinas y servicios detrás de una o más direcciones externas IP simplifica las labores administrativas
· La restricción de acceso de usuario a y desde la LAN puede configurarse al abrir y cerrar puertos en la puerta de enlace o cortafuegos NAT
· No se puede evitar actividad maliciosa una vez que los usuarios se conecten al servicio fuera del cortafuegos
Filtro de paquetes Un cortafuegos de filtraje de paquetes lee cada paquete de datos que pasa a través de una LAN. Puede leer y procesar paquete por información de encabezado y flitra el paquete basado en conjuntos de reglas progamables implementadas por el administrador de cortafuegos. El kernel de Linux tiene una funcionalidad de filtraje incorporada a través del subsistema de kernel Netfilter.
· Personalizable a través de la herramienta de entorno iptables
· No requiere ninguna personalización de parte del cliente, ya que toda la actividad de red se filtra en el nivel del enrutador en lugar del nivel de aplicación
· Puesto que los paquetes no se transmiten a través de un proxy, el rendimiento de redes es más rápido debido a la conexión directa de cliente a host remoto
· No puede filtrar paquetes para contenidos como cortafuegos de proxy
· Procesa paquetes en la capa del protocolo, pero no puede filtrar paquetes en la capa de la aplicación
· Las arquitecturas de redes complejas pueden dificultar el establecimiento de reglas de filtraje, especialmente si se emparejan con enmascaramiento IP o subredes locales y redes DMZ
Proxy Los cortafuegos de proxy filtran todas las solicitudes de algún protocolo o tipo desde clientes LAN a una máquina proxy y luego hacen esas solicitudes a la Internet en nombre del cliente local. Una máquina proxy actúa como un buffer entre usuarios malintencionados remotos y las máquinas de cliente de redes internas.
· Provee control a los administradores sobre qué aplicaciones y protocolos funcionan fuera de la LAN
· Algunos servidores proxy pueden almacenar en cache datos frecuentemente accedidos de forma local en lugar de tener que usar la conexión de Internet para solicitarlos. De esa manera se ayuda a reducir el consumo de ancho de banda.
· Servicios proxy pueden registrarse y monitorizarse de cerca, lo que permite un control mayor en el uso de recursos en la red
· Los proxy suelen ser aplicaciones específicas (HTTP, Telnet, etc.), o de protocolo restringido (la mayoría de proxy funcionan con servicios conectados de TCP únicamente)
· Los servicios de aplicaciones no se pueden ejecutar detrás de un proxy, por lo tanto sus servidores de aplicaciones deben usar una forma independiente de seguridad de redes
· Los proxy pueden convertirse en un cuello de botella de redes, ya que todas las solicitudes y transmisiones se pasan directamente a través de una fuente en lugar de un cliente a un servicio remoto

2.5.1. Netfilter e IPTables

El kernel de Linux presenta un subsistema de redes poderoso llamado Netfilter. El subsistema de Netfilter provee un filtraje de paquetes con y sin estado como también servicios de NAT y enmascarmiento de IP. Netfilter también tiene la habilidad de exprimir información de encabezamiento de IP y de administrar un estado de conexión. Netfilter se controla mediante la herramienta iptables.

2.5.1.1. Vision general de IPTables

El poder y la flexibilidad de Netfilter se implementa mediante la herramienta de administración de iptables, una herramienta de línea de comandos similar en sintaxis a su predecesora, ipchains, la cual fue remplazada por Netfilter o iptables en el kernel de Linux 2.4 y versiones superiores.
iptables usa el subsistema Netfilter para mejorar la conexión de redes, la inspección y el procesamiento. iptables ofrece ingreso avanzado, acciones de pre y post-enrutamiento, traducción de dirección de redes y el reenvío de puertos, todo en una interfaz de línea de comandos.
Esta sección proporciona una visión general de iptables. Para obtener mayor información, consulte Sección 2.6, “IPTables”.