¿Por qué los ALG restringen el tráfico en un puerto TCP dado según el protocolo?

2

Tengo entendido que las puertas de enlace de nivel de aplicación restringen el tráfico que representan según el puerto y el protocolo, por ejemplo, HTTP sobre el puerto 80 o MQTT sobre el puerto 1883. Ambos tipos de tráfico utilizan TCP como el transporte pero un protocolo diferente. ¿Hay algún beneficio de seguridad para esto? No puedo pensar en ninguna forma en que restringir el protocolo en un puerto lo haga más seguro.

Esta es una pregunta de seguimiento para this one que entiendo decir que no hay beneficio.

    
pregunta Charlie 25.03.2016 - 14:57
fuente

2 respuestas

2

Inspección de tráfico (especialmente para el filtrado de aplicaciones).

Si soy un empleador y mantengo registros de proxy HTTP de los sitios web que visita (y bloqueo algunos de los elementos indeseables en el tiempo de trabajo, como Facebook), no quiero que se conecte a una VPN u otro proxy SOCKS y omitiendo mis restricciones o cargando mi información comercial confidencial, es por eso que me he molestado en bloquear qué puertos TCP / UDP se pueden usar en primer lugar porque se sabe que el puerto TCP 80 es gratuito para todos en nuestro firewall .

Por lo tanto, mientras estoy en un servidor de seguridad, normalmente puedo bloquear todo, desde las estaciones de trabajo a Internet, aparte del puerto 80 ... pero luego vas y encuentras un proxy que se está ejecutando en el puerto 80 para conectarse ... asegurando que el único tráfico que va El tráfico HTTP válido es válido para que pueda inspeccionar y escanear el malware.

Además, no quiero que se conecte a los clientes de BitTorrent en el puerto TCP 80 y use mi conexión de red para BitTorrent.

Estoy de acuerdo con el comentarista en que la Inspección de la capa de aplicación no es muy común. Hay demasiados puertos para varias aplicaciones en uso ahora (particularmente en dispositivos móviles) y demasiados protocolos propietarios flotando alrededor (lo que especulo es quizás una de las razones por las que Microsoft decidió ubicar Forefront TMG, probablemente se aburrieron de escribir los filtros de la aplicación ) que la Inspección de la capa de aplicación a menudo es demasiado restrictiva para la mayoría de los entornos y causa más problemas de soporte de los que vale la pena (versa la pequeña cantidad de personas que intentaría tener el conocimiento técnico para explotar mis reglas de firewall).

What'sApp intentará conectarse en el puerto TCP 443 (generalmente utilizado por TLS) a través de su propio protocolo extraño (es decir, NO TLS) para evitar específicamente cualquier cortafuegos que no permita su puerto habitual del puerto TCP 5222.

Finalmente, las conexiones cifradas no revelarán normalmente lo que es la aplicación de todas formas (¿Mi conexión TLS es una con un servidor web o mi servidor de correo o con una VPN TLS?) y una ciega "Permitir que todo el tráfico TLS esté activado La regla del puerto TCP 443 "todavía lo deja abierto a algunos abusos a menos que tenga algún dispositivo de visibilidad TLS.

También puede consultar sección Filtros de nivel de aplicación del artículo de Stateful Firewall y su correspondiente Artículo del cortafuegos de aplicaciones en Wikipedia.

    
respondido por el Matthew1471 25.03.2016 - 17:51
fuente
2
  

... nunca abra un socket para "cualquier" protocal, ...

Una aplicación abre un socket para aceptar datos para un protocolo específico, porque así es como funcionan las aplicaciones. Ninguna aplicación aceptaría datos "cualquiera" porque simplemente no sabe cómo manejar estos datos, es decir, solo ha implementado un protocolo de comunicación específico como HTTP, SMTP, etc. El puerto para el zócalo es similar al número de la casa en el Street, es decir, es simplemente parte de la dirección completa de un servicio.

Si, en cambio, está hablando de firewalls: simplemente los firewalls de filtrado de puertos no usan sockets, sino que simplemente pasan o bloquean paquetes según el puerto que figura en el paquete TCP / UDP. Y las puertas de enlace de nivel de aplicación (proxies) usan sockets, pero la tarea es filtrar el tráfico para un protocolo específico, por lo que, de nuevo, solo pueden hablar este protocolo específico y no "ninguno".

    
respondido por el Steffen Ullrich 25.03.2016 - 15:12
fuente

Lea otras preguntas en las etiquetas