Beneficios de analizar aplicaciones de nivel 7 en firewalls. Parte 2. Seguridad



La nueva generación de firewalls es más conveniente y segura gracias a la nueva arquitectura del motor y la nueva ideología de gestión de flujos de red.

¿Por qué apareció este artículo?


En repetidas ocasiones llegó a compañeros de seguridad que utilizan una nueva generación de firewalls y vieron que siguen escribiendo reglas sobre los números de puerto. Ante mi sugerencia de seguir escribiendo por el nombre de las aplicaciones, escuché "¿Qué pasa si no funciona así?". Si también está "asustado" o no está claro por qué escribir las reglas para las aplicaciones, este artículo es para usted.
Comienzo del artículo por referencia Parte 1. Conceptos básicos de firewall

Parte 2. Impacto de seguridad de L7 FIREWALL


Contenido


El firewall L7 verifica el contenido del campo de datos, el firewall L4 no
Las aplicaciones han cambiado: ¿ha cambiado su firewall?
Cómo funciona la detección de tráfico
L7 Firewall es más conveniente
El firewall L7 es más seguro
¿Qué nuevos problemas crean un nuevo enfoque para escribir reglas para L7?
Limitaciones de la tecnología de análisis de nivel 7
Conclusión
Votar

El firewall L7 verifica el contenido del campo de datos, el firewall L4 no


El principal problema con el que estamos luchando es que ahora los programas se escriben de inmediato para evitar la protección del firewall L4.
Si una persona pone Skype, entonces no quiere llamar al administrador del sistema y le ruega que abra el puerto que necesita en el cortafuegos; quiere que Skype se ilumine de inmediato "verde". Los programadores saben que a menudo hay un proxy HTTP en la red o que el puerto 80 está abierto para HTTP, el puerto 53 es para DNS, el puerto 123 es para NTP y, a veces, para empleados de adentro hacia afuera a Internet, todo está abierto y puede usar estas conexiones permitidas en consecuencia.



Los desarrolladores tienen el término Experiencia de usuario: después de la instalación, el cliente se incendió en Skype verde = el cliente está contento. Y el hecho de que Skype pasó ilegalmente el perímetro de la compañía a través de una conexión que estaba abierta para el navegador solo en los puertos TCP / 80 y 443, el firewall L4 ignora, porque no es su tarea mirar el contenido de los paquetes, solo los encabezados son importantes para él.

Problema de firewall L4: salto de puerto (tunelización)


El túnel de aplicaciones no autorizadas dentro de las conexiones permitidas es una imagen estándar en las redes modernas. Naturalmente, los hackers usan el mismo truco: crean túneles en las conexiones permitidas. Y los guardias de seguridad ni siquiera lo saben.

Ejemplo de túnel TCP sobre DNS




A partir de los paquetes de tráfico recopilados en la imagen, está claro que hay conexiones en el puerto TCP 53, lo que generalmente se considera como la operación del protocolo DNS. Sin embargo, si observa detenidamente, puede ver que en el campo Texto del protocolo DNS hay algún tipo de texto cifrado. Esta es una implementación del túnel TCP-Over-DNS, que a menudo veo en las redes corporativas. A la izquierda hay una lista de otros túneles que pueden usar sus usuarios o hackers. ¿El firewall L4 da esa información? No Por lo tanto, si necesita proteger a la empresa de túneles no autorizados, debe analizar el contenido de los datos transmitidos y utilizarlo para analizar qué aplicación está utilizando actualmente esta conexión TCP.

Las aplicaciones han cambiado: ¿ha cambiado su firewall?




El mundo ha cambiado y hoy no es suficiente determinar la aplicación por número de puerto. Sí, hace 20 años acordamos que si 80 está escrito en el campo Puerto, entonces esto es HTTP, si 53, entonces esto es DNS, ¡pero ahora no es así!

Es necesario analizar el contenido de los datos transmitidos y corresponde a ellos analizar qué aplicación está utilizando actualmente esta conexión TCP.

