Tor чи VPN: що саме вам потрібно для приватності?
Порівняйте Tor і VPN на кожному переході: хто бачить вашу IP-адресу та призначення запиту, і чому VPS, орендований на ваше ім’я, не забезпечує анонімності.
Tor проти VPN: що саме вам потрібно
Tor і VPN передають ваш трафік через машини, які вам не належать, але вирішують різні завдання. VPN (virtual private network) переносить довіру від вашого інтернет-провайдера до однієї компанії. Ця компанія бачить вашу реальну адресу та кожен ресурс, який ви відвідуєте. Tor розподіляє довіру між трьома ретрансляторами, якими керують різні люди. Тому жоден окремий ретранслятор не знає одночасно, хто ви і куди прямуєте. Вибір залежить від того, від кого саме ви хочете приховатися.
Якщо ви хочете приховатися від мережі, до якої підключені, використовуйте VPN. Якщо ви хочете приховатися від самого вебсайту або від будь-кого, хто може вимагати записи однієї компанії, використовуйте Tor. Решта цього посібника докладно пояснює ці два твердження.
Пройдіть одним запитом через обидві схеми
Візьмімо звичайний запит: браузер відкриває https://news.example.com. TLS (захист транспортного рівня) в обох випадках захищає вміст сторінки, тому ніхто посередині не прочитає статтю. Важливіші метадані: хто дізнається вашу IP-адресу, хто дізнається призначення запиту та хто може зіставити ці два факти. Засіб захисту приватності розділяє ці відомості. VPN передає їх іншому учаснику. Tor розподіляє їх між кількома вузлами.
Що бачить кожна сторона під час використання VPN
Ваш клієнт шифрує кожен пакет і надсилає його на одну кінцеву точку. Після цієї кінцевої точки трафік знову стає звичайним.
- Ваш ISP (інтернет-провайдер) бачить зашифровані пакети між вашим підключенням і однією адресою VPN-сервера. Він бачить обсяг і час передавання. Він не бачить ім’я призначеного хоста, якщо запити DNS (системи доменних імен) також проходять через тунель.
- Оператор VPN бачить вашу реальну IP-адресу з одного боку та кожну адресу призначення з іншого, разом із часом і розміром передавання. Обидві частини цього з’єднання проходять через одну машину.
- Сервер призначення бачить адресу вихідної точки VPN, а також усі ідентифікаційні дані, які надсилає ваш браузер.
Отже, VPN не забезпечує анонімність. Він лише переносить спостерігача від вашого ISP до постачальника VPN. Це справді корисно, коли проблема пов’язана з локальною мережею або коли ваш ISP фільтрує чи перепродає дані, які бачить. Проти сайту, який ви відвідуєте, це не дає жодної переваги, оскільки ваш трафік і далі надходить одним потоком від однієї компанії, яка точно знає, хто ви, і зберігає дані про ваші платежі.
Заява «без журналів» є всім продуктом, але саме її ви не можете перевірити зі свого боку. Ви можете перевірити, що тунель працює. Ви можете перевірити, що DNS не витікає. Ви не можете перевірити, що оператор записує на диск. Це компроміс, на який ви погоджуєтеся: одна обрана вами компанія зберігає повну картину.
Перевірте витік, який непомітно обходить тунель:
resolvectl status
curl -s https://ifconfig.me; echoАдреса, виведена ifconfig.me, має бути адресою вихідної точки VPN. DNS-сервери, перелічені для інтерфейсу, через який проходить маршрут за замовчуванням, мають бути резолвером тунелю. Якщо там і далі вказано ваш локальний маршрутизатор за адресою 192.168.1.1, запити на перетворення імен виходять через локальне підключення у відкритому вигляді, оскільки маршрут до цього маршрутизатора є безпосередньо підключеним і специфічнішим за маршрут тунелю за замовчуванням. Ваш трафік є приватним, але список сайтів — ні. Запити DNS, що виходять за межі тунелю WireGuard пояснює, як це виправити.
Що бачить кожна сторона під час використання Tor
Tor будує ланцю circuit із трьох relay, вибраних зі списку, підписаного невеликою групою directory authorities. Цей список називається consensus. Клієнт обгортає дані в шари: по одному для кожного relay. Кожен relay знімає один шар, дізнається лише про наступний вузол і передає решту далі. Завдяки цим шарам жодна сторона на маршруті не має обох відомостей одночасно.
- Ваш ISP бачить зашифрований трафік до одного guard relay. Адреси relay є публічними, тому ISP може визначити, що ви використовуєте Tor. Він не може визначити, до якого ресурсу ви звертаєтеся.
- Guard relay бачить вашу реальну IP-адресу. Він не бачить призначення, оскільки частина повідомлення з назвою сайту ще зашифрована для relay, які розташовані далі.
- Middle relay бачить guard з одного боку та exit з іншого. Він не бачить ні вас, ні призначення. Він потрібен для того, щоб guard і exit не взаємодіяли безпосередньо.
- Exit relay бачить призначення та трафік під час його виходу з мережі. Він бачить адресу middle relay, а не вашу. За використання HTTPS він отримує ім’я хоста та метадані з’єднання, але не вміст сторінки.
- Призначення бачить адресу exit relay. Ця адреса є в публічних списках exit. Крім того, призначення бачить усе, що передає ваш браузер.
Щоб пов’язати вас із сайтом, потрібно одночасно контролювати guard і exit. Це коротко описує принцип роботи. Саме тому клієнт зберігає той самий guard протягом кількох місяців, а не вибирає новий під час кожного запуску. Постійна зміна entry давала б зловмисному relay повторні можливості стати вашим guard.
Circuits не є постійними. Нові з’єднання приблизно кожні десять хвилин переходять на новий circuit, тоді як уже відкритий stream залишається на circuit, на якому його було створено. Тривале завантаження та вкладка, яку ви відкриєте через п’ятнадцять хвилин, зазвичай виходять у мережу через різні exit.
Як будуються три переходи без розкриття relay один одному
Клієнт не передає guard список relay. Спочатку він узгоджує ключі з guard, потім надсилає через guard запит на розширення circuit до middle relay, а далі через цей перехід надсилає ще один запит на розширення circuit до exit. Кожному relay повідомляється лише про сусідній вузол, з яким потрібно взаємодіяти далі. Кожен перехід має власний ключ, якого не бачать інші переходи. Тому middle relay не може визначити роль exit під час аналізу, а relay, який журналює все оброблене, усе одно записує лише один фрагмент.
Встановіть його та перевірте маршрут:
sudo apt update && sudo apt install -y tor
systemctl status tor@default
journalctl -u tor@default -n 20
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ipЖурнал має дійти до Bootstrapped 100% (done): Done. Команда curl має вивести {"IsTor":true,"IP":"..."} з адресою, яку ви не впізнаєте. Це поточний exit. Якщо IsTor дорівнює false, запит не проходив через proxy. Tor у складі пакетів Ubuntu може відставати від поточного релізу. Якщо потрібно стежити за upstream, Tor Project публікує власний apt repository.
У цій команді є одна проблема. --socks5 змушує curl самостійно розв’язати hostname, а потім передати через proxy вже отриману адресу. Через це ваш звичайний resolver дізнається про кожне ім’я, яке ви відвідуєте. --socks5-hostname передає ім’я в Tor і дозволяє exit виконати його розв’язання. Тунель той самий, але витік повністю інший. Tor Browser і torsocks працюють правильно. Інструменти з ручним налаштуванням часто ні.
Tor передає лише TCP streams. Він не може передавати UDP, тому ping 1.1.1.1 не проходить через нього. UDP based VPN protocol також не може працювати всередині Tor. Будь-яка програма, яка ігнорує налаштування proxy, просто використовує ваш звичайний маршрут і звичайну адресу, причому жодного попередження не буде. Тому системний Tor налаштовують через transparent proxy на окремому сервері, а не за допомогою змінної середовища.
Куди насправді спрямована довіра
VPN концентрує довіру. Одна компанія зберігає дані про вашу особу, платіжні дані та повну картину вашого мережевого трафіку, а ваш захист залежить від її обіцянки не зберігати журнали. Поки ця обіцянка чинна, схема залишається простою, швидкою та зрозумілою. Якщо обіцянка порушується через судову вимогу, злам або брехню, схема повністю втрачає захист для всього вашого трафіку одночасно.
Tor розподіляє довіру. Три сторони, які здебільшого не знають одна одну, зберігають окремі фрагменти інформації, а сам по собі один фрагмент мало чого вартий. Для роботи схеми не потрібно, щоб усі сторони були чесними. Важливо, щоб достатня їх кількість залишалася незалежною. За це доводиться платити швидкістю, підтримкою лише TCP і використанням мережі, у якій деякими ретрансляторами напевно керують люди, що хотіли б спостерігати за вами. Відповідь Tor на недобросовісний ретранслятор полягає в тому, що одного ретранслятора ніколи не достатньо.
Коли VPN є правильним інструментом
- Ви не довіряєте локальній мережі: у готелі, аеропорту, конференц-залі або маршрутизатору орендодавця. Оператор бачить зашифрований тунель і більше нічого.
- Ви хочете отримувати доступ до власних машин або виходити в мережу з фіксованої адреси, яку контролюєте.
- Вам потрібні швидкість і UDP: відеодзвінки, ігри, великі передавання даних, резервне копіювання.
- Вам потрібна стабільна адреса, яку сайти не перевіряють додатковими викликами. Вихідні вузли Tor заблоковані або викликають CAPTCHA на значній частині вебсайтів.
Цей перелік пояснює, чому варто розгорнути власний VPN на VPS, а не купувати підписку, а WireGuard-сервер, який ви налаштували самостійно, дає тунель, політика журналювання якого визначається конфігураційним файлом під вашим контролем. Якщо вам потрібен такий самий тунель із керуванням ключами між пристроями, прочитайте порівняння звичайного WireGuard і Tailscale. Кожен із цих варіантів чудово виконує завдання з цього переліку. Жоден із них не виконує завдання з наступного.
Коли Tor є правильним інструментом
- До вашої моделі загроз входить сайт призначення або будь-хто, хто може вимагати записи в однієї компанії.
- Ви читаєте або публікуєте матеріали, які можуть зашкодити вам, якщо їх буде пов’язано з вашою лінією зв’язку.
- Вам потрібен onion service: трафік, який ніколи не виходить за межі мережі, без exit relay і із сервером, адреса якого залишається прихованою.
- Ви можете змиритися з повільним завантаженням сторінок, CAPTCHA та періодичним
403 Forbidden.
Використовуйте Tor Browser, а не свій повсякденний браузер, налаштований на порт 9050. Браузер є половиною захисту, а в наступному розділі пояснюється чому.
Чому орендований VPS гірший за комерційний VPN для анонімності
Саме це часто неправильно розуміють. Орендований VPS пов’язаний з вами договором оренди. Електронна адреса для реєстрації, платіжна картка, рахунки та звернення до служби підтримки зберігаються в базі даних однієї компанії поруч із цією IP-адресою. Нікому не потрібно нічого зламувати, щоб пов’язати адресу з вами. Ця інформація вже зафіксована, зберігається для звичайного бухгалтерського обліку та доступна кожному, хто може звернутися до провайдера з юридично обґрунтованим запитом.
Друга проблема — кількість користувачів. Вихідну адресу комерційного VPN одночасно використовують багато клієнтів, тому сама адреса не вказує на одну конкретну особу. Адреса вашого VPS належить лише вам. Кожен запит, що виходить із неї, пов’язаний із вами сьогодні й наступного місяця. Адреса не змінюється, тому сайт призначення може формувати профіль вашої активності протягом кількох місяців навіть без cookies.
Це не означає, що self-hosted VPN — поганий вибір. Він добре шифрує ваш трафік у мережі, якою ви не керуєте, і дає змогу отримувати доступ до власних сервісів із будь-якого місця. Але це не інструмент анонімності, і саме використання його для цієї мети є помилкою. Щоб отримати простий опис того, що провайдер може й не може бачити безпосередньо на машині, прочитайте наскільки безпечним насправді є VPS-хостинг.
Що не усувають ні Tor, ні VPN
- Відбиток браузера. User agent, розмір екрана, часовий пояс, встановлені шрифти, мова та рендеринг canvas разом утворюють значення, яке часто є унікальним і супроводжує вас за кожної IP-адреси, яку ви використовуєте. Tor Browser протидіє цьому, роблячи своїх користувачів схожими один на одного та змінюючи розмір вікна фіксованими кроками. Звичайний браузер за SOCKS-проксі зберігає свій відбиток і cookies.
- Вхід в обліковий запис. Щойно ви входите в обліковий запис, якому відоме ваше ім’я, мережевий рівень перестає мати значення. Один вхід з домашньої мережі та один через Tor до того самого облікового запису пов’язують обидві сесії.
- Будь-які дані, які кінцева система все одно реєструє: що ви ввели, що придбали, що шукали.
- Кореляція між кінцями з’єднання. Той, хто одночасно спостерігає за вашою лінією та вихідним вузлом, може зіставити час і обсяг пакетів та ідентифікувати обидва кінці. Tor прямо зазначає, що не захищає від зловмисника, який бачить обидві сторони.
Чи можна використовувати Tor і VPN разом?
Tor через VPN означає, що спочатку встановлюється VPN-з’єднання, а потім Tor працює всередині нього. Тоді ваш ISP бачить лише VPN, а guard relay бачить адресу VPN замість вашої. Водночас перед системою, розробленою саме для уникнення такої ідентифікації, опиняється компанія, яка зберігає ваше ім’я та дані картки. Це має сенс лише в одній ситуації: коли використання Tor у вашій мережі саме по собі небезпечне і кращого варіанта немає.
VPN через Tor, коли трафік виходить із мережі Tor, а потім надходить до облікового запису VPN, налаштувати складніше, і зазвичай це гірший варіант. До цього облікового запису прив’язані платіжні дані, тому ви пов’язуєте стабільну ідентичність із трафіком, який ще мить тому був анонімним.
Якщо мета полягає лише в тому, щоб приховати використання Tor від ISP, використовуйте bridge: точку входу, якої немає в публічному consensus, разом із pluggable transport, наприклад obfs4 або Snowflake, що ускладнює класифікацію трафіку. Tor Browser постачається з обома компонентами, і третій компанії не потрібно знати ваше ім’я.
FAQ
Чи є Tor просто безкоштовним VPN?
Ні. VPN передає ваш трафік через один сервер, яким керує одна компанія. Ця компанія бачить вашу реальну адресу та кожне призначення. Тому VPN лише замінює вашого ISP на вибраного вами провайдера. Tor передає трафік через три ретранслятори, якими керують різні люди. Guard бачить вас, але не бачить сайт. Exit бачить сайт, але не бачить вас. Tor також працює лише з TCP, помітно повільніший і заблокований або перевіряється багатьма вебсайтами. Тому він не є прямою заміною VPN для повсякденного використання.
Чи може мій ISP визначити, що я використовую Tor?
За замовчуванням — так. Адреси ретрансляторів опубліковані в загальнодоступному консенсусі. Тому ваш провайдер може бачити підключення до відомого guard-ретранслятора. Він не може бачити, які сайти ви відвідуєте. Щоб приховати сам факт використання Tor, Tor Browser пропонує мости з pluggable transport, наприклад obfs4 або Snowflake. Вони підключаються через точку входу, якої немає в загальнодоступному списку. VPN перед Tor також приховує використання Tor від вашого ISP, але натомість повідомляє про цей факт оператору VPN.
Чи робить VPN на моєму власному VPS мене анонімним?
Ні. Сервер орендований на ваше ім’я та оплачений вашою карткою. Тому платіжні записи провайдера вже пов’язують цю адресу з вами. Щоб отримати ці записи, достатньо запиту до провайдера. Цю адресу використовуєте лише ви. Тому все, що виходить із неї, належить одній особі та залишається пов’язаним із нею, доки ви зберігаєте сервер. Self-hosted VPN добре захищає приватність у локальній мережі, але слабко захищає анонімність від тих, хто може звернутися із запитом до вашого провайдера.
Чому вебсайти блокують мене або показують CAPTCHA, коли я використовую Tor?
Тому що адреси exit-ретрансляторів загальнодоступні та використовуються дуже багатьма людьми. Через це зловживання будь-якого з цих користувачів пов’язуються з адресою, яку ви використовуєте. Content delivery networks оцінюють такі адреси негативно й відповідають перевіркою, 403 Forbidden або формою реєстрації, яку неможливо надіслати. Нічого на вашому боці не усуває цю проблему. Новий circuit дає вам інший exit, який іноді має кращу репутацію.
Якщо я використовую VPN, чи все одно можуть витікати мої DNS-запити?
Так, це поширена проблема. Якщо використовується full tunnel, але для tunnel interface не задано resolver, клієнт продовжує використовувати resolver, отриманий від локальної мережі. Маршрут до цього resolver є on-link, тому він має пріоритет над default route тунелю. Через це DNS-запити виходять у відкритому вигляді, тоді як решта трафіку зашифрована. Виконайте resolvectl status і перевірте, що DNS-сервер, указаний для link, через який проходить default route, є resolver тунелю, а не вашим локальним маршрутизатором.