Служба Onion проти служби VPN: різні моделі доступу
Адреса Onion прив'язана до ключа служби й доступна всередині Tor; VPN дає маршрут до шлюзу. Порівняйте авдиторію, виявлення та автентифікацію застосунку.
Люди описують службу Onion і службу, доступну лише через VPN, як два варіанти однієї ідеї: сховай порт і поділись секретною адресою. Вони різняться тим, до чого прив'язана адреса, хто може до неї дістатися і що має статися до надходження запиту. Одна — місце зустрічі всередині Tor, інша — маршрут у приватній мережі. Якщо вважати їх взаємозамінними, виходять проєкти, які не є ні приватними, ні супроводжуваними.
Міф: обидва рішення — лише приховані двері
Спільна властивість реальна, але тонка: жодне рішення не ставить адміністративний інтерфейс на прямо доступний публічний порт. Усе подальше розходиться. Адреса Onion виводиться з власного ключа служби, тому ім'я прив'язане до особи; адреса VPN — просто адреса в мережі, куди вас допустили. Одне ховає службу в накладеній мережі, друге впускає вас у приватну топологію. Саме ставлення до другого як до синоніма першого і починає плутанину.
Жодна з цих властивостей не є засобом безпеки для самого застосунку. Приховане місце не лагодить програмне забезпечення за ним, а приватний маршрут не додає автентифікацію на сторінку входу. Обидва рішення все ще потребують власних дозволів застосунку, і обом усе ще потрібен хтось, відповідальний за оновлення та відновлення.
На що адреса Onion насправді вказує
Адреса Onion версії v3 кодує відкритий ключ служби, тому ніхто не може вибрати адресу для служби, якою не керує. Клієнт підключається через Tor до місця зустрічі, а служба досягає тієї ж точки зі свого боку; жоден звичайний вихідний вузол не несе це з'єднання до служби. Ім'я — це особа, а не запис DNS.
dig +short example.onion
curl --socks5-hostname 127.0.0.1:9050 http://example.onion/
systemctl status tor
Тому додавання маршруту чи запису hosts для імені onion нічого не дає. Пошук — не механізм; механізм — клієнт Tor та його кола. Якщо служба призначена малому колу людей, авторизація клієнта onion може вимагати ключа до прийняття з'єднання, але це все ще не вхід у застосунок. Публікація адреси теж свідома дія, адже будь-хто, хто її дізнається, може спробувати з'єднання, якщо ви його не обмежили.
Зупиніться, якщо єдина причина onion-рішення — уникнути налаштування автентифікації. Накладена мережа цього не дає, і ви все одно збудуєте її пізніше.
Що насправді дає маршрут VPN
VPN допускає пристрій у мережу й дає йому маршрут до шлюзу або підмережі. Служба за цим шлюзом бачить адресу з пулу тунелю й застосовує ту авторизацію, яка в неї є. Маршрут нічого не говорить про те, хто користувач; він говорить, куди можуть іти пакети.
ip route get 10.20.30.40
wg show
curl -sv https://files.internal.example/ -o /dev/null
Ця модель підходить відомій групі з керованими пристроями, бо шлюз може нав'язувати стан пристрою, а мережу можна перевіряти. Вона погано підходить анонімним або випадковим відвідувачам, яких спершу довелося б зарахувати. Вхід до самого застосунку все ще вирішує, що може читати підключений користувач. Змішування доступності з дозволом — це шлях, яким VPN зрештою видає цілу підмережу всім, хто може підключитися.
Зупиніться, якщо авдиторія невідома або постійно змінюється. Зарахування сторонніх до приватної мережі, щоб показати їм одну сторінку, — велике зобов'язання порівняно з публікацією служби.
Вибір між ними та те, що лишається незмінним
Виберіть модель onion, коли авдиторія технічна, служба взагалі не повинна мати публічної адреси і ви можете прийняти вимоги клієнта Tor. Виберіть модель VPN, коли авдиторія — визначена група, пристроями якої ви керуєте і чий доступ хочете фіксувати на мережевому рівні. Жоден вибір не усуває потребу в автентифікації застосунку, виправленнях чи шляху відновлення. Жоден не є автоматично приватнішим у сенсі, важливому для ваших користувачів.
В обох рішеннях запишіть, хто може дістатися служби, як його ідентифікують і що станеться при втраті даних доступу. Відповідь для служби onion включає її ключі авторизації клієнта й саму адресу; відповідь для VPN включає обліковий запис, пристрій і політику шлюзу. Це різні переліки, і лише один з них буде очевидним для наступного адміністратора.
Порівняння закінчується там, де починається застосунок. Прихована адреса і приватний маршрут — це вибір транспорту, і застосунку все ще треба вирішити, що дозволено запиту. Тримайте ці рішення в окремих документах, і жодне рішення не поглине тихо роботу іншого.