Bloquer des Applications Insaisissables
Fichiers de configuration créés avec — Policy Manager v11.12.2
Fichiers de configuration destinés à —
Révision — 7/06/2015
Cas d'Utilisation
Cet exemple illustre la manière d'utiliser les stratégies et les services de sécurité WatchGuard de manière à bloquer efficacement les applications insaisissables. Cet exemple porte sur la manière de bloquer l'utilisation de l'application de proxy Ultrasurf, qui constitue un bon exemple d'application insaisissable. Vous pouvez employer une stratégie similaire pour bloquer d'autres types d'applications insaisissables sur votre réseau.
Cet exemple de configuration fait office de guide de base. Votre environnement réseau peut exiger des paramètres de configuration supplémentaires.
Présentation de la Solution
Cette configuration s'appuie principalement sur Application Control et WebBlocker, mais décrit également la procédure de configuration des stratégies sortantes DNS, HTTP, HTTPS et TCP-UDP. Cet exemple de configuration comprend également certains des messages de journal qui indiquent les actions des stratégies et des services configurés.
Cet exemple de configuration a été testé avec un client réseau Windows 7 protégé par un Firebox exécutant Fireware v11.12.2. Nous avons utilisé Ultrasurf v.16.03.
Fonctionnement
De nombreuses applications d'évitement de proxy emploient le même ensemble de stratégies pour tenter de se connecter à leurs serveurs. Généralement, l'application commence d'abord par envoyer des requêtes DNS pour rechercher un serveur. Elle tente ensuite de se connecter au serveur sur le port HTTP 80 puis HTTPS 443. Certaines applications essaient de créer un tunnel SSL sur le port standard 443 ou un autre port, par exemple le port TCP 53 ou un autre port dynamiquement sélectionné. En cas d'échec de ces opérations, l'application peut essayer de se connecter à des serveurs de sauvegarde situés dans des centres de données populaires et souvent autorisés tels que ceux de Microsoft et d'Amazon Web Services. Une autre stratégie consiste à tenter de télécharger un autre exécutable tandis que l'application continue de tenter de se connecter à un serveur.
Pour détecter ce type d'applications, vous devez configurer les proxies et les paramètres en spécifiant les paramètres appropriés et activer la journalisation pour les rapports. Il est également important de contrôler régulièrement les fichiers de journal et des rapports de manière à suivre les nouvelles tendances d'activité de réseau lorsque des mises à jour de ces applications sont publiées.
Cet exemple de configuration emploie une combinaison de stratégies et de services visant à bloquer les stratégies utilisées par Ultrasurf :
- Stratégies de Proxy — Les stratégies de Proxy examinent toutes les connexions HTTP, HTTPS et DNS sortantes et refusent ou bloquent les connexions ou le contenu susceptible de constituer une menace. Ces stratégies de proxy utilisent également les services configurés et d'autres paramètres de configuration de manière à examiner les connexions et le contenu pour déterminer si la connexion doit être autorisée.
- Application Control — Application Control abandonne les connexions des applications de la catégorie Services de tunnels et proxies et des autres catégories d'applications susceptibles de constituer une menace. Application Control est activé dans toutes les stratégies de navigation sortantes.
- WebBlocker — WebBlocker bloque les connexions aux sites Web de la catégorie évitement de proxy et des autres catégories susceptibles de constituer une menace. La configuration WebBlocker est utilisée par les actions de proxy HTTP et HTTPS.
- Gateway AntiVirus — Les stratégies de proxy sont configurées à analyser le contenu autorisé à la recherche de virus et abandonner la connexion si un virus est détecté.
- Autres Services de Sécurité — Intrusion Prevention, APT Blocker, Botnet Detection et Reputation Enabled Defense sont activés avec les paramètres recommandés de manière à protéger le réseau.
Exemples de Fichiers de Configuration
À titre de référence, nous avons joint un exemple de fichier de configuration à ce document. Le fichier de configuration comprend les paramètres décrits dans cet exemple.
Le fichier de configuration se nomme block_evasive_apps.xml
Pour afficher les détails de configuration de chaque exemple de fichier de configuration, ouvrez-le dans Policy Manager.
Exigences
Cet exemple de configuration présente les exigences suivantes :
- services d'Abonnement WatchGuard, notamment Application Control et WebBlocker
- Pare-feu de WatchGuard filtrant le trafic entre les clients réseau et Internet
Configuration Réseau
Cet exemple de configuration emploie une topologie de réseau de base pour illustrer la manière dont le Firebox filtre l'ensemble du trafic entre les clients du réseau approuvé et l'Internet public. Tous les clients réseau doivent utiliser le Firebox comme passerelle par défaut.
Les interfaces Firebox de cette exemple possèdent les adresses IP suivantes :
- Externe (eth0) : 203.0.113.100/24
- Approuvé (eth1) : 10.0.100.1/24
Explication de la Configuration
Cette section décrit la configuration basée sur l'ordre chronologique des paquets attendus de la part d'applications insaisissables telles qu'Ultrasurf.
Stratégie de Proxy UDP DNS
Les premiers paquets envoyés par l'application insaisissable sont souvent des paquets DNS UDP envoyés sur le port 53. Pour les requêtes DNS non autorisées par la stratégie de proxy DNS, vous pouvez configurer le proxy de manière à Abandonner ou Refuser les requêtes, ou Bloquer leur source. Le moyen le plus sûr et efficace est d'Abandonner les paquets. L'application patiente ainsi avant d'abandonner et d'essayer une autre stratégie, et les ressources du pare-feu sont préservées. Si vous décidez de Bloquer, veuillez noter que cette méthode est très efficace pour bloquer le trafic issu du client lorsqu'il utilise un serveur DNS Public, mais bloque également tout le trafic Internet issu de ce client. Dans un réseau possédant un serveur de domaine interne, l'action Bloquer du proxy DNS peut bloquer l'accès Internet de l'ensemble des utilisateurs du réseau.
Si votre serveur DNS pour le trafic TCP-UDP sur le port 53 autorise le trafic issu de Tout-Approuvé vers Tout-Externe, il peut permettre à l'application de créer un tunnel vers son serveur sur le port TCP 53 et contourner la détection si vous n'avez pas appliqué Application Control à cette stratégie. C'est pourquoi dans cet exemple de configuration, la stratégie DNS sortante autorise les connexions issues de Tout-Approuvé vers l'alias DNS PUBLIC. Cet alias comprend un petit groupe de serveurs DNS publics approuvés. Vous pouvez utiliser une stratégie de filtrage des paquets au lieu d'une stratégie de proxy de manière à définir la destination des paquets DNS autorisés. Vous préservez ainsi les ressources du pare-feu.
Dans cet exemple, cette stratégie de proxy utilise les paramètres par défaut de l'action de proxy DNS-Sortant, à l'exception des modifications suivantes :
- L'action de proxy est configurée en activant les Règles de Noms de Requêtes qui :
- Refusent les connexions au motif de nom de domaine *doubleclick.*
- Annulent les connexions au motif de nom de domaine *ultrasurf.*
Vous pouvez ajouter ici d'autres motifs de nom de domaine correspondant aux autres applications insaisissables que vous souhaitez bloquer.
Configuration d'Application Control
Cet exemple de configuration comprend un profil Application Control nommé STRICT. Afin d'éviter les connexions à Ultrasurf et aux applications similaires, cette action Application Control est configurée de manière à Abandonner les connexions de toutes les applications appartenant à la catégorie Services de tunnels et proxies. Pour une protection plus complète, cette action restreint également les applications des catégories Services multimédia en streaming, Réseaux de pair à pair, Jeux en ligne et Réseaux sociaux. Ces catégories supplémentaires ne sont pas requises pour bloquer Ultrasurf. Les catégories d'applications que vous choisissez dépendent des stratégies de votre société.
Pour refuser les applications inconnues, vous devez définir explicitement les applications autorisées de manière à déclencher l'action Abandonner par défaut si l'application est inconnue.
Afin éviter Ultrasurf et les applications de tunnels et proxies similaires, sélectionnez l'action Abandonner pour les applications appartenant à la catégorie Services de tunnels et proxies dans l'action Application Control. L'action Application Control STRICT s'applique à toutes les stratégies de gestion des connexions sortantes pour la navigation Web.
Configuration WebBlocker
Dans l'exemple de configuration, WebBlocker est activé pour les stratégies de proxy HTTP et HTTPS. Pour bloquer les connexions aux sites d'évitement de proxy connus, WebBlocker bloque la catégorie Evitement de Proxy. Dans cette configuration, WebBlocker bloque également d'autres catégories de sécurité et de productivité, notamment la section Sécurité, la section Protection Etendue ainsi que les catégories Courrier Indésirable Web ou E-mail, Domaines Isolés, Publicité, Magasins Mobiles Non Autorisés, Piratage et Sécurité Informatique. Certains sites et applications de proxies appartiennent à ces catégories.
Cette configuration est paramétrée de manière à Autoriser les connexions à un site si son URL n'est pas catégorisée. Pour renforcer la protection contre les URL inconnues souvent liées aux rançongiciels, vous pouvez sélectionner Refuser pour cette action. Néanmoins, le paramètre Refuser est susceptible de déclencher des faux positifs si les fournisseurs, clients et partenaires locaux de votre société possèdent des sites Web non catégorisés par WebBlocker. Si vous utilisez l'action Refuser pour les URL non catégorisées, certains sites devant être autorisés risquent d'être bloqués. Dans ce cas, vous pouvez ajouter les exceptions WebBlocker correspondant à ces sites et les soumettre à autorisation dans la section WebBlocker du Portail de Sécurité WatchGuard.
Configuration du Proxy HTTP
Le Proxy HTTP est configuré avec des paramètres stricts et sécurisés. L'action de proxy HTTP est configurée avec l'action Analyse AV pour tous les Chemins URL, Types de contenu et Types de Contenus du Corps autorisés.
Les paramètres des Types de Contenus du Corps refusent également le téléchargement de fichiers exécutables, dll et CAB, à moins de provenir d'un site configuré comme exception tel que *.windowsupdate.com. Ce paramétrage empêche spécifiquement l'application de proxy de télécharger et d'installer d'autres fichiers exécutables susceptibles d'atteindre leur destination lorsqu'elle tente pour la première fois de contourner le proxy HTTP en vain. Il s'agit en outre du moyen le plus simple d'empêcher de manière générale le téléchargement de programmes malveillants.
Configuration du Proxy HTTPS
Le Proxy HTTPS est configuré avec l'Inspection de Contenu activée et emploie la même action de proxy HTTP que la stratégie de proxy HTTP de manière à analyser et filtrer le contenu.
Le proxy HTTPS est configuré de manière à inspecter les connexions de tous les domaines par défaut afin de bloquer les connexions au nom de domaine complet « ultrasurf.* » et autoriser les connexions à *.watchguard.com et aux autres domaines requis par les produits WatchGuard.
La méthode la plus efficace pour détecter l'application, quelle que soit sa destination, est d'inspecter les connexions à tous les domaines.
Après avoir vérifié les rapports et les messages de journal de votre serveur Log server, Report Server ou Dimension, vous déciderez parfois d'inspecter uniquement certaines catégories susceptibles de constituer un risque téléchargement de programme malveillant, une fuite de données ou représentant un facteur clé de contrôle de la productivité (Jeux Facebook, Applications Facebook, etc.).
Configuration du Proxy TCP-UDP
Afin de protéger votre réseau, nous vous recommandons de configurer des stratégies de manière à autoriser le trafic sortant sur une liste de ports sortants à partir de certaines sources et destination. Si possible, évitez l'alias Tout-Externe ou Tout comme destination dans les stratégies. Si vous n'avez pas encore déterminé les ports et les destinations du trafic que vous souhaitez autoriser, vous pouvez utiliser le Proxy TCP-UDP de manière à autoriser et inspecter le trafic TCP et UDP vers les destinations externes. Dans l'action de proxy HTTP, vous pouvez autoriser HTTP et HTTPS et refuser les protocoles inutiles.
Les applications insaisissables et les programmes malveillants emploient souvent une stratégie consistant à utiliser le chiffrement SSL sur un port dynamique ou non standard de manière à contourner le pare-feu. Ce trafic éviterait les proxies DNS, HTTP et HTTPS précédemment décrits, car ces stratégies gèrent uniquement le trafic sur les ports 53, 80 et 443.
La stratégie de proxy TCP-UDP gère le trafic TCP et UDP sur n'importe quel port et s'applique donc aux connexions sur les ports non standard.
Dans cet exemple de configuration, l'action de proxy TCP-UDP autorise les connexions HTTP et HTTPS, et emploie des actions de proxy identiques à celles des stratégies de proxy HTTP et HTTPS de manière à inspecter le trafic. Cette action de proxy refuse tous les protocoles différents d'HTTP et HTTPS.
Test de Configuration
Pour tester l'efficacité de cette configuration contre Ultrasurf, nous avons lancé Ultrasurf sur un client du réseau approuvé et capturé les messages de journal ci-dessous. Pour tester cette configuration, nous avons effectué les étapes suivantes :
- Suppression du cache DNS du client Windows grâce à la commande ipconfig /flushdns.
- Tentative d'accès à ultrasurf.us depuis le réseau approuvé.
- Lancement du client Ultrasurf sur le réseau approuvé.
Cette séquence de messages de journal a été capturée avec Traffic Monitor.
Le message de journal indique que le proxy DNS a refusé une requête DNS en raison de son nom de domaine :
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 utilisateur trouve une autre manière d'installer le client Ultrasurf, par exemple à partir d'une clé USB ou d'une autre source, une série de tentatives similaires peut avoir lieu après l'avoir exécuté pour la première fois. Voici un exemple du message de journal indiquant que la fonctionnalité d'inspection de contenu du proxy HTTPS a détecté et refusé du trafic HTTP non valide :
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
Une minute plus tard, le Proxy HTTPS refuse une connexion, car Application Control a détecté qu'Ultrasurf était utilisé. Le message de journal indique la catégorie, le nom et le comportement de l'application :
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 moment plus tard, le même proxy détecte et autorise des connexions vers un autre serveur en nuage valide hébergé par les centres de données d'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
Le proxy détecte et empêche cependant l'utilisation d'Ultrasurf vers cette destination. Nous pouvez le vérifier, car les mêmes ports d'origine et de destination sont utilisés dans les deux messages de journal :
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
Lorsque la connexion au centre de données d'Amazon échoue, les messages de journal suivants s'affichent lorsque le client Ultrasurf tente de se connecter à d'autres serveurs Ultrasurf hébergés dans d'autres centres de données :
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
Le client Ultrasurf continue de tenter de se connecter.
Ces messages correspondent aux connexions du client Ultrasurf à Azure et AWS. Application Control de l'action de proxy refuse les connexions du client Ultrasurf, même lorsque la destination est autorisé.
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
Conclusion
Cet exemple de configuration illustre pourquoi il est important de configurer une combinaison de stratégies et de services permettant de protéger entièrement votre réseau.
Afin de bloquer Ultrasurf et ce type d'applications insaisissables, vous avez besoin des éléments suivants :
- WebBlocker de manière à empêcher les connexions au site de proxy depuis lequel les utilisateurs téléchargent l'application
- Application Control de manière à détecter l'utilisation de l'application si elle est installée sur un client réseau
- Stratégies et proxies Web correctement configurés de manière à inspecter l'ensemble du trafic
Vous pouvez appliquer le même type de stratégies de configuration de manière à vous protéger contre les programmes malveillants et les autres applications insaisissables. Pour ce faire, il est nécessaire de configurer d'autres services de sécurité tels qu'APT Blocker, RED et IPS. La surveillance régulière des messages de journal et des rapports peut vous aider à identifier de nouvelles menaces de manière à mettre à jour la configuration au fil de l'évolution du comportement des menaces et des applications.