Итак, друзья, я тут начал раскуривать фаервольную фичу TLS-Host. Оказалась, работает она довольно просто. С её помощью действительно можно блочить https-сайты. Но обо всём по порядку.
1) До установки защищённого соединения сначала нужно установить просто TCP-сессию. Это делается тремя пакетами с флагами [syn], [syn,ack], [ack].
2) После того, как tcp-сессию установили, нужно установить защищённое соединение. Клиент посылает на сервер TLS-Hello. И этот пакет нешифрованный. В нём содержится поле server name, которое и анализируется данным матчером. Получается, мы должны ловить четвёртый пакет в соединении. Пакет идёт ОТ клиента.
3) Исходя из вышесказанного, ловить эти пакеты нужно ДО правила, принимающего установленные соединения, потому что даже пакет [syn,ack] уже будет считаться established, и дальше проверяться не будет.
Ниже, на базе дефолтного конфига, сделанный мною пример с джампом, который первые три килобайта tcp-сессии на 443й порт будет проверять по отдельной цепочке. Собственно, это готовое решение, только модифицируйте под свои нужды цепочку tls-filter путём добавления туда правил с нужными tls-hosts.
И последнее: *.
vk.com НЕ ЛОВИТ сам
vk.com, а только поддомены, поэтому не забывайте дублировать правило без вайлдкарда. Короче, изучите пример и используйте:
https://pastebin.com/xP50jejc