Так, і їм тут не потрібна ніяка магія, лише тривіальне узгодження вмісту пакету TCP. Незважаючи на те, що SSH та TLS (SSL) шифрують свої корисні навантаження , самі заголовки протоколу все ще відрізняються та сильно відрізняються один від одного. Наприклад, з'єднання SSHv2 завжди починається з відправки клієнта SSH-2.0-(client name and version)
. Аналогічно, навіть якщо ваш брандмауер не може насправді знати, чи несе TLS-з'єднання всередині HTTP, він може розпізнавати TLS .
Така перевірка шарів вище TCP, як правило, підпадає під "Огляд глибоких пакетів", що є відносно поширеною ознакою.
Один очевидний спосіб обійти це - тунель SSH всередині TLS - наприклад, за допомогою оглушення, гапрокси або сніпрокси. (На додаток до простого тунелювання, де порт 443 призначений для SSH-над-TLS, вони також можуть мультиплексувати протоколи SSH / HTTP / інші протоколи через той же порт на основі SNI та ALPN.)
Хоча це не завжди перемагає дійсно складний аналіз трафіку, він все одно обходить більшість фільтрів, які просто перевіряють, "чи схоже це на заголовка TLS".
А потім з'являються набридливі види брандмауерів - ті, які перехоплюють TLS для дешифрування та повторного шифрування всього трафіку. Вони насправді можна побачити всередині TLS і можуть передавати HTTP-запити, блокуючи все інше. (Зверніть увагу, що деякі антивірусні програми теж роблять те саме.) Ви можете розпізнати цей вид, переглянувши серверні сертифікати; всі сертифіковані проксі сертифікати виглядають однаково і часто не проходять перевірку, тоді як реальні сертифікати видаються різними ЦА.