Sí, y no necesitan ninguna magia aquí, solo coincidencias triviales en el contenido del paquete TCP. A pesar de que SSH y TLS (SSL) cifran sus cargas útiles , los encabezados de protocolo en sí mismos son distinguibles y muy diferentes entre sí. Por ejemplo, una conexión SSHv2 siempre comienza con el envío del cliente SSH-2.0-(client name and version)
. Del mismo modo, aunque su firewall realmente no puede saber si la conexión TLS lleva HTTP dentro, puede reconocer TLS por sí mismo .
Dicha inspección de capas por encima de TCP generalmente se encuentra en "Inspección profunda de paquetes", una característica relativamente común.
Una forma obvia de evitar esto es hacer un túnel SSH dentro de TLS, por ejemplo, usando stunnel, haproxy o sniproxy. (Además del túnel simple, donde el puerto 443 está dedicado a SSH-over-TLS, también pueden multiplexar SSH / HTTP / otros protocolos sobre el mismo puerto basado en SNI y ALPN).
Si bien esto no siempre anularía el análisis de tráfico realmente sofisticado, aún pasaría por alto la mayoría de los filtros que simplemente comprueban "esto parece un encabezado TLS".
Y luego está el tipo de firewalls molestos: los que interceptan TLS para descifrar y volver a cifrar todo el tráfico. En realidad, pueden ver dentro de TLS y pueden pasar solicitudes HTTP mientras bloquean todo lo demás. (Tenga en cuenta que algunos programas antivirus también hacen lo mismo). Puede reconocer este tipo mirando los certificados del servidor; Todos los certificados generados por proxy tienen el mismo aspecto y, a menudo, no pasan la validación, mientras que los certificados reales son emitidos por varias CA diferentes.