Proxy Socks
Derrière le terme SOCKS se cache un protocole internet qui correspond à un certain type de serveur Proxy. Par défaut les proxys SOCKS écoutent sur le port 1080. Ils peuvent aussi écouter sur d'autres ports. La principale différence entre un proxy HTTP et un proxy SOCKS est qu'un proxy SOCKS ne sert pas seulement à naviguer sur le Web mais aussi à utiliser d'autres applications comme les jeux vidéo, les logiciels de transferts de fichiers ou de messageries instantanée. Comme le VPN, ils utilisent un tunnel sécurisé.
Les principales versions de SOCKS sont 4, 4a et 5. La version 4 nécessite une adresse IP pour établir la connexion, ce qui veut dire que la résolution DNS doit être effectuée par le client. Ce prérequis ne permet pas de satisfaire la majorité des besoins de contournement de la censure. La version 4a utilise en général les noms d'hôtes. La version 5 introduit de nouvelles technologies comme l'authentification, le support des protocoles UDP et IPv6 mais utilise massivement les adresses IP ce qui en fait une solution imparfaite : Voir la section « fuites DNS » à la fin de ce chapitre.
Une grande variété de logiciels peut bénéficier des avantages des proxys SOCKS pour contourner les filtres ou toute autre restriction affectant les navigateurs comme un logiciel basé sur Internet, la messagerie et la messagerie instantanée.
Malgré l'existence de proxy SOCKS publics, un proxy SOCKS tourne en général localement sur la machine sous la forme d'un logiciel. Les tunnels SOCKS sont très flexibles, de nombreux logiciels utilisés pour contourner la censure créent un proxy localement, en utilisant le nom de machine « localhost » ou l'adresse IP locale lui étant associée : 127.0.0.1. Ce proxy local permet aux applications comme un navigateur Web de bénéficier des avantages d'un logiciel de contournement de la censure. Par exemple des outils comme Tor, Your-freedom et les tunnels SSH mis en place avec PuTTY utilisent ce principe.
Un T-Shirt pour les amateurs de proxy locaux (vous en voulez un ?)
Pour utiliser une application avec un proxy et contourner la censure, vous devez la paramétrer pour qu'elle utilise ce proxy pour communiquer avec les autres systèmes connectés à Internet.
Certaines applications ne supportent pas le fonctionnement au travers d'un proxy car leurs développeurs n'ont pas ajouté le support de communication via proxy. Beaucoup d'applications peuvent toutefois fonctionner avec un proxy SOCKS en utilisant le logiciel socksifier. Quelques logiciels fonctionnant avec socksifier :
- tsocks (http://tsocks.sourceforge.net Unix/Linux
- WideCap (http://www.widecap.com) sur Windows
- ProxyCap (http://www.proxycap.com) sur Windows
Configurer vos applications
Configurer une application pour utiliser un proxy SOCKS ressemble beaucoup à la configurer pour l'utilisation d'un proxy HTTP. Les applications supportant les proxys SOCKS disposent d'un champ ou d'une fenêtre différente que celui réservé au proxy HTTP. Certaines applications vous demanderont de choisir la version du proxy SOCKS à utiliser : soit SOCKS 4 soit SOCKS 5. En général, SOCKS 5 est le meilleur choix. Certains proxys SOCKS ne fonctionnent cependant qu'avec SOCKS 4.
Certaines applications, comme Mozilla Firefox, autorisent l'utilisation du proxy HTTP et du proxy SOCKS en même temps. Dans ce cas, un navigateur réagissant normalement choisira le proxy HTTP en priorité et réservera le proxy SOCKS pour d'autres types de trafics comme le streaming vidéo.
Mozilla Firefox
Configurer Mozilla Firefox pour utiliser un proxy SOCKS :
- Ouvrir le menu « Outils » puis choisir « Options ».
- La fenêtre des options apparaît :
- Dans la barre d'outils en haut de la fenêtre des options, choisir « Avancé ».
- Cliquer sur l'onglet « Réseau ».
- Cliquer sur le bouton « Paramètres ». La fenêtre de paramètres de connexion apparaît.
- Sélectionner le radiobouton « Configuration manuelle du proxy ». Les champs en dessous de ce radiobouton doivent s'activer.
- Entrez l'adresse du proxy SOCKS, entrer le numéro du port et choisir « SOCKS v5 », puis cliquer sur « OK ».
Maintenant, Firefox est configuré pour utiliser un proxy SOCKS.
Microsoft Internet Explorer
Configurer Internet Explorer pour utiliser un proxy SOCKS :
- Ouvrir le menu « Outils » puis cliquer sur « Options Internet ».
- Internet Explorer affiche la fenêtre des Options Internet.
- Cliquer sur l'onglet « Connexions ».
- Cliquer sur le bouton « Paramètres réseau ». Internet Explorer affiche la fenêtre « Paramètres du réseau local ».
- Cocher la case « Utiliser un serveur proxy pour votre réseau local (ces paramètres ne s'appliquent pas aux connexions d'accès à distance ou VPN) » et cliquer sur « Avancé ». Internet Explorer affiche la fenêtre des Paramètres du poxy.
- Décocher la case « Utiliser le même serveur proxy pour tous les protocoles » si elle est cochée.
- Dans la ligne « Socks », entrer l'adresse du proxy à utiliser le numéro de port à utiliser. Cliquer sur « OK ».
Maintenant, Internet Explorer est configuré pour utiliser un proxy SOCKS.
Configurer un proxy SOCKS pour d'autres applications
Beaucoup d'applications utilisant Internet peuvent utiliser un serveur Proxy pour accéder à Internet et, potentiellement, contourner son blocage. Voici un exemple avec le client de messagerie instantanée Pidgin. Cet exemple est typique mais les étapes pour configurer votre logiciel pour utiliser un proxy SOCKS peuvent différer.
- Ouvrir le menu « Outils », puis cliquer sur « Préférences ».
- Pidgin affiche la fenêtre des préférences.
- Cliquer sur l'onglet « Réseau ».
- En type de Proxy, choisir l'option « SOCKS 5 ». Des champs supplémentaires apparaissent sous cette option.
- Entrer l'adresse du serveur proxy SOCKS et le numéro de port de celui-ci.
- Cliquer sur « Fermer ».
Pidgin est maintenant configuré pour utiliser un proxy SOCKS.
Quand vous avez fini d'utiliser le proxy
Quand vous avez fini d'utiliser le proxy, en particulier si vous utilisiez un ordinateur qui ne vous appartient pas, retourner dans les paramètres de votre logiciel et restaurez les valeurs qui étaient présentes avant votre passage. L'application pourrait continuer à utiliser le serveur proxy, ce qui pose problème si vous ne voulez pas que d'autres personnes sachent que vous avez utilisé un proxy ou si vous utilisiez un logiciel de contournement en local (ce qui empêcherait de faire fonctionner l'application si le logiciel de contournement n'est pas démarré).
Fuites DNS
Certaines applications, supportant le fonctionnement avec un proxy SOCKS peuvent ne pas faire passer systématiquement toutes leurs communications par ce proxy. Par exemple, les requêtes DNS (Domain Name System) peuvent être effectuées sans passer par le proxy. Cela s’appelle une fuite DNS. Cette fuite peut représenter un problème pour la vie privée et peut vous laisser vulnérable à un blocage par DNS alors qu'un proxy est habituellement en mesure de contourner ce type de blocage. Ce genre de vulnérabilité par fuite DNS peut varier pour un logiciel selon les versions. Mozilla Firefox est, par défaut, vulnérable aux fuites DNS avec sa configuration par défaut. Pour éviter cela, il est possible de modifier la configuration de façon permanente pour éviter les fuites DNS:
- Dans la barre d'adresse de Firefox, saisir about:config
comme vous le faites habituellement pour saisir une URL. Vous devez
voir un message d'avertissement vous indiquant que vous allez modifier
la configuration avancée.
- Si nécessaire, cliquer sur « je ferai attention, promis ! » pour confirmer que vous voulez changer les paramètres du navigateur. Le navigateur affiche une liste d'options de configuration.
- Dans le champ « Filtre », entrez « network.proxy.socks_remote_dns ». Seule cette option est affichée.
- Si ce paramètre est à la valeur false, effectuer un double clic sur le paramètre. La valeur doit passer à true. Firefox est maintenant configuré pour prévenir les fuites DNS. Une fois ce paramètre affiché avec une valeur à true, la configuration est automatiquement sauvegardée.
Il n'y a pas de documentation disponible pour prévenir des fuites DNS avec Microsoft Internet Explorer sans utiliser un programme tiers.
Au moment de la rédaction de ce guide, il n'y a aucune fuite DNS pour le logiciel Pidgin lorsqu'il est configuré pour utiliser un proxy SOCKS 5.