Descripción general de ALG
Descripciones de ALG
En este tema se describen las puertas de enlace de la capa de aplicación (ALG) compatibles con Junos OS. La compatibilidad con ALG incluye la administración de agujeros de alfiler y las relaciones padre-hijo para las ALG compatibles.
- ALG compatibles
- Detalles de soporte de ALG
- Valores predeterminados de Juniper Networks
- Ejemplos: hacer referencia a la instrucción preestablecida del grupo predeterminado de Junos OS
ALG compatibles
En la Tabla 1 se enumeran los ALG compatibles con Junos OS. Para obtener información acerca de qué ALG se admiten en MS-DPC, MS-MPC, MS-MIC, consulte ALG disponibles para la NAT con reconocimiento de direcciones de Junos OS.
ALG admitidas |
v4 - v4 |
v6 - v4 |
v6 - v6 |
DS-Lite (la compatibilidad con ALG con DS-lite en MS-MPC y MS-MIC se inicia en Junos OS versión 18.1R1) |
---|---|---|---|---|
ALG TCP básico |
Sí |
Sí |
Sí |
Sí |
ALG UPD básico |
Sí |
Sí |
Sí |
Sí |
BOOTP |
Sí |
No |
No |
No |
Servicios RPC de DCE |
Sí |
No |
No |
No |
DNS |
Sí |
Sí |
No |
Sí |
FTP |
Sí |
Sí (a partir de Junos OS versión 14.1R1) |
No |
Sí |
Guardián RAS |
Sí (a partir de Junos OS versión 17.1R1) |
Sí (a partir de Junos OS versión 17.2R1) |
No |
No |
H323 |
Sí |
Sí (a partir de Junos OS versión 17.2R1) |
No |
No |
ICMP |
Sí |
Sí |
Sí |
Sí |
IKE ALG (a partir de Junos OS versión 14.2R7, 15.1R5, 16.1R2 y 17.1R1) |
Sí |
Sí |
No |
No |
IIOP |
Sí |
No |
No |
No |
IP |
Sí |
No |
No |
No |
NETBIOS |
Sí |
No |
No |
No |
NETSHOW |
Sí |
No |
No |
No |
PPTP |
Sí |
Sí (a partir de Junos OS versión 14.1R1) |
No |
Sí |
REALAUDIO |
Sí |
No |
No |
No |
Servicios de mapas de puertos RPC y RPC de Sun |
Sí |
No |
No |
No |
RTSP |
Sí |
Sí (a partir de Junos OS versión 14.1R1) |
No |
Sí |
SIP |
Sí |
Sí (a partir de Junos OS versión 14.1R1) |
No |
SIP compatible con DS-Lite en MS-MPC y MS-MIC a partir de Junos OS versión 18.2R1. |
SNMP |
Sí |
No |
No |
No |
SQLNET |
Sí |
No |
No |
No |
TFTP |
Sí |
Sí (a partir de Junos OS versión 14.1R1) |
No |
Sí |
Traceroute |
Sí |
Sí |
No |
Sí |
Servicio de shell remoto de Unix |
Sí |
No |
No |
No |
WINFrame |
Sí |
No |
No |
No |
Detalles de soporte de ALG
Esta sección incluye detalles sobre los ALG. Incluye lo siguiente:
- ALG TCP básico
- ALG UDP básico
- BOOTP
- Servicios RPC de DCE
- DNS
- FTP
- Guardián RAS
- H323
- ICMP
- IIOP
- IKE ALG
- IP
- Netbios
- Netshow
- Servicios RPC de ONC
- PPTP
- Realaudio
- Servicios de RPC y RPC Portmap de Sun
- RTSP
- SIP
- SNMP
- SQLNet
- TFTP
- Traceroute
- Servicios de shell remoto de UNIX
- WinFrame
ALG TCP básico
Este ALG realiza una comprobación de cordura básica en paquetes TCP. Si encuentra errores, genera los siguientes eventos de anomalía y mensajes de registro del sistema:
Puerto cero de origen o destino TCP
Error en la comprobación de longitud del encabezado TCP
Se establece el número de secuencia TCP cero y no se establecen indicadores
Se establecen los indicadores TCP número cero y FIN/PSH/RST
TCP FIN/RST o SYN(URG|FIN|RST) se establecen los indicadores
El ALG TCP realiza los pasos siguientes:
Cuando el enrutador recibe un paquete SYN, el ALG crea flujos TCP hacia adelante y hacia atrás y los agrupa en una conversación. Rastrea el protocolo de enlace de tres vías TCP.
El mecanismo de defensa SYN rastrea el estado de establecimiento de la conexión TCP. Espera que la sesión TCP se establezca dentro de un pequeño intervalo de tiempo (actualmente 4 segundos). Si el protocolo de enlace de tres vías TCP no se establece en ese período, la sesión termina.
Un mecanismo keepalive detecta sesiones TCP con puntos finales que no responden.
Los errores ICMP solo se permiten cuando un flujo coincide con la información del selector especificada en los datos ICMP.
ALG UDP básico
Este ALG realiza una comprobación de cordura básica en los encabezados UDP. Si encuentra errores, genera los siguientes eventos de anomalía y mensajes de registro del sistema:
Puerto de origen o destino UDP 0
Error en la comprobación de longitud del encabezado UDP
El ALG UDP realiza los pasos siguientes:
Cuando recibe el primer paquete, el ALG crea flujos bidireccionales para aceptar tráfico de sesión UDP directo e inverso.
Si la sesión está inactiva durante más del tiempo de inactividad máximo permitido (el valor predeterminado es 30 segundos), se eliminan los flujos.
Los errores ICMP solo se permiten cuando un flujo coincide con la información del selector especificada en los datos ICMP.
BOOTP
El cliente del protocolo de arranque (BOOTP) recupera su información de red de un servidor a través de la red. Envía un mensaje de difusión general para solicitar la información, que es devuelta por el servidor BOOTP. Para obtener información sobre la especificación del protocolo, consulte ftp://ftp.isi.edu/in-notes/rfc951.txt
.
La compatibilidad con firewall de estado requiere que configure el ALG BOOTP en el puerto 67 del servidor UDP y en el puerto de cliente 68. Si el cliente envía un mensaje de difusión, debe configurar la dirección de difusión en la instrucción de la from
regla de servicio. La traducción de direcciones de red (NAT) no se realiza en el tráfico BOOTP, incluso si la regla NAT coincide con el tráfico. Si la función de retransmisión BOOTP está activada en el enrutador, se supone que el servidor BOOTP remoto asigna direcciones para clientes enmascarados por traducción NAT.
Servicios RPC de DCE
Los servicios de llamada a procedimiento remoto (RPC) del entorno informático distribuido (DCE) son utilizados principalmente por las aplicaciones de Microsoft. El ALG utiliza el conocido puerto TCP 135 para los servicios de asignación de puertos y utiliza el identificador único universal (UUID) en lugar del número de programa para identificar los protocolos. El principal RPC de DCE basado en aplicaciones es el protocolo Microsoft Exchange.
La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG de mapa de puertos RPC de DCE en el puerto TCP 135. El DCE RPC ALG utiliza el protocolo TCP con UUID específicos de la aplicación.
DNS
El Sistema de nombres de dominio (DNS), que normalmente se ejecuta en el puerto 53, maneja los datos asociados con la localización y traducción de nombres de dominio en direcciones IP. El ALG de DNS de la serie MX supervisa los paquetes de consulta y respuesta DNS, y admite el tráfico DNS UDP y TCP de forma independiente. El ALG de DNS no admite traducciones de carga para NAT, pero un operador puede usarlo para quitar de forma eficaz la NAT o las sesiones DNS de firewall de estado de la memoria después de que el servidor DNS envíe su respuesta. El ALG de DNS cierra la sesión solo cuando se recibe una respuesta o se alcanza un tiempo de espera inactivo.
Puede haber problemas con el tráfico DNS TCP cuando se utiliza TCP-DNS-ALG si el tráfico DNS no es solo del tipo estándar de solicitud y respuesta. Por ejemplo, TCP-DNS-ALG podría interrumpir la comunicación DNS de servidor a servidor que utiliza TCP, como la replicación DNS o las transferencias de zona. Este tipo de tráfico puede ser eliminado por la NAT o los complementos de firewall con estado porque el TCP-DNS-ALG cierra la sesión después de que se complete el protocolo de enlace TCP y después de que cada servidor haya enviado un paquete al otro. En estos casos, no utilice el TCP-DNS-ALG.
El TCP-DNS-ALG no es compatible con las tarjetas de servicio de MS-DPC.
FTP
FTP es el protocolo de transferencia de archivos, especificado en RFC 959. Además de la conexión de control principal, también se realizan conexiones de datos para cualquier transferencia de datos entre el cliente y el servidor; y el host, el puerto y la dirección se negocian a través del canal de control.
Para FTP en modo no pasivo, el servicio de firewall con estado de Junos OS analiza los datos de la aplicación de cliente a servidor en busca del comando PORT, que proporciona la dirección IP y el número de puerto a los que se conecta el servidor. Para el FTP en modo pasivo, el servicio de firewall con estado de Junos OS analiza los datos de la aplicación de cliente a servidor en busca del comando PASV y, a continuación, analiza las respuestas de servidor a cliente en busca de la respuesta 227, que contiene la dirección IP y el número de puerto al que se conecta el cliente.
Hay una complicación adicional: FTP representa estas direcciones y números de puerto en ASCII. Como resultado, cuando se reescriben direcciones y puertos, es posible que se cambie el número de secuencia TCP y, a partir de entonces, el servicio NAT necesita mantener este delta en los números SEQ y ACK realizando NAT de secuencia en todos los paquetes posteriores.
La compatibilidad con firewall con estado y servicios NAT requiere que configure el ALG FTP en el puerto TCP 21 para habilitar el protocolo de control FTP. El ALG realiza las siguientes tareas:
Asigna automáticamente puertos de datos y permisos de firewall para la conexión dinámica de datos
Crea flujos para la conexión de datos negociada dinámicamente
Supervisa la conexión de control en los modos activo y pasivo
Reescribe los paquetes de control con la dirección NAT y la información de puerto adecuadas
En MS-MPC, MS-MIC, para que el FTP pasivo funcione correctamente sin la puerta de enlace de capa de aplicación FTP (ALG) habilitada (sin especificar la instrucción en los niveles y [edit services stateful-firewall rule rule-name term term-name from]
jerárquico), debe habilitar la funcionalidad de agrupación de direcciones emparejadas (APP) habilitada (incluyendo la application junos-ftp
address-pooling
instrucción en el nivel de [edit services nat rule rule-name term term-name then translated]
jerarquía[edit services nat rule rule-name term term-name from]
). Dicha configuración hace que los datos y las sesiones FTP de control reciban la misma dirección NAT.
Guardián RAS
A partir de Junos OS versión 17.1R1, el ALG de registro, administración y estado (RAS) de gatekeeper permite la compatibilidad total del modo gatekeeper para llamadas H.323. Un punto de conexión se registra en un guardián y solicita su administración. Antes de realizar una llamada, un punto de conexión pide permiso a su guardián para realizar la llamada. Tanto en la fase de inscripción como en la de admisión se utiliza el canal RAS. Utilice el ALG RAS gatekeeper y el ALG H323 en reglas de firewall de estado IPv4 e IPv6 o reglas NAPT-44. A partir de Junos OS versión 17.2R1, también se admiten reglas NAT-64. El conjunto junos-h323-suite
de aplicaciones predeterminadas de Junos incluye H323 ALG y el gatekeeper RAS ALG.
H323
H323 es un conjunto de protocolos de la UIT para aplicaciones de colaboración y conferencias de audio y video. H323 consiste en protocolos de señalización de llamadas H.225 y protocolo de control H.245 para la comunicación de medios. Durante la negociación H.225, los puntos finales crean una llamada intercambiando mensajes de señalización de llamada en el canal de control y negocian un nuevo canal de control para H.245. Se crea una nueva conexión de control para los mensajes H.245. Los mensajes se intercambian en el canal de control H.245 para abrir canales multimedia.
El firewall de estado supervisa el canal de control H.225 para abrir el canal de control H.245. Después de crear el canal H.245, el firewall de estado también supervisa este canal para obtener información del canal de medios y permite que el tráfico de medios pase por el firewall.
H323 ALG admite NAT de destino estático, origen estático y dinámico al reescribir las direcciones y puertos apropiados en los mensajes H.225 y H.245.
Para admitir el modo gatekeeper para llamadas H.323, utilice el ALG H323 y el ALG RAS gatekeeper en las reglas de firewall de estado IPv4 e IPv6 o en las reglas NAPT-44. A partir de Junos OS versión 17.2R1, también se admiten reglas NAT-64. El conjunto junos-h323-suite
de aplicaciones predeterminadas de Junos incluye H323 ALG y el gatekeeper RAS ALG.
ICMP
El Protocolo de mensajes de control de Internet (ICMP) se define en RFC 792. El servicio de firewall de estado de Junos OS permite filtrar los mensajes ICMP por tipo específico o valor de código de tipo específico. Los paquetes de error ICMP que carecen de un tipo y código configurados específicamente se comparan con cualquier flujo existente en la dirección opuesta para comprobar la legitimidad del paquete de error. Los paquetes de error ICMP que pasan la coincidencia de filtros están sujetos a traducción NAT.
El ALG de ICMP siempre rastrea el tráfico de ping de forma estatal utilizando el número de secuencia ICMP. Cada respuesta de eco se reenvía solo si hay una solicitud de eco con el número de secuencia correspondiente. Para cualquier flujo de ping, solo se pueden reenviar 20 solicitudes de eco sin recibir una respuesta de eco. Cuando se configura NAT dinámico, el identificador de paquete PING se traduce para permitir que otros hosts del grupo NAT utilicen el mismo identificador.
La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG ICMP si el protocolo es necesario. Puede configurar el tipo y el código ICMP para un filtrado adicional.
IIOP
El servidor de nombres del servidor de aplicaciones Oracle Inter-ORB Protocol Inter-ORB (IIOP). Este ALG se utiliza en Common Object Request Broker Architecture (CORBA) basada en informática distribuida. Aunque CORBA e IIOP son estándares de grupo de gestión de objetos (OMG), no se asigna ningún puerto fijo para IIOP. Cada proveedor que implementa CORBA elige un puerto. La máquina virtual Java utiliza el puerto 1975 de forma predeterminada, mientras que ORBIX utiliza el puerto 3075 como predeterminado.
El firewall con estado y NAT requieren que ALG IIOP esté configurado para el puerto TCP 1975 para Java VM IIOP, y 3075 para las aplicaciones CORBA ORBIX, un marco CORBA de Iona Technologies.
IKE ALG
Antes de Junos OS versión 17.4R1, la traslación de direcciones de red (NAT-T) no era compatible con el conjunto de funciones IPsec de Junos VPN Site Secure en los enrutadores de la serie MX. A partir de Junos OS versión 14.2R7, 15.1R5, 16.1R2 y 17.1R1, el ALG de IKE permite el paso de paquetes IKEv1 e IPsec a través de reglas NAPT-44 y NAT64 entre pares IPsec que no son compatibles con NAT-T. Este ALG solo admite el modo de túnel ESP.
Utilice este ALG en las reglas NAT y especifique el protocolo UDP y el puerto 500.
Este ALG realiza lo siguiente:
Realiza un seguimiento de las solicitudes de iniciación de conexión IKEv1 para determinar si se requiere procesamiento NAT.
Realiza traducciones NAT en solicitudes IKEv1 salientes y entrantes y crea sesiones IKE.
Identifica paquetes IPsec relacionados con la sesión IKE establecida y establece la asociación de seguridad entre pares.
Realiza la traducción de NAT en paquetes IPsec.
IP
El ALG IP solo se utiliza para crear flujos unidireccionales. En caso de tráfico TCP, no comprueba el proceso de protocolo de enlace de 3 vías. Este ALG es útil en el caso de conjuntos de servicios solo de firewall con estado, donde permite que el tráfico fluya solo unidireccionalmente. Cuando se configura junto con match-direction input-output
él, permite que el tráfico de retorno también fluya a través del firewall de estado. Los escenarios típicos son NAT estático, NAT de destino o escenarios en los que se espera que el tráfico atraviese el firewall con estado en presencia de enrutamiento asimétrico. El ALG de IP de Junos no está diseñado para su uso con NAPT, lo que hace que el tráfico coincidente se descarte mediante la creación de un flujo de caída.
Netbios
Un ALG NetBIOS traduce las direcciones IP y los números de puerto de NetBIOS cuando se utiliza NAT.
NetBIOS admite los protocolos de transporte TCP y UDP. La compatibilidad con firewall de estado y servicios NAT requiere que configure NetBIOS ALG en los puertos UDP 138 y TCP 139.
Netshow
El protocolo MS-streaming de Microsoft es utilizado por NetShow, el servidor multimedia de Microsoft. Este protocolo admite varios protocolos de transporte: TCP, UDP y HTTP. El cliente inicia una conexión TCP en el puerto 1755 y envía el comando PORT al servidor. A continuación, el servidor inicia UDP en ese puerto para el cliente. La compatibilidad con firewall de estado y servicios NAT requiere que configure NetShow ALG en el puerto UDP 1755.
Servicios RPC de ONC
Los servicios RPC de Open Networks Computing (ONC) funcionan de manera similar a los servicios RCP de DCE. Sin embargo, el ALG de RPC de ONC utiliza el puerto TCP/UDP 111 para los servicios de asignación de puertos y utiliza el número de programa para identificar los protocolos en lugar del UUID.
La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG de mapa de puertos RPC de ONC en el puerto TCP 111. El ONC RPC ALG utiliza el protocolo TCP con números de programa específicos de la aplicación.
PPTP
El ALG del protocolo de túnel punto a punto (PPTP) es un ALG basado en TCP. PPTP permite que el protocolo punto a punto (PPP) se tunelice a través de una red IP. PPTP define una arquitectura cliente-servidor, un servidor de red PPTP y un concentrador de acceso PPTP. El ALG PPTP requiere una conexión de control y un túnel de datos. La conexión de control utiliza TCP para establecer y desconectar sesiones PPP, y se ejecuta en el puerto 1723. El túnel de datos transporta el tráfico PPP en paquetes encapsulados de enrutamiento genérico (GRE) que se transportan a través de IP.
Realaudio
Protocolo PNA de Real Networks RealVideo no es un servicio independiente. Es parte de RealPlayer y lo más probable es que use otro canal para video. Las versiones G2, 7 y 8 de RealPlayer utilizan PNA y RTSP. Para que esta versión funcione, el ALG debe permitir tanto PNA(7070) como RTSP(554). Para los medios, el servidor selecciona entre un rango de puertos UDP (6970 a 7170), o el puerto TCP 7071 o HTTP. El cliente se puede configurar para utilizar un puerto determinado. Las versiones 4.0 y 5.0 de RealPlayer utilizan el canal de control 7070, los puertos UDP 6970 a 7170, o el puerto TCP 7071 o HTTP. La versión 3.0 del reproductor RealAudio utiliza medios del canal de control 7070, puertos UDP 6770-7170 o puerto TCP 7071.
Los productos reales utilizan los puertos y rangos de puertos que se muestran en la Tabla 2.
Producto real |
Uso de puertos |
---|---|
Servidores/reproductores 4.0 y 5.0 |
Canal de control (bidireccional) en el puerto TCP 7070. Canal de datos del servidor al reproductor en el puerto TCP 7070 o UDP 6970-7170. |
Servidores/codificadores 4.0 y 5.0 |
Canal de control (bidireccional) en el puerto TCP 7070. Canal de datos desde el codificador o servidor en el puerto TCP 7070. |
Servidores/Reproductores G2 |
Canal de control (bidireccional) en los puertos TCP 80, 554, 7070 o 8080. Canal de datos del servidor al reproductor en los puertos TCP 80, 554, 7070, 8080 o UDP 6970-32.000. |
Codificadores G2 Server/3.1 y 5.x |
Canal de control (bidireccional) en el puerto TCP 7070. Canal de datos del codificador al servidor en el puerto TCP 7070. |
Servidor G2/Productor G2 |
Canal de control (bidireccional) en el puerto TCP 4040. Canal de datos del codificador al servidor en el puerto TCP 4040 y el puerto UDP 6970-32.000. |
2 Servidor/G2 Productor (SÓLO TCP) |
Canal de control (bidireccional) en el puerto TCP 4040 Canal de datos del codificador al servidor en el puerto TCP 4040. Nota: Opción TCP-ONLY disponible en la versión 6.1 o superior. |
RealAudio fue el protocolo original de RealPlayers. Las versiones más recientes de RealPlayer utilizan RTSP. El firewall con estado y la NAT requieren que ALG RealAudio se programe en el puerto TCP 7070.
Servicios de RPC y RPC Portmap de Sun
El ALG de llamada a procedimiento remoto (RPC) usa los puertos conocidos TCP 111 y UDP 111 para la asignación de puertos, que asigna dinámicamente y abre puertos para servicios RPC. El ALG de RPC Portmap realiza un seguimiento de las solicitudes de puerto y abre dinámicamente el firewall para estos puertos solicitados. El ALG de RPC puede restringir aún más el protocolo RPC especificando los números de programa permitidos.
El ALG incluye los servicios RPC enumerados en la tabla 3.
Nombre |
Descripción |
Comentarios |
---|---|---|
|
Demonio de montaje del servidor de archivos de red (NFS); para obtener más información, consulte la página man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). |
|
Se utiliza como parte de NFS. Para obtener más información, consulte RFC 1094. Consulte también RFC1813 para NFS v3. |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). |
|
Network Information Service Plus (NIS+), diseñado para sustituir al NIS; es un servicio de nombres predeterminado para Sun Solaris y no está relacionado con el antiguo NIS. No hay información de protocolo disponible. |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). |
|
Administrador de bloqueo de red. |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Servidor de estadísticas del kernel. Para obtener más información, consulte las páginas man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Se utiliza para escribir un mensaje a los usuarios; para obtener más información, consulte la página man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Proceso de enlace NIS. Para obtener más información, consulte la página man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Servidor de contraseñas NIS. Para obtener más información, consulte la página man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Servidor NIS. Para obtener más información, consulte la página man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Herramienta de actualización de red. |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
|
Servidor de transferencia de mapas NIS. Para obtener más información, consulte la página man de UNIX para |
El soporte básico es RPC v2 y el servicio de asignador de puertos en el puerto 111 (consulte RFC 1050). Una vez creada la tabla de programas RPC, |
La compatibilidad con firewall de estado y servicios NAT que usan asignación de puertos requiere que configure el ALG de asignación de puertos RPC en el puerto de destino TCP/UDP 111 y el ALG de RPC para TCP y UDP. Puede especificar uno o más valores para restringir aún más rpc-program-number
los protocolos RPC permitidos.
RTSP
El protocolo de transmisión por secuencias en tiempo real (RTSP) controla la entrega de datos con propiedades en tiempo real, como audio y vídeo. Las secuencias controladas por RTSP pueden usar RTP, pero no es obligatorio. Los medios se pueden transmitir en la misma secuencia de control RTSP. Este es un protocolo basado en texto similar a HTTP, pero el cliente y el servidor mantienen la información de la sesión. Se establece una sesión con el mensaje SETUP y se termina con el mensaje TEARDOWN. El transporte (el protocolo de medios, la dirección y los números de puerto) se negocia en la configuración y la respuesta de configuración.
La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG RTSP para el puerto TCP 554.
El ALG supervisa la conexión de control, abre flujos dinámicamente para flujos de medios (RTP/RTSP) y realiza reescrituras de puertos y direcciones NAT.
SIP
El protocolo de inicio de sesión (SIP) es un protocolo de capa de aplicación que puede establecer, mantener y finalizar sesiones multimedia. Es un protocolo de señalización de voz sobre IP (VoIP) ampliamente utilizado. El ALG SIP supervisa el tráfico SIP y crea y administra dinámicamente agujeros en las rutas de señalización y medios. El ALG sólo permite paquetes con los permisos correctos. El ALG SIP también realiza las siguientes funciones:
Administra las relaciones de sesión padre-hijo.
Aplica políticas de seguridad.
Administra agujeros para el tráfico de VoIP.
El SIP ALG admite las siguientes características:
Firewall de estado
TDR de origen estático
TDR de origen de solo dirección dinámica
Traducción de puertos de direcciones de red (NAPT)
Las sesiones SIP están limitadas a 12 horas (720 minutos) para el procesamiento NAT en las tarjetas de interfaz MS-MIC y MS-MPC. Las sesiones SIP en MS-DPC no tienen límite de tiempo.
SNMP
SNMP es un protocolo de comunicación para administrar redes TCP/IP, incluidos dispositivos de red individuales y dispositivos agregados. El protocolo está definido por RFC 1157. SNMP se ejecuta sobre UDP.
El servicio de firewall de estado de Junos OS implementa el ALG SNMP para inspeccionar el tipo de SNMP. SNMP no aplica el flujo de estado. Cada tipo de SNMP debe estar habilitado específicamente. La compatibilidad total con SNMP de los servicios de firewall con estado requiere que configure el ALG SNMP en el puerto UDP 161. Esto habilita el SNMP y get-next
los comandos, así como su tráfico de respuesta en la dirección inversa: el puerto UDP 161 habilita el comando SNMP.get
get-response
Si se permiten capturas SNMP, puede configurarlas en el puerto UDP 162, habilitando el comando SNMPtrap
.
SQLNet
Los servidores SQL de Oracle utilizan el protocolo SQLNet para ejecutar comandos SQL desde clientes, incluidos el equilibrio de carga y los servicios específicos de la aplicación.
La compatibilidad con firewall de estado y servicios NAT requiere que configure SQLNet ALG para el puerto TCP 1521.
El ALG supervisa los paquetes de control, abre flujos dinámicamente para el tráfico de datos y realiza reescrituras de direcciones NAT y puertos.
TFTP
El Protocolo trivial de transferencia de archivos (TFTP) se especifica en RFC 1350. Las solicitudes TFTP iniciales se envían al puerto de destino UDP 69. Se pueden crear flujos adicionales para obtener o colocar archivos individuales. La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG TFTP para el puerto de destino UDP 69.
Traceroute
Traceroute es una herramienta para mostrar la ruta que los paquetes toman a un host de red. Utiliza el campo de tiempo de vida IP (TTL) para activar mensajes ICMP excedidos en el tiempo desde enrutadores o puertas de enlace. Envía datagramas UDP a puertos de destino que se cree que no están en uso; Los puertos de destino se numeran mediante la fórmula: + nsaltos – 1. El puerto base predeterminado es 33434. Para admitir traceroute a través del firewall, se deben pasar dos tipos de tráfico:
Paquetes de sonda UDP (puerto de destino UDP > 33000, IP TTL < 30)
Paquetes de respuesta ICMP (tipo ICMP excedidos en el tiempo)
Cuando se aplica NAT, también se deben cambiar la dirección IP y el puerto dentro del paquete de error ICMP.
La compatibilidad con firewall de estado y servicios NAT requiere que configure el ALG de Traceroute para los puertos de destino UDP 33434 a 33450. Además, puede configurar el umbral TTL para evitar ataques de inundación UDP con valores TTL grandes.
Servicios de shell remoto de UNIX
Tres protocolos forman la base para los servicios de shell remoto de UNIX:
Ejecutivo: ejecución remota de comandos; Permite a un usuario del sistema cliente ejecutar un comando en el sistema remoto. El primer comando del cliente () al servidor (
rcmd
rshd
) utiliza el conocido puerto TCP 512. Se puede abrir una segunda conexión TCP a petición dercmd
. El número de puerto del cliente para la segunda conexión se envía al servidor como una cadena ASCII.Inicio de sesión: más conocido como
rlogin
; utiliza el conocido puerto TCP 513. Para obtener más información, consulte RFC 1282. No se requiere ningún procesamiento de firewall especial.Shell: ejecución remota de comandos; Permite a un usuario del sistema cliente ejecutar un comando en el sistema remoto. El primer comando del cliente () al servidor (
rcmd
rshd
) utiliza el conocido puerto TCP 514. Se puede abrir una segunda conexión TCP a petición dercmd
. El número de puerto del cliente para la segunda conexión se envía al servidor como una cadena ASCII.
La compatibilidad con servicios de firewall con estado requiere que configure el ALG ejecutivo en el puerto TCP 512, el ALG de inicio de sesión en el puerto TCP 513 y el ALG de shell en el puerto TCP 514. Los servicios de shell remoto NAT requieren que cualquier puerto de origen dinámico asignado esté dentro del intervalo de puertos 512 a 1023. Si configura un grupo NAT, este intervalo de puertos está reservado exclusivamente para aplicaciones de shell remotas.
WinFrame
El software del servidor de aplicaciones WinFrame proporciona acceso a prácticamente cualquier aplicación de Windows, a través de cualquier tipo de conexión de red a cualquier tipo de cliente.
Este protocolo es utilizado principalmente por las aplicaciones Citrix Windows.
El firewall con estado y la NAT requieren que el Winframe ALG esté configurado en el puerto de destino TCP 1494 y el puerto UDP 1604.
Valores predeterminados de Juniper Networks
Junos OS proporciona un grupo de configuración oculto predeterminado llamado junos-defaults
que se aplica automáticamente a la configuración del enrutador. El junos-defaults
grupo contiene instrucciones preconfiguradas que contienen valores predefinidos para aplicaciones comunes. Se debe hacer referencia a algunas de las instrucciones para que surtan efecto, como aplicaciones como FTP o Telnet. Otras instrucciones se aplican automáticamente, como la configuración del terminal. Todas las instrucciones preconfiguradas comienzan con el nombre junos-
reservado.
Puede anular los valores de configuración predeterminados de Junos OS, pero no puede eliminarlos ni editarlos. Si elimina una configuración, los valores predeterminados vuelven cuando se agrega una nueva configuración.
No puede utilizar la apply-groups
instrucción con el grupo de valores predeterminados de Junos OS.
Para ver el conjunto completo de instrucciones preestablecidas disponibles del grupo predeterminado de Junos OS, ejecute el comando de modo de show groups junos-defaults
configuración. En el ejemplo siguiente se muestra la lista de grupos predeterminados de Junos OS que utilizan protocolos de aplicación (ALG):
user@host# show groups junos-defaults applications { # # File Transfer Protocol # application junos-ftp { application-protocol ftp; protocol tcp; destination-port 21; } # # Trivial File Transfer Protocol # application junos-tftp { application-protocol tftp; protocol udp; destination-port 69; } # # RPC portmapper on TCP # application junos-rpc-portmap-tcp { application-protocol rpc-portmap; protocol tcp; destination-port 111; } # # RPC portmapper on UDP # application junos-rpc-portmap-udp { application-protocol rpc-portmap; protocol udp; destination-port 111; } # # SNMP get # application junos-snmp-get { application-protocol snmp; protocol udp; destination-port 161; snmp-command get; } # # SNMP get next # application junos-snmp-get-next { application-protocol snmp; protocol udp; destination-port 161; snmp-command get-next; } # # SNMP response # application junos-snmp-response { application-protocol snmp; protocol udp; source-port 161; snmp-command get-response; } # # SNMP trap # application junos-snmp-trap { application-protocol snmp; protocol udp; destination-port 162; snmp-command trap; } # # remote exec # application junos-rexec { application-protocol exec; protocol tcp; destination-port 512; } # # remote login # application junos-rlogin { application-protocol shell; protocol tcp; destination-port 513; } # # remote shell # application junos-rsh { application-protocol shell; protocol tcp; destination-port 514; } # # Real Time Streaming Protocol # application junos-rtsp { application-protocol rtsp; protocol tcp; destination-port 554; } # # Citrix windows application server protocol # windows applications remotely on windows/non-windows clients # # citrix needs udp 1604 to be open # application junos-citrix-winframe { application-protocol winframe; protocol tcp; destination-port 1494; } application junos-citrix-winframe-udp { protocol udp; destination-port 1604; } # # Oracle SQL servers use this protocol to execute sql commands # from clients, load balance, use application-specific servers, etc # application junos-sqlnet { application-protocol sqlnet; protocol tcp; destination-port 1521; } # # H.323 Protocol for audio/video conferencing # application junos-h323 { application-protocol h323; protocol tcp; destination-port 1720; } application junos-h323-ras { application-protocol ras; protocol udp; destination-port 1719; } # # Internet Inter-ORB Protocol - used for CORBA applications # The ORB protocol in Java virtual machines uses port 1975 as default # application junos-iiop-java { application-protocol iiop; protocol tcp; destination-port 1975; } # # Internet Inter-ORB Protocol - used for CORBA applications # ORBIX is a CORBA framework from Iona Technologies that uses port # 3075 as default # application junos-iiop-orbix { application-protocol iiop; protocol tcp; destination-port 3075; } # # Real players use this protocol for real time streaming # This was the original protocol for real players. # RTSP is more widely used by real players # but they still support realaudio. # application junos-realaudio { application-protocol realaudio; protocol tcp; destination-port 7070; } # # traceroute application. # application junos-traceroute { application-protocol traceroute; protocol udp; destination-port 33435-33450; ttl-threshold 30; } # # The full range of known RPC programs using UDP # The program numbers can be more specific to certain applications. # application junos-rpc-services-udp { application-protocol rpc; protocol udp; rpc-program-number 100000-400000; } # # The full range of known RPC programs using TCP # The program numbers can be more specific to certain applications. # application junos-rpc-services-tcp { application-protocol rpc; protocol tcp; rpc-program-number 100000-400000; } # # All ICMP traffic # This can be made to be more restrictive by specifying ICMP type # and code. # application junos-icmp-all { application-protocol icmp; } # # Protocol used by Windows media server and windows media player # application junos-netshow { application-protocol netshow; protocol tcp; destination-port 1755; } # # NetBIOS - networking protocol used on # Windows networks name service port, both UDP and TCP # application junos-netbios-name-udp { application-protocol netbios; protocol udp; destination-port 137; } application junos-netbios-name-tcp { protocol tcp; destination-port 137; } # # NetBIOS - networking protocol used on # Windows networks datagram service port # application junos-netbios-datagram { application-protocol netbios; protocol udp; destination-port 138; } # # NetBIOS - networking protocol used on # Windows networks session service port # application junos-netbios-session { protocol tcp; destination-port 139; } # # DCE-RPC portmapper on TCP # application junos-dce-rpc-portmap { application-protocol dce-rpc-portmap; protocol tcp; destination-port 135; } # # DCE-RPC application on TCP sample UUID # This application requires user to specify the UUID value # # application junos-dcerpc { # application-protocol dce-rpc; # protocol tcp; # # # UUID also needs to be defined as shown below # UUID 11223344 22334455 33445566 44556677; # # } # # ms-exchange needs these 3 UUIDs # application junos-dcerpc-endpoint-mapper-service { application-protocol dce-rpc; protocol tcp; uuid e1af8308-5d1f-11c9-91a4-08002b14a0fa; } application junos-dcerpc-msexchange-directory-rfr { application-protocol dce-rpc; protocol tcp; uuid 1544f5e0-613c-11d1-93df-00c04fd7bd09; } application junos-dcerpc-msexchange-information-store { application-protocol dce-rpc; protocol tcp; uuid a4f1db00-ca47-1067-b31f-00dd010662da; } application junos-ssh { protocol tcp; destination-port 22; } application junos-telnet { protocol tcp; destination-port 23; } application junos-smtp { protocol tcp; destination-port 25; } application junos-dns-udp { protocol udp; destination-port 53; } application junos-dns-tcp { protocol tcp; destination-port 53; } application junos-tacacs { protocol tcp; destination-port 49; } # TACACS Database Service application junos-tacacs-ds { protocol tcp; destination-port 65; } application junos-dhcp-client { protocol udp; destination-port 68; } application junos-dhcp-server { protocol udp; destination-port 67; } application junos-bootpc { protocol udp; destination-port 68; } application junos-bootps { protocol udp; destination-port 67; } application junos-finger { protocol tcp; destination-port 79; } application junos-http { protocol tcp; destination-port 80; } application junos-https { protocol tcp; destination-port 443; } application junos-pop3 { protocol tcp; destination-port 110; } application junos-ident { protocol tcp; destination-port 113; } application junos-nntp { protocol tcp; destination-port 119; } application junos-ntp { protocol udp; destination-port 123; } application junos-imap { protocol tcp; destination-port 143; } application junos-imaps { protocol tcp; destination-port 993; } application junos-bgp { protocol tcp; destination-port 179; } application junos-ldap { protocol tcp; destination-port 389; } application junos-snpp { protocol tcp; destination-port 444; } application junos-biff { protocol udp; destination-port 512; } # UNIX who application junos-who { protocol udp; destination-port 513; } application junos-syslog { protocol udp; destination-port 514; } # line printer daemon, printer, spooler application junos-printer { protocol tcp; destination-port 515; } # UNIX talk application junos-talk-tcp { protocol tcp; destination-port 517; } application junos-talk-udp { protocol udp; destination-port 517; } application junos-ntalk { protocol udp; destination-port 518; } application junos-rip { protocol udp; destination-port 520; } # INA sanctioned RADIUS port numbers application junos-radius { protocol udp; destination-port 1812; } application junos-radacct { protocol udp; destination-port 1813; } application junos-nfsd-tcp { protocol tcp; destination-port 2049; } application junos-nfsd-udp { protocol udp; destination-port 2049; } application junos-cvspserver { protocol tcp; destination-port 2401; } # # Label Distribution Protocol # application junos-ldp-tcp { protocol tcp; destination-port 646; } application junos-ldp-udp { protocol udp; destination-port 646; } # # JUNOScript and JUNOScope management # application junos-xnm-ssl { protocol tcp; destination-port 3220; } application junos-xnm-clear-text { protocol tcp; destination-port 3221; } # # IPsec tunnel # application junos-ipsec-esp { protocol esp; } # #IKE application for IPSec VPN # application junos-ike { application-protocol ike-esp-nat; protocol udp; destination-port 500; } # # 'junos-algs-outbound' defines a set of all applications # requiring an ALG. Useful for defining rule to the the public # internet allowing private network users to use all JUNOS OS # supported ALGs initiated from the private network. # # NOTE: the contents of this set might grow in future JUNOS OS versions. # application-set junos-algs-outbound { application junos-ftp; application junos-tftp; application junos-rpc-portmap-tcp; application junos-rpc-portmap-udp; application junos-snmp-get; application junos-snmp-get-next; application junos-snmp-response; application junos-snmp-trap; application junos-rexec; application junos-rlogin; application junos-rsh; application junos-rtsp; application junos-citrix-winframe; application junos-citrix-winframe-udp; application junos-sqlnet; application junos-h323; application junos-iiop-java; application junos-iiop-orbix; application junos-realaudio; application junos-traceroute; application junos-rpc-services-udp; application junos-rpc-services-tcp; application junos-icmp-all; application junos-netshow; application junos-netbios-name-udp; application junos-netbios-datagram; application junos-dcerpc-endpoint-mapper-service; application junos-dcerpc-msexchange-directory-rfr; application junos-dcerpc-msexchange-information-store; } # # 'junos-management-inbound' represents the group of applications # that might need access the router from public network for # for management purposes. # # Set is intended for a UI to display management choices. # # NOTE: It is not recommended the user to use the entire set # directly in a firewall rule and open up firewall to all # of these applications. Also, the user should always # specify the source and destination prefixes when using # each application. # # NOTE: the contents of this set may grow in future JUNOS versions. # application-set junos-management-inbound { application junos-snmp-get; application junos-snmp-get-next; application junos-snmp-response; application junos-snmp-trap; application junos-ssh; application junos-telnet; application junos-http; application junos-https; application junos-xnm-ssl; application junos-xnm-clear-text; } # # 'junos-routing-inbound' represents routing protocols that might # need to access the router from public network. # # Set is intended for a UI to display routing involvement choices. # # NOTE: It is not recommended the user to use the entire set # directly in a firewall rule and open up firewall to all # of these applications. Also, the user should always # specify the source and destination prefixes when using # each application. # # NOTE: the contents of this set might grow in future JUNOS OS versions. # application-set junos-routing-inbound { application junos-bgp; application junos-rip; application junos-ldp-tcp; application junos-ldp-udp; } application-set junos-h323-suite { application junos-h323-ras, application junos-h323; } }
Para hacer referencia a instrucciones disponibles en el grupo, incluya la instrucción seleccionada junos-default-name
en el junos-defaults
nivel jerárquico aplicable. Para configurar protocolos de aplicación, consulte Configuración de propiedades de aplicación; para obtener más información sobre un protocolo específico, consulte Descripciones de ALG.
Ejemplos: hacer referencia a la instrucción preestablecida del grupo predeterminado de Junos OS
El siguiente ejemplo es una instrucción preestablecida de los grupos predeterminados de Junos OS que está disponible para FTP en un firewall con estado:
[edit] groups { junos-defaults { applications { application junos-ftp { # Use FTP default configuration application-protocol ftp; protocol tcp; destination-port 21; } } }
Para hacer referencia a una instrucción predeterminada de Junos OS preestablecida de los grupos predeterminados de Junos OS, incluya la junos-default-name
instrucción en el nivel de jerarquía aplicable. Por ejemplo, para hacer referencia a la instrucción predeterminada de Junos OS para FTP en un firewall con estado, incluya la junos-ftp
instrucción en el nivel de [edit services stateful-firewall rule rule-name term term-name from applications]
jerarquía.
[edit] services { stateful-firewall { rule my-rule { term my-term { from { applications junos-ftp; #Reference predefined statement, junos-ftp, } } } } }
En el siguiente ejemplo, se muestra la configuración de la ALG IP predeterminada de Junos:
[edit] services { stateful-firewall { rule r1 { match-direction input; term t1 { from { applications junos-ip; } then { accept; syslog; } } } } }
Si configura el ALG IP en la regla de firewall con estado, coincide con cualquier tráfico IP, pero cuando cualquier otra aplicación más específica coincide con el mismo tráfico, el ALG IP no coincide. Por ejemplo, en la siguiente configuración, se configuran tanto el ALG ICMP como el ALG IP, pero el tráfico coincide con los paquetes ICMP, porque es la coincidencia más específica.
[edit] services { stateful-firewall { rule r1 { match-direction input; term t1 { from { applications [ junos-ip junos-icmp-all ]; } then { accept; syslog; } } } } }
Ver también
ALG de ICMP, ping y traceroute para MS-MIC y MS-MPC
A partir de Junos OS versión 14.2, los paquetes de proveedor de extensiones de Junos OS que están preinstalados y preconfigurados en MS-MIC y MS-MPC ofrecen soporte para ping, traceroute y ALG ICMP de una manera coherente que es idéntica a la compatibilidad que proporciona el servicio uKernel. Se establece la paridad y uniformidad de soporte para estas ALG entre MS-MIC/MS-MPC y el servicio uKernel. Hasta Junos OS versión 14.1, las ALG ICMP, ALG PING y ALG traceroute no eran totalmente compatibles con los enrutadores serie MX con MS-MICs y MS-MPCs en comparación con el servicio uKernel que habilita la traducción de direcciones de red (NAT) con firewall de estado (SFW) en la PIC uKernel. Había soporte disponible para el manejo de paquetes de respuesta a errores ICMP que coinciden con cualquier flujo existente en la dirección opuesta y el procesamiento NAT de paquetes ICMP con el procesamiento NAT de paquetes de ping.
En los enrutadores de la serie MX con MS-MICs y MS-MPCs, se admite el seguimiento de los estados de tráfico de ping utilizando los números de secuencia ICMP (por ejemplo, reenviar una respuesta de eco solo si se identifica la solicitud de eco con el número de secuencia correspondiente). La puerta de enlace de capa de aplicación (ALG) de ICMP se ha mejorado para proporcionar información de registro detallada. Además, las ALG de traceroute permiten que los paquetes de sondeo UDP se procesen con el número de puerto de destino UDP mayor que 33000 y el tiempo de vida IP (TTL) es inferior a 30 segundos. Las ALG de traceroute permiten procesar los paquetes de respuesta ICMP para los que se ha excedido el tiempo del tipo ICMP y admiten un valor de umbral TTL de traceroute, que controla el nivel aceptable de penetración de la red para el enrutamiento de seguimiento.
Puede configurar mensajes ICMP y ping con las instrucciones, application junos-icmp-ping
y en los niveles de [edit services stateful-firewall rule rule-name term term-name from]
application junos-icmp-all
jerarquía para definir la condición de coincidencia para [edit services nat rule rule-name term term-name from]
el firewall con estado y application icmp-code
las reglas NAT. Hasta Junos OS versión 14.1, no existía una restricción o validación en las aplicaciones que se podían definir para los mensajes ICMP. Las MS-MICs y MS-MPCs funcionan de la misma manera que el servicio uKernel, lo que hace que el tráfico ping se rastree de forma permanente utilizando los números de secuencia ICMP (una respuesta de eco se reenvía sólo si la solicitud de eco con el número de secuencia correspondiente coincide). Además, las MS-MICs y MS-MPCs imponen un límite a las solicitudes de ping pendientes y descartan las solicitudes de ping posteriores cuando se alcanza el límite.
Del mismo modo, en el caso de los mensajes traceroute, puede configurar las instrucciones y en los niveles de jerarquía para definir la condición de coincidencia de los application junos-traceroute
[edit services stateful-firewall rule rule-name term term-name from]
mensajes de traceroute para [edit services nat rule rule-name term term-name from]
el firewall con estado y application junos-traceroute-ttl-1
las reglas NAT.
Los mensajes Traceroute e ICMP son compatibles con los paquetes IPv4 e IPv6. Para que la funcionalidad traceroute funcione, solo necesita asegurarse de que las aplicaciones definidas por el usuario funcionan según lo esperado con el período de tiempo de espera de inactividad y que los valores de umbral TTL están configurados para ser el mismo período de tiempo que se configuró mediante la session-timeout seconds
instrucción en el [edit services application-identification application application-name]
nivel de jerarquía. Durante el registro de mensajes ICMP, la información ALG para ping y utilidades ICMP se muestra en la salida de los comandos show relevantes, como show sessions
y show conversations
, de la misma manera que se muestra para el registro uKernel.
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.