J'ai toujours utilisé l'astuce simple pour contourner la plupart des pare-feu, ce qui m'a empêché d'utiliser des ports. J'ai simplement ouvert ssh sur l'un de mes serveurs sur le port 443 et tunnelé tout le trafic par là.
Cependant, je suis maintenant sur un réseau qui a un pare-feu que je n'avais jamais vu auparavant et je ne savais même pas que c'était possible.
Sur ce réseau, vous ne pouvez utiliser le port 443 que pour le trafic de serveur Web légitime. Si j'ouvre ssh, ou quoi que ce soit d'autre sur le port 443 et que j'essaie de me connecter à partir de ce réseau, il est immédiatement tué. Si je démarre apache sur ce serveur, cela fonctionne.
Comment est-ce possible? Existe-t-il des pare-feu super sophistiqués qui sont même capables d'analyser le trafic crypté pour vérifier qu'il s'agit d'un trafic https légitime? Comment?
la source
Réponses:
Oui, et ils n'ont pas besoin de magie ici, juste une correspondance triviale sur le contenu du paquet TCP. Même si SSH et TLS (SSL) chiffrent leurs charges utiles , les en - têtes de protocole eux - mêmes sont toujours distincts et très différents l'un de l'autre. Par exemple, une connexion SSHv2 commence toujours par l'envoi du client
SSH-2.0-(client name and version)
. De même, même si votre pare-feu ne peut pas vraiment savoir si la connexion TLS contient HTTP à l'intérieur, il peut reconnaître TLS lui-même .Une telle inspection des couches au-dessus de TCP relève généralement de «l'inspection approfondie des paquets», une caractéristique relativement courante.
Une façon évidente de contourner cela est de tunneler SSH dans TLS - par exemple, en utilisant stunnel, haproxy ou sniproxy. (En plus du tunnelage simple, où le port 443 est dédié à SSH sur TLS, ils peuvent également multiplexer SSH / HTTP / d'autres protocoles sur le même port en fonction de SNI et ALPN.)
Bien que cela ne vienne pas toujours à l'encontre d'une analyse du trafic vraiment sophistiquée, il contournerait tout de même la plupart des filtres qui vérifient simplement "cela ressemble-t-il à un en-tête TLS".
Et puis il y a le genre ennuyeux de pare-feu - ceux qui interceptent TLS pour décrypter et rechiffrer tout le trafic. Ceux-ci peuvent réellement voir à l'intérieur de TLS et peuvent transmettre des requêtes HTTP tout en bloquant tout le reste. (Notez que certains programmes antivirus font également la même chose.) Vous pouvez reconnaître ce type en consultant les certificats du serveur; tous les certificats générés par proxy se ressemblent et ne passent souvent pas la validation, tandis que les certificats réels sont émis par différentes autorités de certification différentes.
la source