Introduction
Ce document décrit comment empêcher l'appareil de sécurité Web (WSA) d'être un proxy ouvert.
Environnement
Cisco WSA, toutes les versions d'AsyncOS
Il y a deux domaines où le WSA peut être considéré comme un proxy ouvert :
- Les clients HTTP qui ne résident pas sur votre réseau peuvent passer par proxy.
- Les clients qui utilisent des requêtes HTTP CONNECT pour tunnelliser le trafic non-HTTP.
Chacun de ces scénarios a des implications complètement différentes et sera traité plus en détail dans les sections suivantes.
Les clients HTTP qui ne résident pas sur votre réseau peuvent utiliser le proxy via
Par défaut, l'appareil de sécurité Web envoie par proxy toute requête HTTP qui lui est envoyée. Cela suppose que la requête se trouve sur le port sur lequel le WSA écoute (les valeurs par défaut sont 80 et 3128). Cela peut poser un problème, car vous ne souhaitez peut-être pas qu'un client d'un réseau puisse utiliser le WSA. Cela peut être un problème important si le WSA utilise une adresse IP publique et est accessible à partir d'Internet.
Il existe deux façons d'y remédier :
- Utilisez un pare-feu en amont du WSA afin de bloquer les sources non autorisées de l'accès HTTP.
- Créez des groupes de stratégies pour autoriser uniquement les clients sur les sous-réseaux souhaités. Voici une simple démonstration de cette politique :
Groupe de stratégies 1 : S’applique au sous-réseau 10.0.0.0/8 (il s’agit probablement de votre réseau client). Ajoutez les actions souhaitées.
Stratégie par défaut : Bloquer tous les protocoles : HTTP, HTTPS, FTP sur HTTP
Des stratégies plus détaillées peuvent être créées au-dessus du groupe de stratégies 1. Tant que d'autres règles ne s'appliquent qu'aux sous-réseaux clients appropriés, tout autre trafic interceptera la règle « Tout refuser » en bas.
Clients qui utilisent des requêtes HTTP CONNECT pour tunnelliser le trafic non-HTTP via
Les requêtes HTTP CONNECT sont utilisées pour tunnelliser des données non-HTTP via un proxy HTTP. L'utilisation la plus courante d'une requête HTTP CONNECT est de créer un tunnel pour le trafic HTTPS. Pour qu'un client configuré explicitement puisse accéder à un site HTTPS, il DOIT d'abord envoyer une requête HTTP CONNECT à l'appareil de sécurité Web.
Voici un exemple de requête CONNECT : CONNECT http://www.website.com:443/ HTTP/1.1
Cela indique à l'appareil de sécurité Web que le client souhaite effectuer un tunnel à travers l'appareil de sécurité Web vers http://www.website.com/ sur le port 443.
Les requêtes HTTP CONNECT peuvent être utilisées pour créer un tunnel sur n'importe quel port. En raison de problèmes de sécurité potentiels, le WSA autorise uniquement les requêtes CONNECT à ces ports par défaut :
20, 21, 443, 563, 8443, 8080
S'il est nécessaire d'ajouter des ports de tunnel CONNECT supplémentaires, pour des raisons de sécurité, il est recommandé de les ajouter dans un groupe de stratégies supplémentaire qui s'applique uniquement aux sous-réseaux IP clients qui ont besoin de cet accès supplémentaire. Les ports CONNECT autorisés se trouvent dans chaque groupe de stratégies, sous Applications > Protocol Controls.
Un exemple de requête SMTP envoyée via un proxy ouvert est illustré ici :
myhost$ telnet proxy.mydomain.com 80
Trying xxx.xxx.xxx.xxx...
Connected to proxy.mydomain.com.
Escape character is '^]'.
CONNECT smtp.foreigndomain.com:25 HTTP/1.1
Host: smtp.foreigndomain.com
HTTP/1.0 200 Connection established
220 smtp.foreigndomain.com ESMTP
HELO test
250 smtp.foreigndomain.com