autossh & tsocks – Tunnel socks permanent

Le but va être de créer un tunnel socks permanent s’appuyant sur un serveur ssh.

En préalable créer une clef ssh sans passphrase et déployez la sur le serveur. Comment faire?

$ sudo aptitude install tsocks autossh

Voici mon fichier de configuration tsocks :

$ grep -E -v '^(#|$)'  /etc/tsocks.conf
local = 192.168.0.0/255.255.255.0
server = 127.0.0.1
server_type = 5
server_port = 8080

Pour tester votre tunnel :

$ autossh -f -N -D localhost:8080 utilisteurDistant@serveurDistant -p portDuServeurSSH

$ netstat -pnat | grep 8080
tcp        0      0 127.0.0.1:8080          127.0.0.1:32977         ESTABLISHED 2552/ssh
tcp6       0      0 ::1:8080                :::*                    LISTEN      2552/ssh

$ # Tuer le tunnel :

$ killall autossh 

Pour que le tunnel monte à tous les démarages. ajouter cet ligne dans le fichier /etc/rc.local (juste avant le exit)

su - utilisateurLocal -c "/usr/bin/autossh -f -N -D localhost:8080 utilisteurDistant@serveurDistant -p portDuServeurSSH"

Si tout s’est bien passé vous pouvez a présent paramétrer vos applications avec le proxy socks ou les lancers avec la commande tsocks :

$ tsocks firefox "http://monip.org" &

$ tsocks lastfm &

$ tsocks rtorrent 

Serveur proxy Squid3 avec SSL (rebuild debian squeeze package)

Le paquet Debian pour squid3 n’a pas été compiler avec l’option « –enable-ssl » il va donc falloir recompiler le paquet avec cet option.

# Installation des outils de compilations
apt-get install devscripts build-essential fakeroot libssl-dev
# Déplacement dans l'environnement de travail
cd /usr/src
# Téléchargement des sources
apt-get source squid3
# Installation des dépendances pour la compilation
apt-get build-dep squid3
# Édition des règles de compilations
cd /usr/src/squid3-3.*
# Ajouter dans "--enable-ssl \" dans le fichier rules
vi debian/rules
# Compilation
./configure
debuild -us -uc -b
# Installation des paquets :
cd ..
dpkg -i  squid3_*.deb squid3-common_*.deb

Générer le certificat

Pour le SSL il nous faut un certificat

mkdir /etc/squid3/ssl
cd /etc/squid3/ssl
openssl genrsa -des3 -out privkey.pem 204
openssl req -new -x509 -nodes -key privkey.pem -out cacert.pem -days 3650
# Retirer la passphrase
openssl rsa -in privkey.pem -out privkey_noPwd.pem

Configuration de squid

Modification du fichier /etc/squid3/squid.conf

[...]
https_port 3130 [...] cert=/etc/squid3/ssl/cacert.pem key=/etc/squid3/ssl/privkey_noPwd.pem
[...]

Edit : De Bourseguin : omission de libssl-dev