Temas Relacionados
Bloquear Aplicaciones Evasivas
Archivos de configuración creados con — Policy Manager v11.12.2
Archivos de configuración creados para —
Caso de Uso
Este ejemplo demuestra cómo usar las políticas y los servicios de seguridad de WatchGuard para bloquear efectivamente las aplicaciones evasivas. Este ejemplo se centra en cómo evitar el uso de una aplicación de proxy, Ultrasurf, que es un buen ejemplo de una aplicación evasiva. Usted podría utilizar una estrategia similar para bloquear otros tipos de aplicaciones evasivas en su red.
Esta configuración de ejemplo se proporciona como una guía básica. Su entorno de red puede requerir ajustes de configuración adicionales.
Descripción de la Solución
Esta configuración se basa principalmente en Application Control y WebBlocker, pero también describe cómo configurar correctamente las políticas de salida DNS, HTTP, HTTPS y TCP-UDP. Esta configuración de ejemplo también incluye algunos de los mensajes de registro que indican las acciones de las políticas y los servicios configurados.
Esta configuración de ejemplo se probó con un cliente de red con Windows 7 protegido por un Firebox instalado con Fireware v11.12.2. Usamos Ultrasurf v.16.03.
Cómo Funciona
Muchas aplicaciones de evasión de proxy utilizan un conjunto similar de estrategias para intentar conectarse a sus servidores. Típicamente, la aplicación primero envía consultas DNS para intentar encontrar un servidor. Luego intenta conectarse al servidor en el puerto HTTP 80 y luego en el puerto HTTPS 443. Algunas aplicaciones intentan construir un túnel SSL en el puerto estándar 443 u otro puerto, como TCP 53 u otro puerto seleccionado dinámicamente. Si todo esto falla, la aplicación podría intentar conectarse a servidores de respaldo ubicados en centros de datos populares y frecuentemente permitidos, como Microsoft o Amazon Web Services. Otra estrategia incluye intentos de descargar otro archivo ejecutable mientras la aplicación continúa intentando conectarse repetidamente a un servidor.
Para detectar este tipo de aplicaciones, debe configurar proxies y servicios con la configuración adecuada, y habilitar la generación de registros para los informes. También es importante monitorear regularmente los archivos de registro y los informes para estar al día con las nuevas tendencias en la actividad de la red, a medida que las actualizaciones de esas aplicaciones estén disponibles.
Esta configuración de ejemplo usa una combinación de políticas y servicios para bloquear las estrategias utilizadas por Ultrasurf:
- Políticas de Proxy — Las políticas de proxy examinan todas las conexiones salientes HTTP, HTTPS y DNS, y niegan o bloquean las conexiones o el contenido que podría representar una amenaza. Las políticas de proxy también usan servicios configurados y otros ajustes de configuración para examinar conexiones y contenido para determinar si se permite una conexión.
- Application Control — Application Control descarta las conexiones para las aplicaciones en la categoría Servicios de tunelización y proxy y en otras categorías de aplicaciones que podrían representar una amenaza. Application Control está habilitado para todas las políticas de navegación salientes.
- WebBlocker — WebBlocker bloquea las conexiones a sitios web en la categoría evasión de proxy y en otras categorías que podrían representar una amenaza. La configuración de WebBlocker es utilizada por las acciones Proxy HTTP y Proxy HTTPS.
- Gateway AntiVirus — Las políticas de proxy están configuradas para escanear el contenido permitido en busca de virus y descartar la conexión si se encuentra un virus.
- Otros Servicios de Seguridad — Intrusion Prevention, APT Blocker, Detección de Botnet y Defensa de Reputación Activada están todos habilitados con la configuración recomendada para proteger la red.
Archivos de Configuración de Ejemplo
Para su referencia, hemos incluido un archivo de configuración de ejemplo con este documento. El archivo de configuración incluye la configuración descrita en este ejemplo.
El nombre del archivo de configuración de ejemplo es block_evasive_apps.xml.
Para ver los detalles de configuración de cada archivo de configuración de ejemplo, abra el archivo de configuración con Policy Manager.
Requisitos
Esta configuración de ejemplo tiene estos requisitos:
- Los servicios de suscripción WatchGuard, especialmente Application Control y WebBlocker
- Firewall de WatchGuard que filtra el tráfico entre clientes de red e Internet
Configuración de red
Esta configuración de ejemplo utiliza una topología de red básica para demostrar cómo el Firebox puede filtrar todo el tráfico entre los clientes en la red de confianza y la Internet pública. Todos los clientes de red deben usar el Firebox como su default gateway (puerta de enlace predeterminada).
Las interfaces de Firebox en este ejemplo tienen estas direcciones IP:
- Externa (eth0): 203.0.113.100/24
- De confianza (eth1): 10.0.100.1/24
Explicación de la Configuración
Esta sección describe la configuración basada en el orden cronológico de los paquetes que esperamos ver de aplicaciones evasivas como Ultrasurf.
Política de Proxy UDP DNS
Los primeros paquetes enviados por la aplicación evasiva suelen ser paquetes UDP DNS en el puerto 53. Para las solicitudes DNS no permitidas por la política de proxy DNS, puede configurar el proxy en Descartar o Denegar las solicitudes, o bien, Bloquear el origen de las solicitudes. La opción más segura y eficiente es Descartar las peticiones. Esto hace que la aplicación espere antes de rendirse e intentar con otra estrategia, y también ahorra recursos de firewall. Si usted decide Bloquear, tenga en cuenta que, si bien este puede ser un método muy eficaz para bloquear cualquier tráfico que se origine del cliente cuando usa un servidor DNS Público, también puede bloquear todo el acceso a Internet desde ese cliente. En una red con un servidor de dominio interno, la acción Bloquear en el proxy DNS puede bloquear el acceso a Internet para todos los usuarios de la red.
Si su política de DNS para el tráfico TCP-UDP en el puerto 53 permite el tránsito de Cualquiera de confianza a Cualquiera externo, podría permitir que la aplicación construya un túnel a su servidor en el puerto TCP 53 y puede evadir la detección si no ha aplicado Application Control a esa política. Es por eso que, en esta configuración de ejemplo, la política DNS saliente permite las conexiones de Cualquiera de confianza al alias PUBLIC DNS. Este alias incluye un pequeño grupo de servidores DNS públicos de confianza. Podría usar una política de filtro de paquetes en lugar de una política de proxy para definir el destino de los paquetes DNS permitidos. Esto puede ahorrar recursos en el firewall.
Para este ejemplo, esta política de proxy utiliza la configuración predeterminada de la acción de proxy DNS Saliente predefinida, con estos cambios:
- La acción de proxy está configurada con Reglas de Nombres de Consultas habilitadas que:
- Niegan conexiones con el patrón de nombre de dominio *doubleclick*.
- Descartan conexiones con el patrón de nombre de dominio *ultrasurf*.
Puede agregar aquí otros patrones de nombre de dominio para otras aplicaciones evasivas que desee bloquear.
Configuración de Application Control
La configuración de ejemplo incluye un perfil de Application Control llamado ESTRICTO. Para prevenir conexiones desde Ultrasurf y otras aplicaciones similares, esta Acción de Application Control está configurada para Descartar conexiones para todas las aplicaciones en la categoría Servicios de tunelización y proxy. Para una protección más completa, esta acción también restringe las aplicaciones en las categorías Servicios de transmisión de medios, Redes punto a punto, Juegos en línea y Redes sociales. Esas categorías adicionales no son necesarias para bloquear Ultrasurf. Su elección de qué categorías de aplicaciones permitir depende de las políticas de su compañía.
Para denegar aplicaciones desconocidas, usted debe ser explícito sobre qué aplicaciones están permitidas, de modo que la acción predeterminada de Descartar pueda activarse cuando una aplicación no coincida.
Para prevenir Ultrasurf y otras aplicaciones de túnel y proxy, seleccione la acción Descartar para la categoría Servicios de tunelización y proxy en la Acción de Application Control. La Acción de Application Control ESTRICTO se aplica a todas las políticas que manejan conexiones salientes para la navegación web.
Configuración de WebBlocker
En la configuración de ejemplo, WebBlocker está habilitado en las políticas de proxy HTTP y HTTPS. Para bloquear las conexiones a sitios de evasión de proxy conocidos, WebBlocker bloquea la categoría Evasión de Proxy. En esta configuración, WebBlocker también bloquea otras categorías de seguridad y productividad, incluida la sección Seguridad, la sección Protección Extendida, y las categorías Spam Web y de Correo Electrónico, Dominios Aparcados, Publicidad, Mercados Móviles No Autorizados, Hacking y Seguridad Informática. Algunos sitios y aplicaciones proxy se pueden encontrar en cualquiera de esas categorías.
Esta configuración se establece para Permitir conexiones a un sitio si la URL no está categorizada. Para aumentar la protección contra URL desconocidas, que con frecuencia están involucradas en ransomware, usted puede cambiar esta acción a Denegar. Sin embargo, es probable que la configuración de Denegar provoque falsos positivos si los proveedores locales, los clientes y los socios de su compañía tienen sitios web que no están categorizados por WebBlocker. Si usa la acción Denegar para las URL no categorizadas, algunos sitios a los que desea permitir el acceso podrían bloquearse. Si esto sucede, puede agregar excepciones de WebBlocker para esos sitios y enviarlos para su revisión en la sección WebBlocker del Portal de Seguridad de WatchGuard.
Configuración de Proxy HTTP
El Proxy HTTP está configurado con ajustes estrictos y seguros. La acción de proxy HTTP está configurada con la acción Escaneo AV para todas las Rutas URL, Tipos de Contenido y Tipos de Contenido del Cuerpo permitidos.
La configuración de Tipos de Contenido de Cuerpo también niega la descarga de archivos ejecutables, dll y CAB, a menos que provengan de un sitio de excepción, como *.windowsupdate.com. Esto bloquea específicamente los intentos de la aplicación proxy para descargar e instalar otros archivos ejecutables que pueden intentar llegar a su destino cuando los primeros intentos de evadir el proxy HTTP no tienen éxito. También es la manera más fácil de evitar descargas de malware en general.
Configuración de Proxy HTTPS
El Proxy HTTPS está configurado con Inspección de Contenido habilitado y usa la misma acción de proxy HTTP que la política de proxy HTTP para monitorear y filtrar el contenido.
El proxy HTTPS está configurado de forma predeterminada para inspeccionar las conexiones a todos los dominios, bloquear las conexiones al dominio totalmente calificado ‘ultrasurf.*’ y permitir las conexiones a *.watchguard.com y otros dominios que los productos WatchGuard requieran.
El método más efectivo para atrapar la aplicación en cualquier destino es inspeccionar las conexiones a todos los dominios.
Después de revisar informes y mensajes de registro en su Log Server, Report Server o Dimension, puede decidir inspeccionar solo algunas categorías que podrían representar un riesgo de descarga de malware, una filtración de datos o donde el control de productividad es un factor clave (por ejemplo, Juegos de Facebook y otras aplicaciones de Facebook).
Configuración de Proxy TCP-UDP
Para proteger su red, recomendamos que configure las políticas para permitir el tráfico saliente en una lista de puertos de salida específicos de orígenes y destinos específicos. Si es posible, evite los alias Cualquiera Externo o Cualquiera como un destino en las políticas. Si aún no ha determinado todos los puertos y destinos para el tráfico que desea permitir, puede usar el Proxy TCP-UDP para permitir e inspeccionar el tráfico TCP y UDP saliente a cualquier destino externo. En la acción de proxy TCP-UDP, puede permitir HTTP y HTTPS y negar cualquier protocolo innecesario.
Las aplicaciones evasivas y el malware con frecuencia intentan usar el cifrado SSL en un puerto dinámico o no estándar como una estrategia para evadir el firewall. Este tráfico evadiría los proxies DNS, HTTP y HTTPS descritos anteriormente, porque esas políticas solo manejan el tráfico en los puertos 53, 80 y 443.
La política de proxy TCP-UDP maneja el tráfico TCP y UDP en cualquier puerto, por lo que se aplica a cualquier conexión en puertos no estándar.
En la configuración de ejemplo, la acción de proxy TCP-UDP permite conexiones HTTP y HTTPS y usa las mismas acciones de proxy que las políticas de proxy HTTP y HTTPS para inspeccionar el tráfico. Esta acción de proxy niega todos los protocolos que no sean HTTP y HTTPS.
Prueba de Configuración
Para probar la efectividad de esta configuración contra Ultrasurf, lanzamos Ultrasurf en un cliente en la red de confianza y capturamos los mensajes de registro que se muestran a continuación. Para probar esta configuración, usamos estos pasos:
- Borrar el caché DNS en el cliente de Windows con el comando ipconfig /flushdns.
- Intentar buscar ultrasurf.us desde la red de confianza.
- Lanzar el cliente Ultrasurf en la red de confianza.
Esta secuencia de mensajes de registro se capturó de Traffic Monitor.
Este mensaje de registro muestra que el proxy DNS negó una consulta DNS basada en el nombre de dominio:
2016-12-22 08:16:37 Deny 10.0.100.6 208.67.220.220 dns/udp 58842 53 1-Trusted 0-External ProxyDrop: DNS question match (DNS UDP Proxy-00) DNS-Outgoing.1 proc_id="dns-proxy" rc="594" msg_id="1DFF-000E" proxy_act="DNS-Outgoing.1" rule_name="ultrasurf" query_type="A" question="ultrasurf.us" geo_dst="USA" Traffic
Si un usuario encuentra otra manera de instalar el cliente Ultrasurf, como desde una unidad USB u otra fuente, podemos ver una serie similar de intentos después de que se ejecute por primera vez. Este es un ejemplo del mensaje de registro que muestra que la función de inspección de contenido proxy HTTPS detectó y negó el tráfico HTTP no válido:
2016-12-22 08:19:44 Deny 10.0.100.6 104.20.59.72 https/tcp 54131 443 1-Trusted 0-External ProxyDeny: HTTP request version match (HTTPS-proxy STRICT-00) HTTP-Client.Standard.1 proc_id="http-proxy" rc="595" msg_id="1AFF-0019" proxy_act="HTTP-Client.Standard.1" rule_name="Default" line="PRI * HTTP/2.0\x0d\x0a" geo_dst="USA" Traffic
Un minuto después, el Proxy HTTPS negó una conexión porque Application Control detectó que Ultrasurf está en uso. El mensaje de registro muestra la categoría de la aplicación, el nombre de la aplicación y el comportamiento de la aplicación:
2016-12-22 08:20:28 Deny 10.0.100.6 93.184.221.200 https/tcp 54168 443 1-Trusted 0-External ProxyDeny: HTTP App match (HTTPS-proxy STRICT-00) HTTP-Client.Standard.1 proc_id="http-proxy" rc="595" msg_id="1AFF-002E" proxy_act="HTTP-Client.Standard.1" app_cat_name="Tunnelling and proxy services" app_cat_id="11" app_name="Wujie/UltraSurf" app_id="9" app_beh_name="authority" app_beh_id="1" geo_dst="USA" Traffic
Un momento después, el mismo proxy detectó y permitió conexiones a un servidor de nube válido diferente en los centros de datos de Amazon Web Services (AWS).
2016-12-22 08:26:00Allow 10.0.100.6 52.222.231.45 https/tcp 54383 443 1-Trusted 0-External ProxyInspect: HTTPS domain name match (HTTPS-proxy STRICT-00) HTTPS-Client.Standard.1 proc_id="https-proxy" rc="592" msg_id="2CFF-0003" proxy_act="HTTPS-Client.Standard.1" rule_name="Default" sni="" cn="*.awsstatic.com" ipaddress="52.222.231.45" geo_dst="USA" Traffic
Pero el proxy detectó y evitó el uso de Ultrasurf en ese destino. Podemos verificar ese hecho porque los mismos puertos de origen y destino se usan en ambos mensajes de registro:
2016-12-22 08:26:00Deny 10.0.100.6 52.222.231.45 https/tcp 54383 443 1-Trusted 0-External ProxyDeny: HTTP App match (HTTPS-proxy STRICT-00) HTTP-Client.Standard.1 proc_id="http-proxy" rc="595" msg_id="1AFF-002E" proxy_act="HTTP-Client.Standard.1" app_cat_name="Tunnelling and proxy services" app_cat_id="11" app_name="Wujie/UltraSurf" app_id="9" app_beh_name="authority" app_beh_id="1" geo_dst="USA" Traffic
Cuando la conexión no llega a los centros de datos de Amazon, vimos estos mensajes de registro cuando el cliente Ultrasurf intentó conectarse a otros servidores Ultrasurf ubicados en diferentes centros de datos:
2016-12-22 08:26:03 Allow 10.0.100.6 93.184.221.200 https/tcp 54385 443 1-Trusted 0-External ProxyInspect: HTTPS domain name match (HTTPS-proxy STRICT-00) HTTPS-Client.Standard.1 proc_id="https-proxy" rc="592" msg_id="2CFF-0003" proxy_act="HTTPS-Client.Standard.1" rule_name="Default" sni="" cn="*.vo.msecnd.net" ipaddress="93.184.221.200" geo_dst="USA" Traffic
2016-12-22 08:26:03 Deny 10.0.100.6 93.184.221.200 https/tcp 54385 443 1-Trusted 0-External ProxyDeny: HTTP App match (HTTPS-proxy STRICT-00) HTTP-Client.Standard.1 proc_id="http-proxy" rc="595" msg_id="1AFF-002E" proxy_act="HTTP-Client.Standard.1" app_cat_name="Tunnelling and proxy services" app_cat_id="11" app_name="Wujie/UltraSurf" app_id="9" app_beh_name="authority" app_beh_id="1" geo_dst="USA" Traffic
El cliente Ultrasurf continúa intentando conectarse.
Estos mensajes muestran las conexiones del cliente Ultrasurf a Azure y AWS. Application Control en la acción de proxy negó las conexiones del cliente Ultrasurf, incluso cuando el destino estaba permitido.
2016-12-22 08:26:03 Allow 10.0.100.6 93.184.221.200 https/tcp 54385 443 1-Trusted 0-External HTTP request (HTTPS-proxy STRICT-00) HTTP-Client.Standard.1 proc_id="http-proxy" rc="525" msg_id="1AFF-0024" proxy_act="HTTP-Client.Standard.1" op="POST" dstname="rs.azureedge.net" arg="/_cXTxUxhDWm7abAQTjTH3bI3MAKj8xQmmDzxxLEEySSdZUh?id=pl2L8Zw9&pid=R6cU[…]" sent_bytes="1408" rcvd_bytes="0" elapsed_time="0.001722 sec(s)" app_id="9" app_cat_id="11" reputation="-1" geo_dst="USA" Traffic
2016-12-22 08:26:05 Allow 10.0.100.6 52.222.231.45 https/tcp 54386 443 1-Trusted 0-External ProxyInspect: HTTPS domain name match (HTTPS-proxy STRICT-00) HTTPS-Client.Standard.1 proc_id="https-proxy" rc="592" msg_id="2CFF-0003" proxy_act="HTTPS-Client.Standard.1" rule_name="Default" sni="" cn="*.awsstatic.com" ipaddress="52.222.231.45" geo_dst="USA" Traffic
2016-12-22 08:26:05 Deny 10.0.100.6 52.222.231.45 https/tcp 54386 443 1-Trusted 0-External ProxyDeny: HTTP App match (HTTPS-proxy STRICT-00) HTTP-Client.Standard.1 proc_id="http-proxy" rc="595" msg_id="1AFF-002E" proxy_act="HTTP-Client.Standard.1" app_cat_name="Tunnelling and proxy services" app_cat_id="11" app_name="Wujie/UltraSurf" app_id="9" app_beh_name="authority" app_beh_id="1" geo_dst="USA" Traffic
Conclusión
Este ejemplo de configuración muestra por qué es importante configurar una combinación de políticas y servicios para proteger completamente su red.
Para bloquear Ultrasurf y aplicaciones evasivas similares, necesita:
- WebBlocker para evitar conexiones al sitio proxy donde los usuarios descargan la aplicación
- Application Control para detectar el uso de la aplicación si está instalada en un cliente de red
- Proxis y políticas web bien configurados para inspeccionar todo el tráfico
Puede aplicar el mismo tipo de estrategias de configuración para proteger contra el malware avanzado y otras aplicaciones evasivas. Para ello, configuraría otros servicios de seguridad, como APT Blocker, RED e IPS. El monitoreo regular de los mensajes de registro y los informes puede ayudarlo a identificar nuevas amenazas para que pueda actualizar la configuración a medida que evolucionan las amenazas y los comportamientos de las aplicaciones.