Проверка заявления о приватности VPN: сохраняйте доказательства, которые выдерживают
Запишите утверждение, наблюдателя и настройку до того, как смотреть на результат. Тест маршрутизации показывает выход; он никогда не показывает, что хранит оператор.
Тест начинается с фразы, которую кто-то хочет видеть истинной, и доказательства либо поддерживают её узкую версию, либо ничего. Проверка публичного адреса показывает, какой выход использовал один запрос. Она не показывает, что хранит провайдер, кто может это прочитать и что происходит с сеансом, который так и не завершается. Если выполнять тест как документированную процедуру, вы не заявите больше, чем может выдержать измерение.
Выберите одно наблюдаемое утверждение
Запишите утверждение как одно проверяемое предложение, прежде чем открывать любой инструмент: для этого профиля, в этой сети запросы к эху публичного адреса выходят через заявленный выход провайдера. Это предложение называет субъект, условие и наблюдение, и именно это делает его опровержимым. Утверждение вроде VPN защищает приватность не имеет наблюдаемой формы, поэтому никакое измерение не может его разрешить. Сохраните второе предложение для того, что тест не охватит, потому что хранение, доступ третьих сторон и корреляция трафика находятся вне теста в браузере.
Напишите это второе предложение заранее, а не после того, как придёт результат. Гораздо легче быть честным об охвате, пока результат ещё неизвестен, чем после того, как в тикет попадёт успокаивающий скриншот. Заметка об охвате, добавленная задним числом, обычно описывает результат, а не вопрос.
Факты настройки, которые нужны читателю для повторения измерения
Настройка — это то, что делает результат воспроизводимым, и именно её пропускают, когда ответ выглядит хорошо. Строки версий, имена профилей, сеть доступа и семейства адресов относятся к заметке вместе с любым правилом разделения туннеля, которое может вывести трафик из туннеля. Назовите и проверяемое событие, потому что работающее соединение, неожиданный обрыв, ручное отключение и передача сети применяют разные правила. Тест, который смешивает эти события, доказывает немногое о каждом из них.
Используйте нечувствительный трафик в среде, где у вас есть разрешение на тестирование. Захват посторонних пакетов делает запись технически выглядящей и добавляет риск, не добавляя доказательств. Направьте захват только на интерфейс туннеля и задайте ограничение размера файла, чтобы долгий прогон не заполнил диск. Остановите захват до любого изменения, чтобы файл соответствовал записанной вами строке настройки.
Скажите, что измерено и что это значит
Запишите, что напечатал инструмент и что инструмент мог видеть. Ответ резолвера, результат эха адреса и поиск маршрута отвечают на разные вопросы, а метка местоположения внутри веб-страницы — это вывод о базе данных, а не факт о выходе. Напишите команду, создавшую каждую строку, рядом с ней, потому что значение без своей команды невозможно воспроизвести. Держите отметку времени в том же часовом поясе, что и тикет изменения, иначе последовательность станет нечитаемой через неделю.
curl -s https://icanhazip.com
curl -s https://ipinfo.io/ip; echo
resolvectl status --no-pager | head -15
Два независимых эхо-сервиса, которые совпадают, сильнее одного, а расхождение само по себе — находка, достойная записи. Вывод резолвера показывает, следовал ли DNS туннелю или продолжал использовать локальную сеть, что является отдельным утверждением от адреса выхода. Сохраните необработанный вывод с отметкой времени и сохраняйте противоположные результаты вместо самого успокаивающего скриншота. Когда изменение сдвигает результат, применяйте по одной переменной за раз, потому что одновременная смена сервера и клиента не позволяет сказать, какая из них имела значение.
Что относится к записи, а что нужно удалить
Сохраните метод, несекретный вывод и ограничения, а затем удалите остальное. Профили с учётными данными, частные имена хостов и идентификаторы учётных записей не должны путешествовать вместе с доказательствами, а запись теста, которая их раскрывает, повредила тому, что должна была продемонстрировать. Пять полей ниже — самая короткая форма, которая ещё выдерживает передачу.
| Field | What to write |
|---|---|
| Claim | One testable sentence naming the profile, the network and the observation |
| Observer and scope | Who could see the traffic or the record, and under which conditions |
| Setup | Client and server versions, profile name, access network, address families, split-tunnel rules, event under test |
| Raw result | Tool output with a timestamp, exit addresses from both echo services, resolver answer |
| What it does not support | Retention, third-party access, correlation, untested address families |
Приложите заявление о политике, с которым вы сравниваете, с его датой и охватом. RFC 6973 обрамляет анализ приватности вокруг названных наблюдателей и определённого охвата, и эта рамка подходит для записи теста: кто что мог наблюдать, при каких условиях и какие части остались неизученными.
Закончите одним абзацем, в котором сказано, что доказательства поддерживают, а что нет. Этот абзац и есть результат, и всё выше существует, чтобы сделать его честным. Если его нельзя написать, не смягчая каждое условие, тест измерил меньше, чем утверждает тикет.