Firmas de aplicaciones personalizadas para la identificación de aplicaciones
Las firmas de aplicación personalizadas definidas por el usuario también se pueden usar para identificar la aplicación, independientemente del protocolo y el puerto que se utilicen. Puede crear firmas personalizadas mediante nombres de host, intervalos de direcciones IP y puertos, lo que le permite realizar un seguimiento del tráfico a destinos específicos. Para obtener más información, consulte los temas siguientes:
Descripción de la identificación de aplicaciones de Junos OS Firmas de aplicaciones personalizadas
En este tema se incluyen las siguientes secciones:
- Descripción general de las firmas de aplicaciones personalizadas
- Mejoras en las firmas de aplicaciones personalizadas
- Tipos admitidos de firmas de aplicaciones personalizadas
- Ventajas de usar firmas de aplicación personalizadas
- Limitaciones
- Opciones de configuración adicionales para firmas de aplicaciones personalizadas
Descripción general de las firmas de aplicaciones personalizadas
La función de identificación de aplicaciones de Junos OS le proporciona la flexibilidad necesaria para crear firmas personalizadas para identificar cualquier aplicación, ya sea basada en web o una aplicación cliente-servidor. Puede crear firmas de aplicación personalizadas para aplicaciones basadas en ICMP, protocolo IP, dirección IP y capa 7.
En general, las firmas de aplicaciones personalizadas son exclusivas de su entorno y se utilizan principalmente para inspeccionar aplicaciones internas o personalizadas. Una vez creadas las firmas de aplicación personalizadas, AppID clasifica e inspecciona de la misma manera que las aplicaciones estándar. Dado que las firmas de aplicación personalizadas no forman parte del paquete de aplicación predefinido, se guardan en la jerarquía de configuración, no en la base de datos de firmas de aplicación predefinida.
Debe descargar, instalar el paquete de firmas de la aplicación en su dispositivo para configurar firmas personalizadas. Cuando se configuran las firmas personalizadas, no puede desinstalar el paquete de firmas de la aplicación. Todas las firmas de aplicaciones personalizadas se trasladan tal cual cuando se actualiza el sistema a una nueva versión de software.
Mejoras en las firmas de aplicaciones personalizadas
La funcionalidad de firma de aplicaciones personalizadas proporciona un nuevo conjunto de aplicaciones y contextos.
Los contextos de firma de aplicación personalizados ahora forman parte del paquete de firmas de aplicaciones. Si desea utilizar la aplicación y los contextos recién introducidos para firmas de aplicación personalizadas, debe descargar e instalar la versión 3248 o posterior del paquete de firmas de aplicación más reciente. Puede actualizar el paquete de firmas de la aplicación por separado sin necesidad de actualizar Junos OS.
Tipos admitidos de firmas de aplicaciones personalizadas
Los dispositivos de seguridad admiten los siguientes tipos de firmas personalizadas:
Mapeo basado en ICMP
Mapeo basado en direcciones
Mapeo basado en el protocolo IP
Mapeo basado en flujos TCP/UDP y de capa 7
En todas las firmas de aplicaciones personalizadas admitidas, las aplicaciones personalizadas basadas en ICMP, en protocolos IP y en direcciones tienen más prioridad que las aplicaciones personalizadas basadas en secuencias TCP/UDP y en capa 7. El orden de prioridad de las firmas de aplicaciones personalizadas es: aplicaciones personalizadas basadas en ICMP, basadas en el protocolo IP, basadas en direcciones y en Layer7 o TCP/UDP.
- Mapeo basado en ICMP
- Mapeo basado en direcciones
- Mapeo basado en el protocolo IP
- Firmas basadas en secuencias TCP/UDP y basadas en capa 7
Mapeo basado en ICMP
La técnica de asignación ICMP asigna tipos de mensajes ICMP estándar y códigos opcionales a un nombre de aplicación único. Esta técnica de asignación le permite diferenciar entre varios tipos de mensajes ICMP. La técnica de asignación ICMP no admite el tráfico ICMPv6.
IDP solo funciona con tráfico TCP o UDP. Por lo tanto, la asignación ICMP no se aplica a IDP y no puede admitir funciones de IDP como ataques personalizados.
Mapeo basado en direcciones
La asignación de direcciones de capa 3 y capa 4 define una aplicación por la dirección IP y el intervalo de puertos opcionales del tráfico.
Para configurar aplicaciones personalizadas basadas en direcciones de capa 3 y capa 4, debe hacer coincidir la dirección IP y el intervalo de puertos con la dirección IP y el puerto de destino. Cuando se configuran tanto la dirección IP como el puerto, ambos criterios deben coincidir con la dirección IP de destino y el intervalo de puertos del paquete.
Considere un servidor de protocolo de inicio de sesión (SIP) que inicia sesiones desde su puerto conocido 5060. Dado que todo el tráfico de esta dirección IP y puerto solo lo genera la aplicación SIP, la aplicación SIP se puede asignar a la dirección IP del servidor y al puerto 5060 para la identificación de la aplicación. De esta manera, todo el tráfico con esta dirección IP y puerto se identifica como tráfico de aplicación SIP.
Cuando se configura una aplicación basada en direcciones y una aplicación basada en secuencias TCP/UDP, y si una sesión coincide con ambas aplicaciones, la aplicación basada en secuencias TCP/UDP se notifica como aplicación y la aplicación basada en direcciones se notifica como aplicación extendida.
Para garantizar una seguridad adecuada, utilice la asignación de direcciones cuando la configuración de la red privada prediga el tráfico de aplicaciones hacia o desde servidores de confianza. La asignación de direcciones proporciona eficiencia y precisión en el manejo del tráfico de una aplicación conocida.
Mapeo basado en el protocolo IP
Los números de protocolo IP estándar asignan una aplicación al tráfico IP. Al igual que con la asignación de direcciones, para garantizar una seguridad adecuada, utilice la asignación de protocolo IP solo en su red privada para los servidores de confianza.
IDP solo funciona con tráfico TCP o UDP. Por lo tanto, la asignación de protocolo IP no se aplica a los desplazados internos y no puede admitir características de los desplazados internos, como los ataques personalizados.
Las firmas de aplicaciones personalizadas basadas en el protocolo IP no funcionan como se esperaba en las versiones 19.2 a 19.4 de Junos OS. En versiones posteriores, puede utilizar firmas de aplicación personalizadas basadas en el protocolo IP.
Solución sugerida:
Si está configurando una directiva unificada, use la configuración de aplicaciones basada en servicios. Ejemplo:
user@host#set applications application application-name protocol IP-proto-numberEjemplo:
user@host#set applications application A1 protocol 2Si utiliza un firewall de aplicaciones heredado, utilice aplicaciones de protocolo IP predefinidas. Ejemplo
user@host#set security application-firewall rule-sets rule-set-name rule rule-name match dynamic-application application-nameEjemplo:
user@host#set security application-firewall rule-sets RS-1 rule R1 match dynamic-application junos:IPP-IGMP
Firmas basadas en secuencias TCP/UDP y basadas en capa 7
Las firmas personalizadas de capa 7 definen una aplicación que se ejecuta sobre aplicaciones TCP, UDP o de capa 7.
Se requieren firmas de aplicaciones personalizadas basadas en la capa 7 para la identificación de varias aplicaciones que se ejecutan en los mismos protocolos de capa 7. Por ejemplo, aplicaciones como Facebook y Yahoo Messenger pueden ejecutarse a través de HTTP, pero es necesario identificarlas como dos aplicaciones diferentes que se ejecutan en el mismo protocolo de capa 7.
Las firmas de aplicaciones personalizadas basadas en capa 7 detectan aplicaciones basadas en los patrones de contextos HTTP. Sin embargo, algunas sesiones HTTP se cifran en SSL. La identificación de aplicaciones también puede extraer la información del nombre del servidor o la certificación del servidor de las sesiones TLS o SSL. También puede detectar patrones en la carga TCP o UDP en aplicaciones de capa 7.
Ventajas de usar firmas de aplicación personalizadas
Aplique una política de seguridad exclusiva para su entorno de red en función de aplicaciones específicas
Dar visibilidad a aplicaciones desconocidas o no clasificadas
Identificar aplicaciones en la capa 7 y aplicaciones en tránsito o temporales, y lograr una mayor granularidad de las aplicaciones conocidas
Realizar calidad de servicio (QoS) para cualquier aplicación específica
Limitaciones
No se admiten las siguientes características:
Algunas de las expresiones basadas en PCRE y caracteres basados en Unicode (si no se admiten en Hyperscan)
Aplicación de órdenes entre miembros en firmas basadas en capa 7
La dirección comodín para las firmas basadas en direcciones (capa 3 y capa 4)
Opciones de configuración adicionales para firmas de aplicaciones personalizadas
A partir de Junos OS versión 20.1R1 y si utiliza el paquete de firmas de aplicaciones versión 3248 o posterior, puede configurar las siguientes opciones para firmas de aplicaciones personalizadas:
- Profundidad de patrón de aplicación personalizada
- Límite de bytes de inspección de aplicaciones personalizadas
- Prioridad para aplicaciones personalizadas
- Nombre alternativo del sujeto
Profundidad de patrón de aplicación personalizada
Puede especificar el límite de bytes de AppID para identificar el patrón de aplicación personalizado para las aplicaciones que se ejecutan en aplicaciones TCP o UDP o de capa 7.
Para configurar el límite, utilice las siguientes instrucciones de configuración de la [edit] jerarquía:
user@host# set services application-identification application application-name over application signature signature-name member number depth
Ejemplo:
user@host# set services application-identification application my_custom_address over HTTP signature my_addr_sig1 member m01 depth 256
Para las aplicaciones personalizadas de capa 7, la profundidad se considera desde el principio del contexto de capa 7. Para las aplicaciones personalizadas basadas en secuencias TCP/UDP, la profundidad se considera desde el principio de la carga TCP/UDP.
Límite de bytes de inspección de aplicaciones personalizadas
Puede establecer el límite de bytes de inspección para AppID a fin de concluir la clasificación e identificar la aplicación personalizada en una sesión. Al superar el límite, AppID finaliza la clasificación de la aplicación. Puede utilizar esta opción para mejorar el rendimiento del tráfico de la aplicación.
Para configurar el límite de bytes de aplicación, utilice las siguientes instrucciones de configuración de la jerarquía [edit]:
user@host# set services application-identification custom-application-byte-limit byte-number
Ejemplo:
user@host# set services application-identification custom-application-byte-limit 400
Si ha configurado una firma de aplicación personalizada sobre una aplicación predefinida y AppID ya ha identificado la aplicación predefinida, DPI continúa con la identificación de firma personalizada. Mientras la identificación de la firma personalizada está en curso, la clasificación se marca como no definitiva. Si no se identifica ninguna aplicación personalizada dentro del límite de bytes de la aplicación personalizada y si ya se ha identificado una aplicación predefinida, AppID concluye la aplicación predefinida como final y descarga la sesión.
Prioridad para aplicaciones personalizadas
En versiones anteriores a Junos OS 20.1R1, la prioridad predeterminada para las firmas de aplicaciones personalizadas era alta, lo que permitía que las firmas personalizadas tuvieran prioridad sobre las aplicaciones predefinidas. Ahora, la prioridad predeterminada para la firma de aplicación personalizada es baja.
Cuando AppID identifica una aplicación personalizada con baja prioridad antes de identificar una aplicación predefinida, espera hasta que la clasificación de aplicaciones predefinida sea definitiva. Si no hay ninguna coincidencia de aplicación predefinida disponible y se identifica la aplicación personalizada, AppID finaliza la clasificación con la aplicación personalizada identificada.
Si desea invalidar la prioridad de aplicaciones predefinidas con firmas de aplicación personalizadas, debe establecer explícitamente la prioridad en alta para las firmas de aplicación personalizadas.
Para configurar la prioridad alta para aplicaciones personalizadas, utilice las siguientes instrucciones de configuración de la jerarquía [edit]:
user@host# set services application-identification application application-name priority high
Ejemplo:
user@host# set services application-identification application my_custom_address priority high
Tenga en cuenta lo siguiente sobre la prioridad de las aplicaciones personalizadas:
Comportamiento previo:
La prioridad predeterminada para las aplicaciones personalizadas es alta.
La prioridad de las aplicaciones se considera cuando varias aplicaciones coinciden en el mismo paquete.
Cuando se configura la prioridad alta para una aplicación personalizada: las aplicaciones personalizadas siempre tienen una prioridad alta sobre las aplicaciones predefinidas.
Cuando se configura una prioridad baja para aplicaciones personalizadas: las aplicaciones personalizadas tienen poca prioridad sobre firmas predefinidas basadas en patrones similares y prioridad alta sobre las demás aplicaciones. En estas versiones, no hay ninguna opción disponible para cambiar el comportamiento.
Cambio de comportamiento (en versiones recientes):
La prioridad predeterminada para las aplicaciones personalizadas es baja.
La prioridad no depende de las coincidencias en el mismo paquete.
La prioridad de las aplicaciones personalizadas basadas en flujos TCP/UDP y capa 7 funciona según lo configurado (alto o bajo) con todas las aplicaciones predefinidas.
Las aplicaciones personalizadas basadas en capas 3 y 4 siempre tienen una prioridad alta. En este caso, se ignora la prioridad configurada. Las aplicaciones personalizadas basadas en capas 3 y 4 anulan todas las aplicaciones predefinidas; porque estas aplicaciones se activan en el primer paquete de la sesión.
Nombre alternativo del sujeto
Puede crear una firma personalizada de AppID mediante el atributo de certificado SAN (nombre alternativo del sujeto) para las firmas SSL. Un certificado SSL con el atributo SAN permite especificar varios nombres de host o direcciones IP en un único certificado. Con esta mejora, las firmas de aplicaciones personalizadas pueden detectar aplicaciones basadas en los nombres de host de la aplicación que aparecen en el campo SAN del certificado SSL.
Puede configurar SAN mediante la opción en la ssl-subject-alt-name jerarquía [edit services application-identification application name over SSL signature name member name context].
Ejemplo: configuración de firmas de aplicaciones personalizadas de identificación de aplicaciones de Junos OS
En este ejemplo, se muestra cómo configurar firmas de aplicaciones personalizadas para la identificación de aplicaciones de Junos OS.
Se recomienda que solo los usuarios avanzados de Junos OS intenten personalizar las firmas de las aplicaciones.
- Antes de empezar:
- Visión general
- Ejemplos de configuración de aplicaciones personalizadas
- Verificación
Antes de empezar:
Instale una licencia válida de función de identificación de aplicaciones en su firewall de la serie SRX. Consulte Administración de licencias de Junos OS
Este ejemplo de configuración se ha probado con Junos OS versión 20.1R1.
Asegúrese de que el dispositivo de seguridad con el paquete de firmas de la aplicación esté instalado. Consulte Descargar e instalar manualmente el paquete de firmas de aplicaciones de Junos OS.
Para usar firmas de aplicación personalizadas mejoradas, actualice la versión 3284 o posterior del paquete de firmas de aplicación más reciente. Compruebe la versión de la firma de la aplicación mediante el siguiente comando:
user@host> show services application-identification version
Application package version: 3248
Se recomienda que solo los usuarios avanzados de Junos OS intenten personalizar las firmas de las aplicaciones.
Visión general
La identificación de aplicaciones admite firmas de aplicaciones personalizadas para detectar aplicaciones a medida que pasan por el dispositivo. Cuando configure firmas personalizadas, asegúrese de que sus firmas sean únicas.
Siga estos pasos para configurar firmas de aplicación personalizadas:
Defina atributos como contexto, patrones, dirección, rango de puertos, etc. para que su dispositivo de seguridad coincida con el tráfico de la aplicación.
Configure el límite de inspección, la profundidad del patrón y la prioridad (configuraciones opcionales) para mejorar el proceso de identificación de aplicaciones personalizadas.
Adjunte la aplicación personalizada a una política de seguridad que permita o deniegue el tráfico de la aplicación.
Ver firmas de aplicaciones y grupos de firmas de aplicaciones mediante los
show services application-identification applicationcomandos yshow services application-identification group.
Ejemplos de configuración de aplicaciones personalizadas
Procedimiento
Procedimiento paso a paso
Establezca un límite de inspección para aplicaciones personalizadas.
[edit ] user@host# set services application-identification custom-application-byte-limit 400
Establezca prioridad para aplicaciones personalizadas.
[edit ] user@host# set services application-identification application test cacheable user@host# set services application-identification application test priority high
Configure firmas personalizadas basadas en secuencias TCP:
[edit ] user@host# set services application-identification application my_custom_tcp over TCP signature s1 member m01 context stream user@host# set services application-identification application my_custom_tcp over TCP signature s1 member m01 pattern .*install.* user@host# set services application-identification application my_custom_tcp over TCP signature s1 member m01 direction any user@host# set services application-identification application my_custom_tcp over TCP signature s1 member m01 depth 100
Configure firmas personalizadas basadas en contexto de FTP:
[edit ] user@host# set services application-identification application my_custom_ftp over FTP signature sig1 member m01 depth 60 user@host# set services application-identification application my_custom_ftp over FTP signature sig1 member m01 context ftp-file-name user@host# set services application-identification application my_custom_ftp over FTP signature sig1 member m01 pattern .*install.* user@host# set services application-identification application my_custom_ftp over FTP signature sig1 member m01 direction client-to-server
Configure firmas personalizadas HTTP basadas en contexto.
[edit ] user@host# set services application-identification application my_custom_http over HTTP signature s1 member m01 context http-header-host user@host# set services application-identification application my_custom_http over HTTP signature s1 member m01 pattern .*agent1.* user@host# set services application-identification application my_custom_http over HTTP signature s1 member m01 direction client-to-server user@host# set services application-identification application my_custom_http over HTTP signature s1 member m01 depth 100
Configure firmas personalizadas SSL basadas en el contexto:
[edit] user@host# set services application-identification application my_custom_ssl over SSL signature s1 member m01 context ssl-server-name user@host# set services application-identification application my_custom_ssl over SSL signature s1 member m01 pattern "example\.com" user@host# set services application-identification application my_custom_ssl over SSL signature s1 member m01 direction client-to-server user@host# set services application-identification application my_custom_ssl over SSL signature s1 member m01 depth 100
Las
ssl-versionfirmas personalizadas basadas en contexto SSL están en desuso en el paquete de firmas de aplicaciones versión 3796 y posteriores. Utilice lassl-protocol-versionopción. Para comprobar la versión del paquete de firmas de aplicaciones instalado en el dispositivo de seguridad, consulte Mostrar la versión de identificación de aplicaciones de servicios.Utilice los valores siguientes para especificar la opción de patrón para para ssl-protocol-version:
- SSLv2 (0x0002) : 2
- SSLv3 (0x0300) : 768
- TLS 1.0 (0x0301) : 769
- TLS 1.1 (0x0302) : 770
- TLS 1.2 (0x0303) : 771
- TLS 1.3 (0x0304) : 772
- TLS 1.4 (0x0305) : 773
Configure firmas de aplicaciones personalizadas basadas en ICMP:
[edit ] user@host# set services application-identification application my_custom_icmp icmp-mapping type 100 user@host# set services application-identification application my_custom_icmp icmp-mapping code 1
Configure firmas de aplicaciones personalizadas basadas en direcciones de capa 3 o capa 4:
[edit ] user@host# set services application-identification application my_custom_address address-mapping ADDR-SAMPLE filter ip 192.0.2.1/24 user@host# set services application-identification application my_custom_address address-mapping ADDR-SAMPLE filter port-range udp 5000-6000
Nota:Debe proporcionar el intervalo de puertos adecuado y la dirección IP especificada para configurar firmas de aplicación personalizadas basadas en direcciones.
Configure firmas de aplicaciones personalizadas basadas en la asignación de protocolo IP.
[edit] user@host# set services application-identification application my_custom_ip_proto ip-protocol-mapping protocol 2
Cree una política de seguridad con aplicaciones personalizadas como criterios de coincidencia.
user@host# set security policies from-zone untrust to-zone trust policy 1 match source-address any user@host# set security policies from-zone untrust to-zone trust policy 1 match destination-address any user@host# set security policies from-zone untrust to-zone trust policy 1 match application any user@host# set security policies from-zone untrust to-zone trust policy 1 match dynamic-application my_custom_http user@host# set security policies from-zone untrust to-zone trust policy 1 then permit
Estamos usando my_custom_http para este ejemplo. Del mismo modo, puede crear diferentes políticas de seguridad y especificar otras aplicaciones personalizadas, como my_custom_ftp, my_custom_tcp, my_custom_ssl, my_custom_address, my_custom_icmp, my_custom_ip_proto como condición de coincidencia para la aplicación dinámica según sus requisitos.
Habilite el seguimiento de aplicaciones.
user@host# set security zones security-zone trust application-tracking
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show services application-identification comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit]user@host# show services application-identificationcustom-application-byte-limit 100; application my_custom_address { address-mapping ADDR-SAMPLE { filter { ip 192.0.2.1/24; port-range { udp 5000-6000; } } } } application my_custom_ftp { over FTP { signature sig1 { member m01 { depth 60; context ftp-file-name; pattern .*install.*; direction client-to-server; } } } } application my_custom_http { over HTTP { signature s1 { member m01 { depth 100; context http-header-host; pattern .*agent1.*; direction client-to-server; } } } } application my_custom_icmp { icmp-mapping { type 100; code 1; } } application my_custom_ip_proto { ip-protocol-mapping { protocol 2; } } application my_custom_ssl { over SSL { signature s1 { member m01 { depth 100; context ssl-server-name; pattern "example\.com"; direction client-to-server; } } } } application my_custom_tcp { over TCP { signature s1 { member m01 { depth 100; context stream; pattern .*install.*; direction any; } } } } application test { cacheable; priority high; }
[edit security policies]
user@host# show
from-zone untrust to-zone trust {
policy 1 {
match {
source-address any;
destination-address any;
application any;
dynamic-application [my_custom_http];
}
then {
permit;
}
}
}
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Comprobación de las definiciones de aplicación personalizadas
Propósito
Muestra las firmas de aplicaciones personalizadas configuradas en tu dispositivo. Tenga en cuenta que los nombres de firma de aplicación predefinidos utilizan el prefijo "junos:"
Acción
En el modo de configuración, escriba el show services application-identification application detail name comando.
user@host> show services application-identification application
detail test
Application Name: test
Application type: TEST
Description: N/A
Application ID: 16777219
Priority: high
Significado
El resultado del comando muestra el nombre, el tipo, la descripción, el ID y la prioridad personalizados de la aplicación.
Consulte Mostrar aplicación de identificación de aplicaciones de servicios.
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.