Au détour d'un tweet d'Arthur Lutz 1 j'ai découvert un outil fort pratique que tout bon admin/sys devrait mettre dans sa boîte à outil pour contrer les firewall ; sslh 2 un multiplexer ssl/ssh. Le principe de sslh est d'être à l'écoute sur un port TCP et de rediriger le traffic suivant le protocole client qui se connectera sur le port idoine. Le cas pratique le plus courant sera de mettre sslh à l'écoute sur le port HTTPS (443) et de le configurer pour rediriger le HTTPS et SSH. On voit tout de suite l'intérêt d'une telle configuration, on pourra se connecter en ssh sur la machine par le port 443 qui n'est que très rarement filtré par les firewall restrictif.

sslh est présent dans sa dernière version stable (1.13) dans Debian/Wheezy 3, sa configuration se fait dans /etc/default/sslh par la définition des options, la configuration par défaut est :

DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"

Par défaut sslh est en écoute sur le port 443 et gère ssh et https. Dans sa mise en place on prendra soin au préalable de faire écouter sshd et apache sur le loopback avant de démarrer sslh.

Il reste à dire que sslh gère également OpenVpn, XMPP, HTTP, tinc et tous les protocoles qui peuvent être détecté au moyen d'un regexp.

1. https://twitter.com/arthurlutz/status/246167110705897472

2. http://www.rutschle.net/tech/sslh.shtml

3. http://packages.debian.org/wheezy/sslh