Что показывают журналы роутера, когда полезная нагрузка VPN зашифрована
Шифрование скрывает полезную нагрузку, а не поток. Сравните, что записывает домашний шлюз, с тем, что хранит наблюдатель выше по сети, а затем проверьте собственные счётчики.
Шифрование решает, можно ли прочитать содержимое пакета, и ничего не говорит о том, будут ли записаны существование, размер и время пакета. Роутер, пересылающий зашифрованный туннель, видит поток, который должен доставить, и может его подсчитать, поставить метку времени и отнести к кому-либо. Сравните, что записывает домашний шлюз, с тем, что записывает сеть выше по пути, и разница окажется в том, какие поля каждому есть смысл хранить.
Именно это сравнение и полезно, потому что две записи в обсуждениях приватности постоянно путают. Они отвечают на разные вопросы и хранятся разное время.
Два наблюдателя, две разные записи
Шлюз на вашем краю знает, какой локальный интерфейс использовал поток, а когда сам раздаёт адреса — какое устройство владело этим адресом в тот момент. Он может видеть и то, к какому резолверу вы обращались и с какой конечной точкой связывались. Выше по пути тот же трафик приходит переведённым, поэтому другая сеть видит один публичный адрес, общий для всего домохозяйства, и это функция, описанная в RFC 3022. Ни один из наблюдателей не читал полезную нагрузку, и ни одна из записей не содержит другую.
Суммы байтов тоже относятся к этой категории. Счётчик объёма записывает, что трафик прошёл, не записывая, чем он был.
Какие поля действительно оставляют след
Что хранит конкретное устройство, зависит от того, что включено, поэтому любое универсальное утверждение заслуживает недоверия. Таблица перечисляет поля, важные на практике, и что каждое из них означает.
| Field | Home gateway | Upstream observer |
|---|---|---|
| VPN endpoint address | Yes, as a destination | Yes |
| Local device mapping | Only where it assigns the address | No |
| Byte and packet counts | If statistics are enabled | Usually |
| Flow start and end | If connection logging is on | Usually |
| DNS queries | If the resolver is local | Only if the resolver is theirs |
| Payload contents | No | No |
Читайте таблицу по строкам, а не по столбцам, потому что каждая строка поддерживает другой вывод. Адрес конечной точки показывает, что туннель существует, а не что он нёс. Сопоставление локальных устройств — это строка, которая связывает поток с человеком, и именно её хранит домашний шлюз, тогда как наблюдатель выше по пути обычно её не хранит.
Строка полезной нагрузки одинакова в обоих столбцах, и это та часть, которую шифрование действительно гарантирует. Всё остальное зависит от решений о журналировании.
Роутер, который завершает туннель, видит больше
Шлюз, пересылающий чужой зашифрованный трафик, и роутер, который сам ведёт туннель, занимают разные позиции. Второй хранит состояние туннеля и ключи к нему, поэтому может видеть внутренние адреса и назначения внутри туннеля. Если этот роутер ещё и транслирует адреса для внутренней сети, его журналы могут связать устройство с внутренним назначением в одной записи. Это иное раскрытие, чем внешний поток, и его создаёт тот же блок.
Сравните это с клиентом на ноутбуке за обычным шлюзом: шлюз записывает внешний поток, а собственный журнал клиента хранит внутренние детали. Спрашивать, у кого какая половина картины, продуктивнее, чем спрашивать, видит ли сеть сквозь шифрование. Честный ответ на второй вопрос — нет, и это также не тот вопрос, который определяет вашу подверженность.
Проверьте, что записывает ваше собственное устройство
Посмотрите на собственное оборудование, прежде чем рассуждать о чужом. Приведённые ниже команды перечисляют правила межсетевого экрана со счётчиками, ещё живые записи соединений и строки журнала, упоминающие соединение. Они относятся к роутеру на базе Linux, от которого происходит большая часть потребительской прошивки.
nft list ruleset | grep -A2 counter
conntrack -L 2>/dev/null | grep 1194
logread | grep -iE 'vpn|1194' | tail -n 20
cat /proc/net/nf_conntrack | wc -l
Набор правил со счётчиками говорит, что устройство готово считать, а таблица соединений показывает живые потоки, а не историю. Строки журнала подтверждают, пишет ли прошивка вообще события соединений, и это решает большую часть спора. Пустой вывод по всем четырём командам означает, что блок пересылает без записи, и это тоже ответ. Повторите проверку на клиенте, потому что его журнал хранит другую половину картины.
Запишите включённые возможности и настройку хранения рядом с выводами. То же оборудование может сегодня молчать, а после обновления прошивки, включающего телеметрию, стать разговорчивым.