Sì, e non hanno bisogno di nessuna magia qui, appena corrispondenza banali sui contenuti dei pacchetti TCP. Anche se SSH e TLS (SSL) crittografano i loro payload , le stesse intestazioni di protocollo sono ancora distinguibili e molto diverse tra loro. Ad esempio, una connessione SSHv2 inizia sempre con l'invio del client SSH-2.0-(client name and version)
. Allo stesso modo, anche se il tuo firewall non può davvero sapere se la connessione TLS trasporta HTTP all'interno, può riconoscere TLS stesso .
Tale ispezionando di strati sopra TCP cade generalmente sotto "Deep Packet Inspection", una caratteristica relativamente comune.
Un modo ovvio per bypass è quello tunnel SSH all'interno TLS - per esempio, utilizzando stunnel, haproxy o sniproxy. (Oltre al semplice tunneling, in cui la porta 443 è dedicata a SSH-over-TLS, possono anche multiplexare SSH / HTTP / altri protocolli sulla stessa porta in base a SNI e ALPN.)
Anche se questo non sarebbe sempre sconfiggere davvero sofisticate analisi del traffico, sarebbe ancora bypass maggior parte dei filtri che si limita a controllare "Ti sembra un colpo di testa TLS".
E poi c'è il tipo fastidioso di firewall - quelli che TLS intercettano per decrittografare e crittografare nuovamente tutto il traffico. Questi possono effettivamente vedere all'interno TLS, e possono passare le richieste HTTP, bloccando tutto il resto. (Si noti che alcuni programmi antivirus anche fare la stessa cosa.) Si può riconoscere questo tipo, cercando nei certificati del server; tutti i certificati generati dal proxy hanno lo stesso aspetto e spesso non superano la convalida, mentre i certificati reali vengono emessi da varie CA diverse.