Vaya a la base de datos de la aplicación applipedia.paloaltonetworks.com . Vea cuántas aplicaciones usan los puertos 80 y 443.
Un ejemplo

Aplicaciones que usan el puerto 80


El problema con muchas características de seguridad es ignorar las aplicaciones en puertos no estándar.



Mover una aplicación estándar a un puerto no estándar también permite que un atacante se salga de control. Este control restaura solo el dispositivo que analiza el contenido de todo el tráfico, y no solo los encabezados.

Cómo funciona la detección de tráfico


Una de las tareas del análisis de aplicaciones es detectar el tráfico de aplicaciones que se crean especialmente para que sus conexiones no sean visibles. Tomemos por ejemplo Skype. Las personas que han aprendido a distinguir los paquetes UDP cifrados de Skype de otros paquetes UDP cifrados son muy buenos compañeros.

También hay una clase de dispositivos que pueden hacer esto: inspección profunda de paquetes (en adelante DPI). Dichos dispositivos ahora cuentan con grandes proveedores y le permiten manipular el tráfico de aplicaciones: aplique QoS o redirija en la dirección correcta. A veces se comparan NGFW y DPI. Diferencia: DPI está diseñado para controlar la calidad del tráfico y la seguridad de NGFW, aunque NGFW también tiene características de QoS.

Los métodos para detectar aplicaciones en el tráfico son diferentes.

  • Si necesita encontrar una aplicación que no se oculte en el tráfico, como HTTP, entonces es suficiente para usar las búsquedas habituales de los patrones o firmas correspondientes. Y esto es utilizado activamente por los fabricantes. Este es el más fácil.
  • Si necesita encontrar una aplicación que se oculte deliberadamente , por ejemplo, TOR, entonces necesita un conjunto de métodos para analizar las estadísticas y el comportamiento del paquete. Esto es difícil, requiere un laboratorio de investigación, que también necesita realizar un seguimiento de los cambios en el protocolo a tiempo e implementar nuevos algoritmos de búsqueda. Mis intentos de lograr que al menos un desarrollador diga cómo funcionan estos algoritmos, me encuentro con la respuesta de que todo esto es propiedad intelectual.

Sucede que la aplicación ya ha cambiado el algoritmo de operación, y el motor DPI o NGFW aún no ha logrado cambiar. Por ejemplo, Telegram a veces cambia porque está siendo cazado. Se producen falsos positivos. Esto es importante para verificar. En consecuencia, los dispositivos y NGFW y DPI difieren principalmente en el número y la calidad de la detección de aplicaciones. Este es el único método: ponga NGFW en su tráfico y vea. Si hablamos del perímetro, entonces el tráfico más complejo que vi contenía 715 aplicaciones diferentes por mes. En promedio, 200-300 aplicaciones de varios tipos pasan por el perímetro. En esta visualización del tráfico de aplicaciones, puede ver esto: pase el mouse sobre cada círculo:

http://researchcenter.paloaltonetworks.com/app-usage-risk-report-visualization/


Hay miles de aplicaciones en la base de datos de aplicaciones, por lo que esencialmente el análisis de los formatos y algoritmos de cada aplicación es un trabajo largo y laborioso de los analistas. Una vez que comprendemos cómo funciona la aplicación, los programadores comienzan a trabajar, lo que implementa el descubrimiento de aplicaciones por tráfico. Y estos pocos miles de aplicaciones cambian constantemente. En consecuencia, el producto debe ser constantemente compatible, aprender nuevas aplicaciones y monitorear los cambios en los antiguos y agregar detectores modificados a la base de datos. La base de datos de todas las aplicaciones posibles que generan tráfico se puede encontrar aquí .

A veces, los proveedores de firewall L7 intentan medir la cantidad de aplicaciones que tienen en la base de datos, pero esto es más como una blasfemia. Al activar el pensamiento crítico, comprende que en realidad solo necesita detectar aplicaciones en el perímetro (en promedio, en la región de 300 aplicaciones diferentes), en el centro de datos (10-15 piezas), en redes ICS / SCADA (2-3 aplicaciones), entre segmentos (tal vez son solo unas pocas docenas). Y si se le ofrece detectar miles de aplicaciones, esto es solo marketing y la detección de algunas aplicaciones desconocidas que nadie usa.

