HTTP tunneling
| Fiche express | |
|---|---|
| Domaine | Contournement de filtrage |
| Ports porteurs | 80 / 443 |
| Outils | hts / htc (httptunnel)
|
| Voir aussi | Stunnel · SSH tunnelling |
Le HTTP tunneling consiste à encapsuler un protocole quelconque dans du trafic HTTP pour passer outre les restrictions d'un pare-feu : les données transitent sur les ports 80/443, ouverts à de nombreux endroits pour autoriser le web.
Principe
Pour établir, par exemple, une connexion FTP alors que seul le port 80 est autorisé, la source et la destination doivent disposer d'un logiciel qui assure la translation des ports. Le client envoie les données au service de tunneling, qui les fait transiter par le port 80 vers son homologue distant à travers le pare-feu, puis rétablit la connexion vers le serveur cible. Les connexions sont bidirectionnelles.
httptunnel (Linux)
yum install httptunnel
Côté serveur, rediriger le flux reçu sur le port 80 vers le port cible (ici 23) :
hts -F server.example.com:23 80
Côté client, on peut ajouter le passage par un proxy web avec -P :
htc -P proxy.corp.example:80 -F 22 server.example.com:80
Contournement de censure
Des logiciels de tunneling comme Psiphon permettent de contourner les systèmes de filtrage nationaux. Pour vérifier l'accessibilité d'un site depuis différents pays, un simple ping distant sur le DNS depuis plusieurs points (services « just ping ») donne une première indication.
Voir aussi
- Stunnel — encapsulation dans du SSL/TLS (port 443)
- SSH tunnelling — tunnels chiffrés via SSH
- Proxy — passage par un proxy web