philippewang.info

Proxy SOCKS avec SSH

La création et l'utilisation d'un serveur mandataire (communément appelé proxy) peuvent être motivées par des raisons diverses et variées. Commençons par les motivations.

Premier scénario : Vous avez une machine A dont les accès sont bridées : vous n'avez pas accès à certains sites alors que vous auriez bien voulu pouvoir y accéder. Il suffit de passer par une machine B qui a accès au site pour qu'il renvoie l'information. Cela est possible si les machines se trouvant entre A et B ne filtrent pas les données !

Premier scénario bis : Vous enviez la connexion que vous avez à votre lieu de travail car elle vous permet de télécharger des fichiers que vous ne pouvez pas télécharger de chez vous sans payer.

Second scénario : vous avez une connexion autorisant un débit descendant de, disons, 2MB/s. Hors vous téléchargez souvent à un débit bien moindre (disons souvent 10 fois plus faible) alors que le serveur serait capable de vous fournir les données bien plus rapidement si vous aviez une autre connexion. Ce genre de choses peuvent être constatées lorsque d'un même site vous téléchargez un fichier à une vitesse V à partir de la connexion de votre lieux de travail, et que chez vous, malgré votre débit maximal d'environ V, vous téléchargez à V/10. Dans ce cas, si vous avez une connexion avec un bon débit d'environ V entre chez vous et votre lieu de travail, vous pouvez vouloir utiliser un ordinateur de votre lieu de travail comme proxy afin d'accélérer les téléchargements. En quelques sortes, vous voulez optimiser le routage internet entre chez vous et le serveur distant.

Troisième scénario : vous avez besoin de passer par soit un proxy soit une passerelle pour les protocoles non prévus par les administrateurs. Par exemple, ils n'ont prévu que HTTP par le proxy et SSH par la passerelle et vous n'arrivez pas à utiliser les protocoles SMTP et POP par exemple.

Solution : utiliser un proxy SOCKS à l'aide de SSH. Ce qui est nécessaire : la machine cliente doit pouvoir se connecter en SSH sur une machine distante ayant les privilèges désirés.
ssh -D portlocal serveurdistant
Ensuite, configurez vos logiciels pour qu'ils utilisent le serveur proxy SOCKS ainsi créé. Serveur SOCKS : localhost (et non pas serveurdistant). Port : portlocal choisi.

Ce qui peut rendre les choses plus difficiles est de ne pas avoir de client ssh. Si le serveur distant n'est pas accessible via ssh, c'est que c'est une mauvaise cible, sinon c'est que vous pouvez installer un serveur ssh dessus. D'autre part, s'il n'est pas possible d'accéder au serveur distant directement ou s'il n'est pas possible de sortir directement, ou encore les deux contraintes à la fois, il est toujours possible de configurer son ~/.ssh/config afin de pouvoir accéder à la machine distante en une seule commande.

IMPORTANT : ne mettez pas la sécurité de votre réseau en péril en faisant n'importe quoi avec SSH. SSH permet d'établir des connexions sécurisées seulement si on n'introduit pas des failles par des mauvaises utilisations. D'autre part, si vous contournez les règles de sécurité de votre entreprise ou laboratoire, vous vous exposez aux colères de vos administrateurs systèmes, et peut-être même à des sanctions. En tout cas, vous êtes entièrement responsable de ce que vous faîtes. Si vous voulez en savoir d'avantage sur SSH, vous pouvez consulter les ressources suivantes : Et les moteurs de recherche peuvent vous donner plein d'autres ressources...
2007-07-27

:: philippewang.info ::

:: design & photos by Philippe Wang :: XHTML 1.1 :: CSS 2 :: RSS 2 :: stats :: contact ::
:: Best viewed with Safari or Opera or Firefox or Links :: No SPAM Please ::
 
This page was generated on Thu Mar 20 19:41:04 GMT 2014 by BashGXD