Ejemplos de aplicaciones en la red de una empresa:

imagen

La segmentación interna dentro de la empresa es un requisito constante de los estándares de seguridad de la información que casi nadie cumple. Entre los segmentos donde se sientan programadores, financieros, RRHH y contabilidad, también se ejecutan aplicaciones. Como mínimo, debe controlar la red de Windows (protocolo SMB), esto se hizo especialmente claro después de la epidemia de criptoclocker WannaCry, que se distribuyó a través de SMB. Es decir, las redes internas también necesitan análisis de aplicaciones de nivel 7 y métodos relacionados para buscar código malicioso en el sandbox e IPS, y al menos controlar los tipos de archivos transferidos.
El problema más común que se nota en las redes: el firewall es supuestamente el nivel 7, pero en realidad detecta aplicaciones por puerto. ¿Cómo verificarlo?

  1. Para la prueba, cuelgue el servidor FTP en el puerto 25. Si el dispositivo se equivoca y dice que es el protocolo SMTP, entonces este definitivamente no es el firewall L7.
  2. O simplemente intente escribir reglas para dos aplicaciones diferentes que usan el mismo puerto. Haga diferentes reglas para ellos: en un bloque de archivos exe, en el otro, permítales. Si resulta que está hecho, significa que la verdad es el análisis de la aplicación (no el número de puerto) primero, y luego trabajar con su contenido: bloqueo de archivos, verificación de firmas de virus, verificación de firmas IPS, etc.
  3. Otra prueba interesante para NGFW es cuando necesita hacer dos aplicaciones L7 personalizadas con diferentes propiedades en la misma dirección IP. Esto no puede firewall L4, pero puede firewall L7. Descripción completa y prueba aquí: http://basic.ngfw-test.com/
En Rusia, sigue siendo importante que los firewalls conozcan el tráfico de las aplicaciones rusas: 1C, Odnoklassniki, Yandex.Disk, mail.ru, cómo se ven las actualizaciones de Kaspersky Anti-Virus, etc. Este también es un componente importante de descubrimiento de aplicaciones que necesita para permitir de forma segura estas aplicaciones a sus empleados.

L7 Firewall es más conveniente


Si observa el proceso de capacitación de ingenieros de redes, la mayoría de las veces las personas toman cursos de un conocido fabricante de equipos de redes y esto brinda un buen conocimiento de las tecnologías de redes.



El autor de estas líneas terminó una buena cantidad de cursos de Cisco en 2003 y, por lo tanto, presenta cuáles son las características de la capacitación para ingenieros de redes: como regla general, después de estudiar el modelo ISO OSI de siete niveles, solo se estudian en detalle los primeros 4 niveles. Es decir, todas las sutilezas de los ingenieros de redes de seguridad de la información solo se conocen hasta el nivel de TCP / UDP / ICMP. Solo se consideran unos pocos básicos desde el nivel de la aplicación: HTTP, DNS, SSH, Telnet, NTP, FTP. Cual es el resultado? ¡Y el administrador de red siente que administrar la capa de aplicación es fácil desde la capa de transporte!

Puede parecerle a un especialista en redes recién horneado que todo se puede hacer con reglas a nivel de transporte, donde solo necesita permitir el protocolo y el puerto necesarios. ¿Necesita permitir un navegador en Internet? Abrimos TCP / 80. ¿Necesitas abrir DNS? Abra TCP / 53 o UDP / 53. ¿Necesitas abrir RDP? Abra TCP / 3389. Y escribir reglas en el firewall L4 se está convirtiendo en el estándar en la empresa.

