Ce tutoriel explique comment obtenir un accès complet à internet depuis un site sécurisé par un Proxy en utilisant son PC comme serveur Proxy.
Cas concret : Vous souhaitez accéder à plusieurs serveurs en VNC (port 5901) or la plupart des sites où vous intervenez protègent l'accès à internet par un proxy.
Si l'entreprise laisse passer le HTTP/HTTPS (si on peut utiliser les sites marchands, c'est le cas), il est en général possible de se connecter chez soi en SSH (donc quasiment tout utiliser à travers des tunnels SSH: VNC en particulier) même si le proxy/firewall l'empêche.
Au niveau du serveur SSH chez soi, dans le pire des cas, il faudra juste ajouter un port d'écoute supplémentaire pour le sshd: Le port 443 du HTTPS.
Le principe est simple :
Installer proxytunnel directement de sa source : http://proxytunnel.sourceforge.net/download.php
Télécharger le linux-x86 binary et le copier dans « /home/$USER/.ssh » (remplacer $USER
par son nom d'utilisateur).
Vérifier qu'il a bien l'attribut +x (execution), sinon faire : chmod u+x proxytunnel-i386-linux
Créer (s'il n'existe pas) un fichier /home/username/.ssh/config et y placer la ligne d'appel de proxytunnel:
# Remplacer ce nom par son domaine dyndns maison ou IP (si fixe) host mon_domaine.net # Remplacer "nom_du_proxy:port_proxy" par ce qui est utilisé dans l'entreprise: # voir config de firefox/IE, ou directement le fichier de config auto du proxy... # Si pas d'authentification auprès du proxy, virer les -u -s et les username/passwd. # Sinon, mettre les bons (attention a ne pas laisser les droits +r aux autres utilisateurs, qui pourraient lire votre MDP d'accès au proxy internet!). ProxyCommand /home/username/.ssh/proxytunnel-i386-linux -p nom_du_proxy:port_proxy -u username -s user_internet_passwd -d mon_domaine.net:443 -v
On utilise Putty pour créer une connexion SSH. La version portable de Putty est très pratique, car on peut la mettre sur une clé USB : Portable Putty
Éditez le fichier .putty\sessions\masession (sous Windows avec portablePuTTY ça se trouve dans (répertoireframakey)\Apps\PortablePuTTY\.putty\sessions ) :
Protocol=ssh PortNumber=443 // Activation du keep alive afin d’éviter d’être déconnecté PingIntervalSecs=30 TCPNoDelay=1 // Configuration du proxy (proxy http) ProxyMethod=3 ProxyHost=Proxy ProxyPort=3128 ProxyUsername=login ProxyPassword=XXXX // redirection de ports LocalPortAcceptAll=1 RemotePortAcceptAll=1 PortForwardings=D6588,
Pour Windows, dans le cas de l'utilisation de Putty, les informations sont à spécifier dans l'onglet de gauche. N'oubliez pas de sauvegarder la session.
Configurer le navigateur (Firefox : Outils → Options → Avancé → Réseau → Paramètres ; IE : Outils → Options Internet → Connexions → Paramètres réseau) :
Installez le paquet ssh. Éditez le fichier /etc/ssh/sshd_config afin d'ajouter "Port 443" en dessous du classique port d'écoute 22 du daemon sshd.
La plupart des Box internet permettent de configurer la redirection des ports. Mais pas le routeur linksys
Possibilité de faire du VNC chez soi sous tunnel SSH crypté en redirigeant classiquement les ports 59XX avec l'option -L de la ligne de commande ssh. Voir les tutoriels/posts forum à ce sujet (ou le man ssh), résumé ci après (bureau à distance préalablement activé chez soi en prenant soin de bloquer les accès directs, sans tunnel SSH, niveau firewall: Ne pas ouvrir les ports 59xx!): Dans un 1er terminal:
ssh -L 5901:localhost:5900 -C <user>@<hostname>
Dans un 2e terminal :
vncviewer localhost:1
Possibilité de faire du web en utilisant son PC ubuntu maison: Utiliser l'option -D de ssh, qui transforme le serveur ssh en proxy SOCKS. Ainsi, on peut aller sur Monster sans que son DRH ne puisse être informé par l'admin réseau ;o)
ssh -D 9999 <user>@<hostname>
Et côté navigateur, sous Édition → Préférences → Général → Paramètres de connexion → configurer manuellement un proxy Socks v5 sur le localhost, port 9999 (celui de l'option -D
). Ne pas oublier de retirer le localhost de la ligne « No proxy for: »1), qui bypasserait ce setup !
Et tout ce que peut faire SSH de rigolo, avec les reverse tunnels par exemple :
Si l'on veut se passer du VPN de l'entreprise… Lancer un reverse tunnel ssh chez soi par exemple ! On se connecte ensuite de chez soi via le localhost et en utilisant le numéro de port reverse forwardé avant de partir du travail.
De quoi rendre un admin fou… et sans doute la raison pour laquelle le HTTPS commence à ne plus sortir dans certaines entreprises ?
faire un mix de cette page avec le tuto du forum pour n'avoir qu'une seule page
Contributeurs : manusvs650, yvan78.