Що може і що не може довести ім'я хоста публічного VPN
Ім'я хоста вказує на кінцеву точку і мало на що інше. Воно не доводить протокол, місце виходу або політику зберігання оператора, у жоден конкретний день.
Імена хостів і прапори країн виглядають як факти про сервер, і ні те ні інше ними не є. Ім'я вказує на адреси, які можуть змінюватися, а слова всередині нього вибрав той, хто його зареєстрував. Протокол, місце виходу і поведінка під час журналювання потребують кожен свого доказу. Почніть з того, у що ім'я справді розв'язується, а потім вирішіть, що ще невідомо.
Ім'я розв'язується, і більше нічого не встановлено
Ім'я хоста — це покажчик у DNS, а записи за ним можуть відрізнятися залежно від резолвера, від часу доби і від родини адрес, якій надає перевагу клієнт. Двоє людей, які читають той самий запис каталогу, можуть цілком законно потрапити на різні машини. Ім'я каже, що запитувати, а не що відповість.
Результати пошуку теж змінюються без попередження, що важливо, коли профіль фіксує адресу замість імені. Профіль із жорстко вписаною старою адресою продовжує збоїти після того, як оператор переносить службу, і збій виглядає як заблокований порт. Тримайте розв'язані адреси поруч із профілем, щоб подальше порівняння мало відправну точку. Ніщо з цього не говорить про те, хто керує іншим кінцем.
dig +short vpn.example.net A
dig +short vpn.example.net AAAA
dig +short vpn.example.net A @1.1.1.1
Транспорт і справжність — окремі питання
Відкрита вебсторінка на імені хоста перевіряє одного слухача на одному порту. OpenVPN, IPsec і SSTP слухають в іншому місці, на своїх портах і протоколах, тому доступний вебсервер нічого про них не каже.
Запис у каталозі та профіль мають збігатися щодо транспорту, порту та облікових даних. Справжність перевіряється ланцюгом сертифікатів або відбитком ключа партнера, з яким було налаштовано клієнт, а не написанням імені хоста. Ім'я, що містить знайоме слово проєкту, доводить лише те, що хтось його зареєстрував. Прочитайте сертифікат, який подає служба, і порівняйте видавця та суб'єкта з тим, що очікує профіль.
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net </dev/null 2>/dev/null |
openssl x509 -noout -subject -issuer -dates
Слова країн — не аудит місця розташування
Мітка jp або de в каталозі — це реєстрація, а бази геолокації IP розходяться достатньо часто, щоб жодну з них не варто вважати абсолютною істиною. Спільний хостинг, anycast і проста помилка налаштування — усе це зміщує спостережуване місце від мітки.
Практична перевірка — це власний шлях застосунку: до якої адреси він доходить і що показує перевірка адреси виходу зсередини сеансу. Спостережувана адреса виходу — властивість маршруту в цю мить, а не гарантія, прив'язана до імені. Каталоги добровольців додають ще один шар, бо той, хто зареєстрував запис, не обов'язково той, хто керує машиною. Запишіть, що ви виміряли і коли, а не те, що обіцяв запис.
Перевірте запропоновану службу, потім оператора
Коли транспорт і справжність встановлено, залишається питання про поведінку оператора, і для нього потрібні документальні докази, а не здогадки. Політика конфіденційності, опублікований контакт і повідомлення про прозорість — це докази наміру; жодне з них не доводить практику, а відсутність усіх трьох теж є інформацією.
Для публічного вузла або вузла, яким керують добровольці, виходьте з того, що вихід спільний і той, хто його тримає, може бачити, що через нього проходить. Це припущення, а не ім'я хоста, має вирішувати, що ви надсилаєте через тунель.
curl -sSI https://vpn.example.net/ | head -n 5
whois 203.0.113.25 | grep -i -E 'orgname|netname'
Залиште імені те, у чому воно добре: знаходити кінцеву точку і підключатися до неї. Усе інше треба перевіряти окремо, того дня, коли це важливо.