160 likes | 275 Views
Tunneling des flux réseaux dans des environnements de type « HTTP-only ». Application SocksViaHTTP. Motivations. Le tunneling est un sujet qui a été abordé de nombreuses fois en OSI/IP Mais: vision synthétique de cette solution technique
E N D
Tunneling des flux réseaux dans des environnements de type « HTTP-only » Application SocksViaHTTP
Motivations • Le tunneling est un sujet qui a été abordé de nombreuses fois en OSI/IP • Mais: vision synthétique de cette solution technique • Quels sont les problèmes liés à une véritable implémentation • Vision essentiellement axée sur les couches bases • Choix d’un type de tunneling à un niveau plus applicatif: HTTP
Plan • Introduction • Communication avec Proxy HTTP – Firewall • Communication avec SOCKS via HTTP • Portion client et interface SOCKS • Portion client et « tunneling direct » • Portion serveur : concepts • Portion serveur : technologie • Remarques • Démonstration • Conclusion • Questions
Introduction • Avec le développement de l'Internet, et des liaisons à connexions permanentes, de plus en plus de particuliers ou d’entreprises cherchent à partager leur accès au réseau mondial. • Solutions: NAT (Network Address Translation) et Proxy • NAT: indépendant du protocole, transparent • Proxy : dépendant du protocole, interprète les données • Critères décisifs de l’entreprise : sécurité et bande passante optimale
Communication avec Proxy HTTP – Firewall • Cette architecture : • n’autorise que des requêtes HTTP • Interdit l’utilisation des services comme le telnet ou le FTP
Communication avec SOCKS via HTTP • Encapsulation des données dans un tunnel HTTP • Implique l’existence d’une machine de relais. • Et d’un système d’interconnexion entre portion cliente et application cliente.
SOCKS via HTTP – Portion client • Interface grâce à l’utilisation d’un serveur SOCKS • Trois versions supportées SOCKSv4, SOCKSv4.A, SOCKSv5. • Système d’interconnexion entre portion client et application client
SOCKS via HTTP – Portion client • Interface grâce au « tunneling direct » • Pour les applications non compatibles avec SOCKS. • Utilisable que pour des applications avec des numéros de ports statiques.
SOCKS via HTTP – Portion serveur • La portion serveur est responsable des connexions avec l’application serveur • Nécessité de maintenir un contexte pour chaque connexion dont elle a la responsabilité • Communication entre les portions client et serveur matérialisée par l’envoi et la réception de messages HTTP contenant une classe JAVA sérialisée.
SOCKS via HTTP – Portion serveur • Technologie Servlet • La spécification Servlet définit un modèle de composants côté serveur qui peut être implémenté par les fournisseurs de serveurs Web. Les servlets offrent une API simple mais puissante pour générer dynamiquement des pages Web • jHTTPServer • Constitué d’un moteur HTTP il assure l’exécution de Servlets. Intégré à SocksViaHTTP il permet de mettre en place facilement la portion serveur
Remarques • SocksCap pour Windows • Il intercepte de manière transparente les appels à l’API WinSock • permet de remplacer le mode « tunneling direct » • SSL/TLS • Côté application serveur certains certificats peuvent être générés en tenant compte de l’IP publique de la connexion entrante • Cas de blocage côté client • Solution: utiliser un wrapper SSL comme TLSWRAP pour le FTPS
Conclusion • Le tunneling HTTP est un moyen particulièrement efficace pour permettre l’utilisation de services utiles dans des environnements très restrictifs munis de Proxy HTTP et de firewalls. • Le problème de la sécurité • SOCKSViaHTTP ne permet que des « connexions clientes » • Enrichissement personnel • Technologies de tunneling et d’encapsulation • Critères de sécurité dans les architectures réseaux d’aujourd’hui