Seguridad de red: cortafuegos
Casi todas las organizaciones de mediana y gran escala tienen presencia en Internet y tienen una red organizativa conectada a ella. La partición de la red en el límite entre Internet exterior y la red interna es esencial para la seguridad de la red. A veces, la red interna (intranet) se conoce como el lado "confiable" y la Internet externa como el lado "no confiable".
Tipos de cortafuegos
El cortafuegos es un dispositivo de red que aísla la red interna de la organización de una red externa / Internet más grande. Puede ser un hardware, software o sistema combinado que evita el acceso no autorizado a la red interna o desde ella.
Todos los paquetes de datos que entran o salen de la red interna pasan a través del firewall, que examina cada paquete y bloquea los que no cumplen con los criterios de seguridad especificados.
La implementación de un firewall en los límites de la red es como agregar la seguridad en un solo punto. Es análogo a cerrar un apartamento en la entrada y no necesariamente en cada puerta.
El firewall se considera un elemento esencial para lograr la seguridad de la red por las siguientes razones:
Es poco probable que la red interna y los hosts estén protegidos adecuadamente.
Internet es un lugar peligroso con delincuentes, usuarios de empresas competidoras, ex empleados descontentos, espías de países hostiles, vándalos, etc.
Para evitar que un atacante lance ataques de denegación de servicio en un recurso de red.
Para evitar modificaciones / accesos ilegales a datos internos por parte de un atacante externo.
El cortafuegos se clasifica en tres tipos básicos:
- Filtro de paquetes (sin estado y con estado)
- Puerta de enlace a nivel de aplicación
- Puerta de enlace a nivel de circuito
Sin embargo, estas tres categorías no se excluyen mutuamente. Los firewalls modernos tienen una combinación de habilidades que pueden ubicarlos en más de una de las tres categorías.
Cortafuegos de filtrado de paquetes sin estado y con estado
En este tipo de implementación de firewall, la red interna está conectada a la red externa / Internet a través de un firewall de enrutador. El cortafuegos inspecciona y filtra los datos paquete por paquete.
Packet-filtering firewalls permitir o bloquear los paquetes principalmente en función de criterios tales como direcciones IP de origen y / o destino, protocolo, números de puerto de origen y / o destino, y varios otros parámetros dentro del encabezado IP.
La decisión puede basarse en factores distintos a los campos de encabezado IP, como el tipo de mensaje ICMP, los bits TCP SYN y ACK, etc.
La regla de filtrado de paquetes tiene dos partes:
Selection criteria - Se utiliza como condición y coincidencia de patrones para la toma de decisiones.
Action field- Esta parte especifica la acción que se debe tomar si un paquete IP cumple con los criterios de selección. La acción podría ser bloquear (denegar) o permitir (permitir) el paquete a través del firewall.
El filtrado de paquetes generalmente se logra mediante la configuración de listas de control de acceso (ACL) en enrutadores o conmutadores. ACL es una tabla de reglas de filtrado de paquetes.
A medida que el tráfico entra o sale de una interfaz, el cortafuegos aplica ACL de arriba a abajo a cada paquete entrante, encuentra criterios coincidentes y permite o niega los paquetes individuales.
Stateless firewalles una especie de herramienta rígida. Mira el paquete y lo permite si cumple con los criterios, incluso si no es parte de ninguna comunicación en curso establecida.
Por tanto, estos cortafuegos se sustituyen por stateful firewallsen las redes modernas. Este tipo de firewalls ofrece un método de inspección más profundo sobre los únicos métodos de inspección de paquetes basados en ACL de firewalls sin estado.
El firewall con estado monitorea la configuración de la conexión y el proceso de desconexión para controlar las conexiones a nivel de TCP / IP. Esto les permite realizar un seguimiento del estado de las conexiones y determinar qué hosts tienen conexiones abiertas y autorizadas en un momento dado.
Hacen referencia a la base de reglas solo cuando se solicita una nueva conexión. Los paquetes que pertenecen a conexiones existentes se comparan con la tabla de estado de conexiones abiertas del firewall, y se toma la decisión de permitir o bloquear. Este proceso ahorra tiempo y también proporciona seguridad adicional. No se permite que ningún paquete traspase el firewall a menos que pertenezca a una conexión ya establecida. Puede agotar el tiempo de espera de las conexiones inactivas en el firewall, después de lo cual ya no admite paquetes para esa conexión.
Pasarelas de aplicación
Una puerta de enlace de nivel de aplicación actúa como un nodo de retransmisión para el tráfico de nivel de aplicación. Interceptan paquetes entrantes y salientes, ejecutan proxies que copian y reenvían información a través de la puerta de enlace y funcionan comoproxy server, evitando cualquier conexión directa entre un servidor o cliente confiable y un host no confiable.
Los proxies son específicos de la aplicación. Pueden filtrar paquetes en la capa de aplicación del modelo OSI.
Proxies específicos de la aplicación
Un proxy específico de la aplicación acepta paquetes generados solo por una aplicación específica para la que están diseñados para copiar, reenviar y filtrar. Por ejemplo, solo un proxy Telnet puede copiar, reenviar y filtrar el tráfico Telnet.
Si una red se basa solo en una puerta de enlace de nivel de aplicación, los paquetes entrantes y salientes no pueden acceder a los servicios que no tienen proxies configurados. Por ejemplo, si una puerta de enlace ejecuta servidores proxy FTP y Telnet, solo los paquetes generados por estos servicios pueden atravesar el firewall. Todos los demás servicios están bloqueados.
Filtrado a nivel de aplicación
Una puerta de enlace proxy a nivel de aplicación examina y filtra paquetes individuales, en lugar de simplemente copiarlos y reenviarlos a ciegas a través de la puerta de enlace. Los proxies específicos de la aplicación verifican cada paquete que pasa a través de la puerta de enlace, verificando el contenido del paquete a través de la capa de la aplicación. Estos proxies pueden filtrar tipos particulares de comandos o información en los protocolos de aplicación.
Las puertas de enlace de aplicaciones pueden restringir la realización de acciones específicas. Por ejemplo, la puerta de enlace se puede configurar para evitar que los usuarios ejecuten el comando 'FTP put'. Esto puede evitar que un atacante modifique la información almacenada en el servidor.
Transparente
Aunque las puertas de enlace a nivel de aplicación pueden ser transparentes, muchas implementaciones requieren la autenticación del usuario antes de que los usuarios puedan acceder a una red que no es de confianza, un proceso que reduce la verdadera transparencia. La autenticación puede ser diferente si el usuario es de la red interna o de Internet. Para una red interna, se puede permitir que una lista simple de direcciones IP se conecte a aplicaciones externas. Pero desde el lado de Internet se debe implementar una autenticación fuerte.
Una puerta de enlace de aplicaciones en realidad retransmite segmentos TCP entre las dos conexiones TCP en las dos direcciones (Cliente ↔ Proxy ↔ Servidor).
Para los paquetes salientes, la puerta de enlace puede reemplazar la dirección IP de origen por su propia dirección IP. El proceso se conoce como traducción de direcciones de red (NAT). Garantiza que las direcciones IP internas no estén expuestas a Internet.
Puerta de enlace a nivel de circuito
La puerta de enlace a nivel de circuito es una solución intermedia entre el filtro de paquetes y la puerta de enlace de la aplicación. Se ejecuta en la capa de transporte y, por lo tanto, puede actuar como proxy para cualquier aplicación.
Similar a una puerta de enlace de aplicaciones, la puerta de enlace a nivel de circuito tampoco permite una conexión TCP de un extremo a otro a través de la puerta de enlace. Establece dos conexiones TCP y retransmite los segmentos TCP de una red a la otra. Pero no examina los datos de la aplicación como la puerta de enlace de la aplicación. Por lo tanto, en algún momento se le llama 'Pipe Proxy'.
CALCETINES
SOCKS (RFC 1928) se refiere a una puerta de enlace a nivel de circuito. Es un mecanismo de proxy de red que permite a los hosts de un lado de un servidor SOCKS obtener acceso completo a los hosts del otro lado sin requerir accesibilidad IP directa. El cliente se conecta al servidor SOCKS en el firewall. Luego, el cliente ingresa a una negociación para que se utilice el método de autenticación y se autentica con el método elegido.
El cliente envía una solicitud de retransmisión de conexión al servidor SOCKS, que contiene la dirección IP de destino y el puerto de transporte deseados. El servidor acepta la solicitud después de verificar que el cliente cumple con los criterios básicos de filtrado. Luego, en nombre del cliente, la puerta de enlace abre una conexión con el host no confiable solicitado y luego monitorea de cerca el protocolo de enlace TCP que sigue.
El servidor SOCKS informa al cliente y, en caso de éxito, comienza a transmitir los datos entre las dos conexiones. Las puertas de enlace a nivel de circuito se utilizan cuando la organización confía en los usuarios internos y no desea inspeccionar el contenido o los datos de la aplicación enviados en Internet.
Implementación de firewall con DMZ
Un cortafuegos es un mecanismo que se utiliza para controlar el tráfico de red "dentro" y "fuera" de una red interna de la organización. En la mayoría de los casos, estos sistemas tienen dos interfaces de red, una para la red externa, como Internet, y la otra para el lado interno.
El proceso de firewall puede controlar estrictamente lo que se permite atravesar de un lado a otro. Una organización que desee proporcionar acceso externo a su servidor web puede restringir todo el tráfico que llega al firewall excepto para el puerto 80 (el puerto http estándar). El resto del tráfico, como el tráfico de correo, FTP, SNMP, etc., no está permitido a través del firewall hacia la red interna. En el siguiente diagrama se muestra un ejemplo de un cortafuegos simple.
En la implementación simple anterior, aunque todos los demás accesos desde el exterior están bloqueados, es posible que un atacante se comunique no solo con un servidor web sino con cualquier otro host en la red interna que haya dejado el puerto 80 abierto por accidente o de otra manera.
Por lo tanto, el problema al que se enfrentan la mayoría de las organizaciones es cómo habilitar el acceso legítimo a servicios públicos como la web, FTP y correo electrónico mientras se mantiene una estricta seguridad de la red interna. El enfoque típico es implementar firewalls para proporcionar una zona desmilitarizada (DMZ) en la red.
En esta configuración (ilustrada en el diagrama siguiente), se implementan dos firewalls; uno entre la red externa y la DMZ, y otro entre la DMZ y la red interna. Todos los servidores públicos están ubicados en la DMZ.
Con esta configuración, es posible tener reglas de firewall que permitan el acceso público a los servidores públicos, pero el firewall interior puede restringir todas las conexiones entrantes. Al tener DMZ, los servidores públicos cuentan con la protección adecuada en lugar de colocarlos directamente en una red externa.
Sistema de detección / prevención de intrusiones
Los cortafuegos de filtrado de paquetes operan según reglas que involucran únicamente encabezados TCP / UDP / IP. No intentan establecer comprobaciones de correlación entre diferentes sesiones.
El sistema de detección / prevención de intrusiones (IDS / IPS) lleva a cabo una inspección profunda de paquetes (DPI) mirando el contenido del paquete. Por ejemplo, verificando cadenas de caracteres en un paquete con la base de datos de virus conocidos, cadenas de ataque.
Las puertas de enlace de aplicaciones miran el contenido del paquete, pero solo para aplicaciones específicas. No buscan datos sospechosos en el paquete. IDS / IPS busca datos sospechosos contenidos en paquetes e intenta examinar la correlación entre múltiples paquetes para identificar cualquier ataque, como escaneo de puertos, mapeo de redes y denegación de servicio, etc.
Diferencia entre IDS e IPS
IDS e IPS son similares en la detección de anomalías en la red. IDS es una herramienta de "visibilidad", mientras que IPS se considera una herramienta de "control".
Los sistemas de detección de intrusiones se encuentran a un lado de la red, monitorean el tráfico en muchos puntos diferentes y brindan visibilidad del estado de seguridad de la red. En caso de que IDS notifique una anomalía, el administrador de la red u otro dispositivo de la red iniciará las acciones correctivas.
Los sistemas de prevención de intrusiones son como un cortafuegos y se colocan en línea entre dos redes y controlan el tráfico que las atraviesa. Hace cumplir una política específica sobre la detección de anomalías en el tráfico de la red. Por lo general, descarta todos los paquetes y bloquea todo el tráfico de la red al notar una anomalía hasta que el administrador solucione la anomalía.
Tipos de IDS
Hay dos tipos básicos de IDS.
Signature-based IDS
Necesita una base de datos de ataques conocidos con sus firmas.
La firma se define por los tipos y el orden de los paquetes que caracterizan un ataque en particular.
La limitación de este tipo de IDS es que solo se pueden detectar ataques conocidos. Este IDS también puede generar una falsa alarma. Puede ocurrir una falsa alarma cuando un flujo de paquetes normal coincide con la firma de un ataque.
Un ejemplo conocido de IDS público de código abierto es el IDS “Snort”.
Anomaly-based IDS
Este tipo de IDS crea un patrón de tráfico de funcionamiento normal de la red.
Durante el modo IDS, observa los patrones de tráfico que son estadísticamente inusuales. Por ejemplo, carga inusual de ICMP, crecimiento exponencial en escaneos de puertos, etc.
La detección de cualquier patrón de tráfico inusual genera la alarma.
El principal desafío al que se enfrenta este tipo de implementación de IDS es la dificultad para distinguir entre el tráfico normal y el tráfico inusual.
Resumen
En este capítulo, discutimos los diversos mecanismos empleados para el control de acceso a la red. El enfoque de la seguridad de la red a través del control de acceso es técnicamente diferente a la implementación de controles de seguridad en las diferentes capas de la red discutidas en los capítulos anteriores de este tutorial. Sin embargo, aunque los enfoques de implementación son diferentes, son complementarios entre sí.
El control de acceso a la red consta de dos componentes principales: autenticación de usuario y protección de límites de red. RADIUS es un mecanismo popular para proporcionar autenticación central en la red.
El cortafuegos proporciona protección de los límites de la red al separar una red interna de la Internet pública. El firewall puede funcionar en diferentes capas de protocolo de red. IDS / IPS permite monitorear las anomalías en el tráfico de la red para detectar el ataque y tomar acciones preventivas contra el mismo.