Una puerta de enlace de nivel de aplicación ( ALG , también conocida como puerta de enlace de capa de aplicación , puerta de enlace de aplicación , proxy de aplicación o proxy de nivel de aplicación ) es un componente de seguridad que amplía un firewall o NAT empleado en una red móvil . [ 1 ] [ 2 ] Permite que se conecten filtros de recorrido NAT personalizados a la puerta de enlace para admitir la traducción de direcciones y puertos para ciertos protocolos de "control/datos" de la capa de aplicación, como FTP , BitTorrent , SIP , RTSP y transferencia de archivos en aplicaciones de mensajería instantánea . Para que estos protocolos funcionen a través de NAT o un firewall, la aplicación debe conocer una combinación de número de dirección/puerto que permita los paquetes entrantes, o bien el NAT debe monitorear el tráfico de control y abrir asignaciones de puertos ( agujeros de firewall ) dinámicamente según sea necesario. De esta manera, los datos legítimos de la aplicación pueden pasar a través de las comprobaciones de seguridad del firewall o NAT que de otro modo habrían restringido el tráfico por no cumplir con sus criterios de filtrado limitados.
Funciones
Un ALG puede ofrecer las siguientes funciones:
- Esto permite que las aplicaciones cliente utilicen puertos TCP/UDP dinámicos y efímeros para comunicarse con los puertos conocidos que utilizan las aplicaciones del servidor, incluso si la configuración del firewall solo permite un número limitado de puertos conocidos. En ausencia de un ALG, los puertos se bloquearían o el administrador de red tendría que abrir explícitamente un gran número de puertos en el firewall, lo que dejaría la red vulnerable a ataques en esos puertos.
- Convierte la información de direcciones de la capa de red que se encuentra dentro de la carga útil de una aplicación entre las direcciones aceptables para los hosts a ambos lados del firewall/NAT. Este aspecto introduce el término "puerta de enlace" para un ALG.
- reconocer comandos específicos de la aplicación y ofrecer controles de seguridad granulares sobre ellos
- Sincronización entre múltiples flujos/sesiones de datos entre dos hosts que intercambian datos. Por ejemplo, una aplicación FTP puede usar conexiones separadas para pasar comandos de control y para intercambiar datos entre el cliente y un servidor remoto. Durante transferencias de archivos grandes, la conexión de control puede permanecer inactiva. Un ALG puede evitar que la conexión de control caduque por los dispositivos de red antes de que finalice la transferencia de archivos. [ 3 ]
Esta funcionalidad es posible gracias a la inspección profunda de todos los paquetes gestionados por los ALG en una red determinada. Un ALG comprende el protocolo utilizado por las aplicaciones específicas a las que da soporte.
Por ejemplo, para el protocolo de inicio de sesión (SIP) Back-to-Back User Agent ( B2BUA ), un ALG puede permitir el paso de firewalls con SIP. Si el firewall tiene su tráfico SIP terminado en un ALG, la responsabilidad de permitir las sesiones SIP pasa al ALG en lugar del firewall. Un ALG puede resolver otro gran problema de SIP: el paso de NAT . Básicamente, un NAT con un ALG integrado puede reescribir información dentro de los mensajes SIP y mantener las vinculaciones de direcciones hasta que finalice la sesión. Un ALG SIP también gestionará SDP en el cuerpo de los mensajes SIP (que se usa de forma generalizada en VoIP para configurar los puntos finales de medios), ya que SDP también contiene direcciones IP y puertos literales que deben traducirse.
Es común que SIP ALG en algunos equipos interfiera con otras tecnologías que intentan resolver el mismo problema, y varios proveedores recomiendan desactivarlo. [ 4 ] [ 5 ] [ 6 ]
Un ALG es muy similar a un servidor proxy , ya que se sitúa entre el cliente y el servidor real, facilitando el intercambio. Parece existir una convención en la industria según la cual un ALG funciona sin que la aplicación esté configurada para usarlo, interceptando los mensajes. Un proxy, en cambio, generalmente necesita configurarse en la aplicación cliente. El cliente es entonces consciente de la existencia del proxy y se conecta a él, en lugar de al servidor real.
Microsoft Windows
El servicio Application Layer Gateway (ALG) de Microsoft Windows admite complementos de terceros que permiten que los protocolos de red atraviesen el Firewall de Windows y funcionen detrás de él y del uso compartido de la conexión a Internet (Internet Connection Sharing) . Los complementos ALG pueden abrir puertos y modificar datos incrustados en los paquetes, como puertos y direcciones IP . Windows Server 2003 también incluye un complemento ALG FTP. Este complemento está diseñado para admitir sesiones FTP activas a través del motor NAT de Windows. Para ello, el complemento ALG FTP redirige todo el tráfico que pasa por el NAT y que está destinado al puerto 21 (puerto de control FTP) a un puerto de escucha privado en el rango 3000-5000 del adaptador de bucle invertido de Microsoft . A continuación, el complemento ALG FTP supervisa y actualiza el tráfico en el canal de control FTP para poder gestionar las asignaciones de puertos a través del NAT para los canales de datos FTP.
Linux
El marco Netfilter del kernel de Linux , que implementa NAT en Linux, cuenta con características y módulos para varios ALG de NAT:
Véase también
Referencias
- ↑ RFC 2663, sección 2.9 - ALG: definición oficial
- ↑ "¿Qué es Application Gateway?" . 26 de junio de 2001.
- ↑ El Protocolo de Transferencia de Archivos (FTP) y su firewall / enrutador de traducción de direcciones de red (NAT) / enrutador de equilibrio de carga.
- ↑ "¿Por qué SIP ALG es un problema? "
- ↑ "¿Qué es SIP ALG y debería estar activado o desactivado?" .
- ↑ "SIP ALG y por qué debería desactivarse en la mayoría de los routers | VoiceHost - Proveedor de VoIP del Reino Unido" .
Enlaces externos
- Puerta de enlace de nivel de aplicación DNS (DNS_ALG)
- seguridad de redes informáticas
- Software de red basado en el protocolo de Internet
- Servicios de Windows