Debo decir que muchos especialistas de TI son conscientes del concepto de inspección completa. Pero al mismo tiempo, para muchos, es una revelación que los diferentes firewalls admiten la inspección satefull para un conjunto diferente de aplicaciones. Tengo ciertas estadísticas porque trabajé como profesor de cursos de Firewall en el centro de capacitación de la empresa Informzashita. Que estoy viendo Alguien piensa que la inspección con estado es solo un permiso para aceptar las respuestas del protocolo TCP / UDP / ICMP. ¿Pero qué pasa con las aplicaciones más complejas? Por ejemplo, ¿cómo rastrear dos conexiones TCP que hace el protocolo FTP en los puertos 21 y 20? ¿Dependen unas de otras? Allí no solo debe aceptar la respuesta, sino también permitir la segunda conexión, según el comando PORT, dentro de la conexión de control en el puerto 21. ¿Y cuántas aplicaciones más para abrir nuevas conexiones dentro de ellos dan aplicaciones? En resumen, las redes ahora usan la lista de acceso habitual, que no entiende el comando PORT dentro del protocolo FTP, y está el firewall L4, que desmonta el comando PORT y abre automáticamente el puerto deseado, hay alguien que ha ido más allá y mira los comandos más complejos del protocolo MS RPC o ICS / Protocolos SCADA. Pero todas las aplicaciones posibles del firewall L4 no se ven, y estos firewalls también difieren generalmente en la cantidad de aplicaciones implementadas dentro del Application Layer Gateway (ALG).

¿A qué estoy llegando? La convicción de que solo recordar los principales puertos TCP / UDP no funciona.
Ya existen varios miles de aplicaciones en el mundo y todas ellas utilizan redes informáticas. Y ningún ingeniero de redes puede recordar todos estos puertos.

La revelación para los ingenieros de redes es la tarea de abrir puertos para una aplicación más compleja, por ejemplo, VNC. Nadie recuerda qué puertos hay y tiene que usar google.
Al publicar la primera parte, realicé una encuesta y veo que la gente todavía está lista para recordar los números de puerto: las opiniones se dividieron entre 50 y 50: alguien respondió que estaba listo para recordar los 4 puertos de la aplicación VNC.

Quizás el campeón en el número de puertos es Lync (también conocido como Skype for Business). Unos 40 puertos. ¿Es realista recordarlos?

Si observa Microsoft TechNet, que describe qué puertos necesita abrir, entonces quiero escribir un permiso para cualquier regla, porque hay alrededor de 40 puertos y algunos de ellos deben abrirse dinámicamente. Y es desastrosamente inconveniente registrarse en el firewall L4.

Resulta que es más conveniente para un ingeniero de redes escribir las reglas de la aplicación L7 y es necesario que el firewall abra automáticamente los puertos necesarios.

¿Necesitas abrir VNC? Escribe la palabra VNC en la regla y el firewall ya comprende qué protocolos subyacentes debe abrir. Esto es conveniente

Un ejemplo Informe NGFW sobre categorías de tráfico seleccionadas.



En promedio, 200-300 aplicaciones utilizan el acceso a Internet desde una red corporativa. El firewall de nivel de aplicación muestra qué aplicaciones es y puede filtrar estas aplicaciones para todos o para usuarios específicos y filtrar archivos por tipos o contenido que van a aplicaciones permitidas para todos los usuarios en la red corporativa. Además, no olvide que en NGFW, las funciones de seguridad funcionan en paralelo: IPS, antivirus, antispyware, filtro de URL, filtro DNS, Inteligencia de amenazas, etc. Es decir, no solo permitimos aplicaciones, sino que lo hacemos de forma segura.

El firewall L7 es más seguro


Tengo el NGFW de Palo Alto Networks a mano. Escribí tres reglas diferentes al respecto. Veamos en qué se diferencian.



