TIP Contourner filtrage

Un article de Gentoo Linux Wiki.

Cet article fait partie des Trucs et Astuces.

Terminaux / Shells CD Live X Portage Système Systèmes de fichier Autres


Sommaire

[modifier] Introduction

Le but est de contourner un filtrage sur une proxy en créant un tunnel SSH par le port 443.


[modifier] Configuration

Pour pouvoir se connecter en SSH à notre serveur distant, il faut utiliser corkscrew :

echo "net-misc/corkscrew" >> /etc/portage/package.keywords
emerge net-misc/corkscrew

Si le port 22 est bloqué par votre proxy (ce qui est certainement le cas), modifiez '/etc/ssh/sshd_config' en ajoutant le port 443

Port 22,443

Dans ~/.ssh créez le fichier 'config' avec ceci :

ProxyCommand /usr/bin/corkscrew 10.0.0.1 3128 %h %p ~/.ssh/myauth

(Remplacez 10.0.0.1 et 3128 par l'IP de votre proxy et son port)

Dans '~/.ssh/myauth' :

nomutilisateur:motdepasse

Sur le serveur distant installez Squid en autorisant qu'un accés local

[modifier] Lancement

Pour lancer le tunnel :

ssh -L 4443:localhost:3128 ipdistante -p 443

(Remplacez 4443 par le port du nouveau proxy que vous voulez et ipdistante par l'adresse de votre serveur distant)


[modifier] Utilisation

Ajoutez ipdistante:4443 dans vos appplications

[modifier] Autre méthode

Il est possible d'utiliser directement le tunnel SSH pour contourner un proxy en créant une sorte de SOCK. Le Principe est d'avoir un serveur SSH fonctionant en dehors du réseau "sécurisé" et écoutant sur un port non filtré par le pare-feu. Lorsque vous avez determiné un port non filtré, vous devez modifier le fichier sshd_config de votre serveur SSH distant pour qu'il écoute sur ce port (voir section "Configuration"). Ensuite il faut se connecter à ce serveur en ouvrant un port local pour le sock. Dans notre exemple nous utiliseront comme port local le port 4242 et le port 443 comme port de connexion au serveur SSH.

ssh -D 4242 user@host -p 443

Lorsque vous êtes connecté, il suffit de configurer vos applications pour qu'elles se connectent à un proxy SOCK5 en utilisant l'adresse 127.0.0.1 et le port 4242. Pour Firefox, cette configuration se fait dans les paramètres de connexion. Lorsque votre application sera configurée, tout le trafic de celle-ci sera chiffré.

Pour les programmes qui n'ont pas de parametrage SOCKS, tels portage, on pourra utiliser tsocks:

emerge tsocks

puis configurer le fichier /etc/socks/tsocks.conf comme ceci:

server = 127.0.0.1
server_port = 4242 (ou celui que vous aurez choisi)
server_type = 5

Pour lancer vos applications, il suffira de preceder la commande par tsocks:

tsocks emerge --sync