Sim, e eles não precisam de mágica aqui, apenas uma correspondência trivial no conteúdo do pacote TCP. Embora SSH e TLS (SSL) criptografar as cargas , os cabeçalhos de protocolo próprios são ainda distinguíveis e muito diferentes umas das outras. Por exemplo, uma conexão SSHv2 sempre começa com o envio do cliente SSH-2.0-(client name and version)
. Da mesma forma, embora seu firewall não possa realmente saber se a conexão TLS carrega HTTP dentro, ele pode reconhecer o próprio TLS .
Essa inspeção das camadas acima do TCP geralmente se enquadra na "Deep Packet Inspection", um recurso relativamente comum.
Uma maneira óbvia de contornar isso é encapsular o SSH no TLS - por exemplo, usando stunnel, haproxy ou sniproxy. (Além do encapsulamento simples, em que a porta 443 é dedicada ao SSH sobre TLS, eles também podem multiplexar SSH / HTTP / outros protocolos na mesma porta, com base no SNI e no ALPN.)
Embora isso nem sempre anule a análise de tráfego realmente sofisticada, ainda contornaria a maioria dos filtros que apenas verificam "isso parece um cabeçalho TLS".
E depois há o tipo irritante de firewalls - os que interceptam o TLS para descriptografar e criptografar novamente todo o tráfego. Eles podem realmente ver dentro do TLS e podem passar solicitações HTTP enquanto bloqueiam todo o resto. (Observe que alguns programas antivírus também fazem a mesma coisa.) Você pode reconhecer esse tipo observando os certificados do servidor; todos os certificados gerados por proxy têm a mesma aparência e geralmente não passam na validação, enquanto os certificados reais são emitidos por várias CAs diferentes.