SSHuttle : un outil de type VPN pour un routage sécurisé du trafic
SSHuttle est un outil puissant, de type VPN, qui permet aux utilisateurs de Linux d’acheminer en toute sécurité le trafic réseau via un serveur distant à l’aide de SSH. Il est idéal pour les scénarios où vous avez besoin d’un chiffrement sécurisé du trafic, de contourner les pare-feu ou d’accéder à des ressources restreintes sans avoir à configurer un VPN à part entière.
Dans ce tutoriel, vous allez apprendre :
- Comment acheminer tout votre trafic via SSH avec SSHuttle
- Options SSHuttle avancées pour améliorer les fonctionnalités
Premiers pas avec SSHuttle
L’utilisation la plus basique de SSHuttle consiste à acheminer tout votre trafic via un serveur SSH distant. Cela crée un tunnel de type VPN pour toute votre activité réseau.
Acheminez tout le trafic via SSH : acheminez en toute sécurité tout le trafic réseau via un serveur SSH distant.
sshuttle -r user@remote-server 0/0
Cette commande dirige tout le trafic sortant (
0/0
signifie toutes les plages d’adresses IP) via le serveur distant. Remplacezuser
par votre nom d’utilisateur SSH etremote-server
par le nom d’hôte ou l’adresse IP du serveur SSH. Après l’avoir exécuté, votre activité Internet apparaîtra comme provenant du serveur distant, en contournant les pare-feu locaux ou les restrictions de réseau.LE PING NE FONCTIONNE PAS
SSHuttle ne prend pas en charge le trafic ICMP, donc les commandes ping ne fonctionnent pas. Il achemine uniquement le trafic TCP et éventuellement DNS. Utilisez plutôt des outils tels que curl ou ssh pour tester la connectivité.Inclure le trafic DNS : empêchez les fuites DNS en acheminant les requêtes DNS via le serveur distant.
sshuttle -r user@remote-server --dns 0/0
Acheminer uniquement le trafic spécifique : limitez le routage à un sous-réseau spécifique, tel que les ressources internes de l’entreprise.
sshuttle -r user@remote-server 10.1.2.0/24
Cet exemple achemine le trafic uniquement pour le sous-réseau
10.1.2.x
via le tunnel SSH. Utile pour accéder à des systèmes internes distants sans acheminer le trafic Internet sans rapport.Liaison à une interface réseau spécifique : contrôlez l’interface réseau sur laquelle SSHuttle écoute.
sshuttle --listen 10.1.2.99 -r user@remote-server 0/0
Exécuter en tant que démon : laissez SSHuttle s’exécuter en arrière-plan.
sshuttle -r user@remote-server 0/0 -D
L’option
-D
exécute SSHuttle en tant que démon (processus d’arrière-plan). Combinez cela avec la journalisation pour la surveillance :sshuttle -r user@remote-server 0/0 -D --logfile /path/to/logfile.log
-
Exclure des hôtes spécifiques : empêchez certaines adresses IP ou certains domaines d’être acheminés via SSHuttle.
sshuttle -r user@remote-server 0/0 --exclude example.com
Utilisez l’option
--exclude
pour contourner des hôtes ou des sous-réseaux spécifiques, tels queexample.com
. Combinez les exclusions pour gérer plusieurs cas :sshuttle -r user@remote-server 0/0 --exclude example.com --exclude 10.1.2.99
L’option --dns
garantit que les requêtes DNS sont également chiffrées et acheminées via le tunnel SSH. Ceci est essentiel pour préserver la confidentialité et éviter les fuites DNS lors de l’utilisation de SSHuttle.
L’option --listen
lie SSHuttle à une interface locale spécifique, telle que 10.1.2.99
. Ceci est particulièrement utile dans les systèmes multi-interfaces pour restreindre le trafic de SSHuttle.
Cela vous permet d’optimiser le routage et d’éviter le trafic inutile sur le tunnel.
Conclusion
SSHuttle est un outil polyvalent qui simplifie le routage sécurisé du trafic via SSH. Que vous ayez besoin d’acheminer tout le trafic, d’accéder à des sous-réseaux spécifiques ou d’améliorer les fonctionnalités avec des options telles que le routage DNS et la compression du trafic, SSHuttle fournit une solution légère et flexible. En combinant les exemples ci-dessus, vous pouvez adapter SSHuttle à vos besoins spécifiques en matière de réseau.