Si alguna vez configuró un firewall, verá que para diferentes grupos de usuarios: vip, marketing y programadores, habilité SSL de tres maneras diferentes.

  1. Los usuarios VIP podrán ir al puerto 443 y podrán usar SSL dentro de él , ya que es el puerto predeterminado para SSL. Si intentan ir al puerto 443, por ejemplo, telnet regular, entonces no tendrán éxito: el firewall verificará que no sea SSL y lo bloqueará. ¡Y esto es lo que necesitas!
  2. el marketing puede ir a cualquier puerto usando SSL , porque en el campo Servicio, donde se indican los puertos, se permite cualquier puerto. La pregunta es, ¿quiero que el marketing use SSL en puertos no estándar? No Este es un error de configuración común. Especificar un puerto como cualquiera es lógico si la regla es prohibitiva, es decir, si queremos prohibir SSL en cualquier puerto.
  3. los programadores pueden caminar en el puerto 443 con cualquier aplicación , lo que en realidad es un agujero, porque originalmente solo quería abrir SSL. Y así es exactamente como funciona el firewall L4: abre el puerto y luego no le importa qué hay allí y qué aplicaciones usan este puerto. Cualquier programador en el grupo de programadores puede usar cualquier túnel.

Establecer el valor predeterminado de la aplicación es muy importante y le permite reducir la cantidad de reglas: puede especificar las aplicaciones necesarias en la columna Aplicación en una regla y el firewall abrirá los puertos necesarios para las aplicaciones necesarias y solo aquellas aplicaciones que deben ir allí pasarán por estos puertos. En consecuencia, necesita una regla para abrir múltiples aplicaciones.

Por ejemplo, para la siguiente regla, donde todos los empleados pueden acceder a Internet solo de manera predeterminada, NGFW comprobará constantemente que solo desean el cliente DNS en el puerto 53 y no TCP sobre DNS. Y, por supuesto, esto aumenta la seguridad, porque no solo permite aplicaciones, sino que controla que solo las aplicaciones que permite pasan a través de canales abiertos.



¿Qué nuevos problemas crean un nuevo enfoque para escribir reglas para L7?


Debe comprender que determinar la aplicación por el contenido del paquete es muy estresante para el procesador de firewall L7. Si el firewall L4 habitual verificó solo unos pocos bytes del encabezado del paquete TCP y luego pasó los megabytes restantes del clip flash sin verificar, entonces el firewall L7 debería leer todo lo que está almacenado en el campo de datos TCP / IP y verificar constantemente qué contenido está dentro de la conexión TCP / IP, de repente cambiado o representa una amenaza para la empresa. Por lo tanto, cuando apareció un análisis funcional como el análisis de contenido, todos los dispositivos comenzaron a disminuir. Por lo tanto, el análisis de contenido requiere dispositivos más potentes.

Limitaciones de la tecnología de análisis de nivel 7


El cortafuegos L7 requiere más memoria para almacenar el estado de una conexión, por lo tanto, el parámetro "número de conexiones simultáneas" del cortafuegos L7 siempre es menor que el cortafuegos L4 con la misma cantidad de RAM en ambos dispositivos, y significativamente, cada 10 veces. Esto ya se explicó anteriormente en la sección Statefull Inspección Y este es el precio por la seguridad de sus aplicaciones. Por lo tanto, si está comparando la inspección L4 y L7, pregunte al fabricante cómo midió el parámetro "número de sesiones simultáneas": con la seguridad habilitada en el nivel 7 o con deshabilitada.

Lo mismo con el rendimiento: el procesador del cortafuegos L4 verifica solo unos pocos bytes del encabezado del paquete y luego transfiere los datos en sí mismos a velocidades de enrutamiento sin verificar, y el cortafuegos L7 verifica tanto el encabezado como todos esos megabytes de datos contenidos en los paquetes de conexión posteriores. Y este es un trabajo completamente diferente. Por lo tanto, dicho trabajo debe realizarse en plataformas de hardware especializadas, donde se acelera el análisis de aplicaciones, se acelera la transmisión de antivirus, se acelera IPS y otras funciones de seguridad. Lo mejor de todo es que Cavium ha logrado crear chips para acelerar la seguridad, cuyos chips, por ejemplo, son utilizados por Palo Alto Networks. FPGA() IPS FPGA. , — .

Conclusión


- , L7 firewall . , . : NGFW .

- , , L7 firewall - , .

- , , . , - 80 .

3. SSL NGFW. ( )

!


denis@batrankov.ru

Source: https://habr.com/ru/post/es436836/


All Articles