Page suivante > Accueil > Sécurité > SSH over HTTP - Comment passer un proxy d'entreprise






SSH over HTTP : comment passer un proxy d'entreprise


(Cliquez sur une image pour l'agrandir.)
Chercher :    
PROBLÉMATIQUE
Vous travailler dans votre entreprise et voulez accèder à un de vos serveur, web par exemple, installé sur le port 8080, en local chez vous, sur votre PC. Or votre entreprise filtre tous les accès Internet via un proxy qui est malheureusement très restrictif : impossible d'accèder à votre serveur !!!

Hypothèses : votre serveur côté maison est sous Linux Debian/Ubuntu, votre client côté entreprise est sous XP.

SOLUTION
La solution ? faire du "SSH over HTTP" qui va vous permettre de passer ce vilain :) proxy d'entreprise en utilisant le port Web standard 80, qui lui est bien entendu autorisé par le proxy (à moins bien sûr que votre entreprise vous empêche tout accès au Web, même sur le port 80).

Les logicels nécessaires sont :
A FAIRE CÔTÉ MAISON
(1) Installer un serveur SSH sur le port 22 puis le démarrer (cf. nos différentes rubriques sur SSH si nécessaire).
S'assurer ensuite que la connexion SSH fonctionne en local chez vous, avec le login/mot de passe d'un de vos utilisateurs, pour éviter tout soucis ultérieur (il faut être sûr que SSH fonctionne si on veut faire du SSH over HTTP :) ).

(2) Installer Httptunnel (seule la partie serveur va être utilisée) par un "apt-get install httptunnel" et faire en sorte qu'il se lance automatiquement au démarrage de votre serveur par un bon vieux script des familles dans le répertoire /etc/init.d/.. (cf. doc Linux sur le Net si vous ne savez pas le faire).
Httptunnel doit écouter sur le port 80 et tout rediriger vers le port 22 du serveur SSH, donc le script doit contenir la commande suivante :
/usr/bin/hts -M 60000 -S --max-connection-age 20000 -F localhost:22 80

Remarque : rappelons que sur notre serveur "côté maison" nous avons également un serveur web sur le port 8080, celui que nous allons utiliser pour illustrer un exemple de port forwarding via SSH over http

(3) Lancer le script de démarrage du serveur Httptunnel
=> Le serveur Httptunnel est désormais à l'écoute d'une connection cliente afin d'établir un tunnel.

A FAIRE CÔTÉ ENTREPRISE
(1) Installer Httptunnel sous XP (seule la partie cliente va être utilisée) et faire un script (.bat par exemple) pour pouvoir le lancer à convenance. Ce script doit contenir la commande suivante :
htc -D 4 -A "login-authentification-proxy":"pasword-authentification-proxy" -P adresse-ip-proxy:port-proxy -F 22 --max-connection-age 2000 adresse-ip-serveur-maison:80

Remarque : bien entendu le proxy mentionné est le proxy de l'entreprise.

(2) Lancer le script de démarrage du client httptunnel
=> La connection Httptunnel est établie, cela signifie que le proxy d'entreprise est passé, un tunnel a été créé entre votre poste client "côté entreprise" et votre serveur "côté maison".
=> Désormais ce tunnel va être utilisé pour effectuer une connection SSH standard via le logiciel Putty par exemple.

(3) Installer Putty et créer sous Putty une session SSH selon les copies d'écrans suivantes :
Cliquez pour agrandir l'image Cliquez pour agrandir l'image   Cliquez pour agrandir l'image   Cliquez pour agrandir l'image   Cliquez pour agrandir l'image

Remarque : on fait dans notre exemple juste un port forwarding du port 8080 directement sous putty (pour rappel 8080 est le port du serveur web de notre exemple installé "côté maison"). Bien entendu vous pouvez ajouter autant de port forwarding que vous voulez pour accèder à d'autres serveurs installés chez vous (par ex: serveur de mail...)

(4) Lancer la session SSH de Putty par un double clic sur le nom de session, saisir le mot de passe
=> on se connecte en SSH "côté maison".

(5) Lancer un browser internet tel que Firefox et saisir l'url d'accès à au serveur Web, côté maison, soit http://localhost:8080
=> si toutes les opérations précédentes ont été réalisées cela doit fonctionner !!!.

CONCLUSION
Voilà, le logiciel Httptunnel nous a permis de passer un proxy d'entreprise, et la fonctionnalité de port forwarding de SSH d'accèder à un serveur, Web dans notre exemple, installé en dehors de l'entreprise. Le tout combiné illustre un exemple de Port Forwarding SSH over HTTP.

Bien entendu cet exemple est adaptable, que ce soit du côté client ou serveur, à toute plateforme quelle soit Linux/Windows/BSD/Mac...

(Double-cliquer pour revenir en haut de la page)

Copyright 2008 © Envoyer un mail à Pariscyber