• # Proxytunnel

    Posté par . En réponse au journal Accéder à son PC à la maison quand on est derrière un proxy. Évalué à 8.

    Dans certaines entreprises il n'y a carrément pas de routes ip vers internet. Dans ce cas tout passe par le proxy et c'est lui qui route http/https, et ouvrir un sshd sur le port 443 ne fonctionnera pas.

    C'est pour ça que dieu a inventé proxytunnel (http://proxytunnel.sourceforge.net/) : ça permet (entre autre) de faire du ssh over https (mais on doit aussi pouvoir faire du vpn over https). Résultat on a notre connexion ssh, et sur le réseau il ne passe que du https, donc on ne voit pas que c'est du ssh encapsulé.

    En plus proxytunnel ne tourne que côté client.

    La conf ssh:

    ProxyCommand proxytunnel -X ip_proxy_entreprise:port -r ip_serveur_perso:443 -d %h:%p -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"


    À personnaliser avec le user-agent du navigateur habituel au boulot pour rendre définitivement méconnaissable les données qui transitent.


    Côté serveur il suffit d'avoir un proxy https quelconque qui redirige le trafic vers le démon ssh, et le tour est joué. Par exemple un serveur apache qui tourne déjà sur le port 443 fera très bien l'affaire (il faudra juste bien régler les permissions sur le mod_proxy pour ne pas faire open proxy).

    Au final les données passent par le proxy entreprise, puis le proxy sur le serveur personnel, puis vers le démon ssh.


    Un howto bien pratique, avec la config client openssh/putty et serveur apache :
    http://dag.wieers.com/howto/ssh-http-tunneling/


    Attention : pour que ça fonctionne avec apache il faut soit une version trunk, soit appliquer un patch (voir https://issues.apache.org/bugzilla/show_bug.cgi?id=29744 ).