Прозорий обхід блокування та доступ до мережі Tor. Налаштовуємо Tor правильно Програми tor та проксі сервера

Завантажте Tor Browser тільки з офіційного сайту torproject.org.

Будьте уважні! Є сайти, що імітують сайт проекту Tor. Наприклад, сайт torprojectS.org (додана буква S наприкінці) намагається встановити на ваш комп'ютер троян. НЕ завантажуйте Tor Browser на інших сайтах.

До речі, Tor Browser зроблений на основі браузера Mozilla Firefox, тому що це єдиний браузер, який вміє самостійно працювати з Socks з'єднанням без участі операційної системи.



Після встановлення Tor Browser повністю готовий до роботи. Нижче наведено скріншот з офіційного веб-сайту.

  • не встановлюйте додаткові плагіни, тому що є можливість встановити плагін, який буде видавати ваше реальне місце розташування. Усі необхідні плагіни для анонімності вже встановлені.
  • не відкривайте документи (наприклад, PDF та DOC), завантажені в Tor Browser, поки ви онлайн. У такі файли можуть бути вбудовані макроси, які запросять доступ до Інтернету безпосередньо через програму, оминаючи мережу Tor. Це скомпрометують вашу реальну IP адресу.
  • не завантажуйте торенти в мережі Tor, оскільки це підвищить навантаження на мережу. Торрент програми влаштовані так, що вони завжди отримують доступ до Інтернету безпосередньо та не враховують налаштування проксі. Це може скомпрометувати вашу реальну IP адресу.
  • використовуйте https з'єднання завжди. Таке з'єднання забезпечить безпеку передачі даних.


Налаштування безпеки натисніть Security Settings.


Налаштуйте рівень безпеки:

  • Low (default) – стандартний рівень безпеки.
  • Підходить для більшості користувачів. Веб-сайти відкриваються коректно та нічого не блокується.

  • Medium – Javascript блокується на веб-сайтах, де не підтримується https. HTML5 відео та аудіо запускається за допомогою кліка через плагін NoScript
  • High – Javascript блокується на всіх веб-сайтах. HTML5 відео та аудіо запускається за допомогою кліка через плагін NoScript. Заборонено завантажувати деякі типи картинок, шрифтів та іконок
  • Так як більшість веб-сайтів використовує Javascript, тому переглядати веб-сайти в режимі High проблематично, оскільки частина контенту ховається. Рекомендуємо цей режим, коли потрібно прочитати статтю на якомусь веб-сайті, при цьому авторизуватись на сайті не потрібно.


Tor Browser готовий до роботи і можна відразу ж розпочати анонімний серфінг.

Пам'ятайте, що при такому налаштуванні лише Tor Browser використовує мережу Tor. Всі інші програми використовують пряме підключення до Інтернету і передають вашу реальну IP адресу.

Що робити з програмами, які не вміють працювати безпосередньо з Socks протоколом? Наприклад, поштові клієнти, інші браузери, програми миттєвих повідомлень та ін. Ми рекомендуємо використовувати Proxifier для перенаправлення трафіку таких програм на мережу Tor.

Налаштування Proxifier через мережу Tor

Програма Proxifier вміє:

  • перенаправляти трафік від усіх програм операційної системи через проксі (включаючи поштові клієнти, усі браузери, програми миттєвих повідомлень)
  • створювати ланцюжки проксі
  • використовувати DNS сервер від проксі, приховуючи реальний DNS Інтернет-провайдера
  • підтримує http та socks проксі

Головна сторінка офіційного сайту Proxifier.


Встановіть програму Proxifier. Ця програма вміє збирати весь трафік операційної системи та пропускати через певний проксі-сервер.

Для налаштування Proxifier необхідно дізнатися порт мережі Tor, який використовується. Зайдіть в розділ Preferences Tor Browser.


Виберіть Установки мережі.


Перегляньте локальну IP-адресу та порт підключення мережі Tor. Ці дані необхідно вставити в програму Proxifier, щоб весь трафік операційної системи проходив у мережі Tor. У нашому прикладі 127.0.0.1 та порт 9150.


Запустіть програму Proxifier.

УВАГА! Важливо, спочатку запустити Tor Browser і почекати, поки з'явиться головне вікно. І лише після цього запустити програму Proxifier.

Натисніть кнопку Proxies.


Натисніть Add.


Введіть IP-адресу та порт. У нашому прикладі: 127.0.0.1 та порт 9150.


Виберіть Yes - Ви можете використовувати цей проксі за промовчанням.


Відкрийте будь-який браузер або поштову програму. У програмі Proxifier ви побачите список підключень через мережу Tor. У будь-якому браузері можете перевірити свою IP адресу і переконатися, що буде відображатися IP адреса з мережі Tor, а не вашу реальну IP адресу.


Якщо щось не працює, то закрийте Tor Browser та Proxifier. Потім запустіть Tor Browser і дочекайтеся появи головного вікна. Тільки потім запустіть Proxifier. Жодних додаткових налаштуваньробити не треба. Весь трафік автоматично йтиме через мережу Tor. Закрийте програму Proxifier, щоб повернути свою реальну IP-адресу.

Довгий час я не відчував необхідності обходити великий і жахливий реєстр заблокованих сайтів, але ось і до мене дійшло лихо - мій улюблений провайдер випилив нахрен лостфільм. З цього приводу сьогодні я розповім як налаштувати тор як проксі і використовувати його у зв'язці з хромом (вибір браузера не є важливим).

Я розгляну два випадки і почну з більш простого та повсякденного.

Налаштування проксі на локальному комп'ютері з Windows

Якщо у нас є комп з віндою, то насамперед йдемо сюди: https://www.torproject.org/download/download.html.en , розгортаємо розділ Microsoft Windowsі качаємо Vidalia Relay Bundle. Після встановлення та запуску з'явиться наступне вікно:

Знімаємо галку Show this window on startup, потім тикаємо кнопку Settingsі переходимо у вкладку Sharing:


Вибираємо опцію Run as client onlyякщо не хочемо пропускати через себе чужий трафік для підвищення загальної швидкості tor-мережі. OK

У головному вікні натискаємо Hide, щоб повернути програму в трей. При перезапуску вінди тор стартує автоматично. Переходимо до налаштування браузера.

Налаштування браузера на прикладі Google Chrome

Заходимо в налаштування:

На першій вкладці вводимо ім'я проксі, наприклад Local Tor:

На другій вкладці вводимо:

Host IP Address: 127.0.0.1

SOCKS Proxy: ставимо галку

SOCKS v4/v4a: вибираємо


Переходимо на третю вкладку, тут додаватимемо сайти, на які потрібно ходити через проксі.

Натискаємо Add new pattern. Додамо лостфільм.

Pattern name: LostLilm

URL pattern: *lostfilm.tv*

(Для патернів використовуються звичайні маски, таким чином запис *lostfilm.tv*означає всі посилання, де зустрічається адреса сайту.)

Натискаємо Saveу вікні редагування патерну, потім ще раз – у вікні Proxy Settings. Тепер крім Default Proxyу нас з'явилася наша - Local Tor.

Тепер при спробі зайти на лостфільм фоксипроксі автоматично змусить браузер використати наш тор і жодний реєстр нам не страшний.

Для того, щоб додати інші сайти, потрібно відредагувати створену проксі - Local Tor, перейшовши в третю вкладку та додавшиновий патерн.

Налаштування TOR на окремому комп'ютері для проксіювання кількох домашніх комп'ютерів

Ця частина не для всіх, але так як у мене вдома 2 компа і вільний неттоп, то я вирішив - чого б не використовувати останній як проксі? Я розгорнув на ньому платформу віртуалізації всередині якої зробив віртуалку, але це зовсім не важливо - будемо вважати, що це просто окремий комп'ютер.

Насамперед я накотив туди Ubuntu 14.04 в мінімальній серверній конфігурації. Далі встановив тор та додаткову проксятину:
apt-get install tor tor-geoipdb privoxy

Бекаплю конфіг проксі і створюю новий
mv /etc/privoxy/config/etc/privoxy/config. backup vi / etc/ privoxy/config

У конфіг пишу:
# Загалом, цей файл перебуває в /etc/privoxy/config # # Tor listens as SOCKS4a proxy here: forward-socks4a / 127.0.0.1:9050 . confdir /etc/privoxy logdir /var/log/privoxy # actionsfile standard # Internal purpose, recommended actionsfile default.action # Main actions file actionsfile user.action # , warnings and errors logfile logfile #jarfile jarfile #debug 0 # show each GET/POST/CONNECT request debug 4096 # Startup banner and warnings debug 8192 # Errors - *we highly recommended enabling this* user-manual /us/ privoxy/user-manual listen-address 0.0.0.0:8118 toggle 1 enable-remote-toggle 1 enable-edit-actions 0 enable-remote-http-toggle 1 buffer-limit 4096

Перезапускаю проксі

/ etc/ init. d/ privoxy restart
Готово тепер залишається налаштувати браузер. Налаштування ідентичне вже описаному, відрізняється лише налаштуванням самої проксі.

Ви можете перетворити комп'ютер на веб-проксі для інших пристроїв. локальної мережі. Для приховування реальної IP адреси при цьому підійде Tor. Тобто в налаштуваннях інших пристроїв як проксі потрібно буде вказати дані вашого комп'ютера, і всі пристрої, які виходять в Інтернет через проксі, маскуватимуть свій IP.

При цьому комп'ютер, з якого зроблений проксі, можна використовувати в звичайному режимі. Можна настроїти так, що інші програми (наприклад, веб-браузер) також будуть використовувати проксі для виходу в мережу, або виходити в Інтернет безпосередньо.

Альтернативи

Очевидно, що для того, щоб це працювало, комп'ютер, який виконує роль проксі, повинен бути постійно увімкнений. А це як мінімум означає витрати на електрику. Як альтернативу можна порекомендувати використовувати роутери, в яких вбудована підтримка Tor. Прикладом таких роутерів є Asusсерії RT-AC*з прошивкою Asuswrt-Merlin.

На скріншоті вже застарілий RT-N66U:

У таких роутерах достатньо увімкнути Tor і вибрати, використовувати підключення через мережу Tor для всіх пристроїв, або лише для певних.

Це справді зручно. І якщо вам потрібна функція перенаправлення трафіку всіх пристроїв у локальній мережі через Tor, але не потрібні додаткові функціїпроксі-сервера (фільтрація трафіку, наприклад), то рекомендую подумати про покупку такого просунутого роутера.

Ще однією альтернативою проксі Windows є проксі на Linux. Хоча, мабуть, це вже справа особистих переваг.

Статичний IP у Windows та встановлення служби Tor

Потрібно зробити так, щоб IP комп'ютера не змінювався. Про те, як зробити постійний IP у Windows можна прочитати у статті « » - там багато теорії та докладно описано, як налаштувати статичний локальний IP для системи. Якщо налаштувати постійний локальний IP, то наш «кам'яний квітка», тобто. наше проксі, після зміни IP адреси перетвориться на гарбуз.

Необхідно встановити службу Tor. Як це зробити описано у статті «Статті». Досить просто встановити та запустити – інші дії виконувати необов'язково.

Вихідні дані

Я показуватиму на конкретному прикладі. При цьому мій локальний IP 192.168.0.49 , а служба Tor запущена на своєму стандартному порту 9050 . Якщо ви налаштовуєте проксі разом зі мною, то в наступних командах/налаштуваннях замінюйте 192.168.0.49 на ваш локальний IP. Також якщо ви змінили порт Tor за замовчуванням, замініть 9050 в наступних прикладах на ваш порт. До речі, про те, як змінити порт Tor сказано в .

Веб-проксі та SOCKS це не одне й те саме!

SOCKS за своєю функцією також є проксі. Але його відрізняється від веб-проксі те, що це інша технологія, з іншою реалізацією та трохи іншими функціями.

Найголовніше практичний висновок: якщо пристрій або програма працює тільки з веб-проксі, то його налаштуваннях не можна просто вказати порт Tor- це працюватиме, т.к. веб-проксі та SOCKS це різні речі.

SOCKS це один із прикладних протоколів, інші приклади прикладних протоколів: HTTP, FTP, SMTP, RDP, SNMP, DHCP.

На відміну від HTTP-проксі-серверів, SOCKS передає всі дані від клієнта, нічого не додаючи від себе, тобто з точки зору кінцевого сервера дані, отримані ним від SOCKS-проксі, ідентичні даним, які клієнт передав би безпосередньо, без проксування . SOCKS більш універсальний, він залежить від конкретних протоколів рівня додатків (7-го рівня моделі OSI) і оперує лише на рівні TCP-з'єднань (4-й рівень моделі OSI). Зате HTTP-проксі кешує дані і може більш ретельно фільтрувати вміст даних, що передаються.

Веб-проксі та SOCKS - це як HDMI і VGA - функції у них схожі, і тим не менш ви не можете просто встромити кабель VGA у HDMI гніздо - потрібен перехідник.

Так і з Tor. Якщо програма, яку ви використовуєте, підтримує SOCKS, то вона може безпосередньо підключатися до Tor. Якщо ні - значить потрібно встановити програму-перехідник.

Такою програмою, наприклад, є Privoxy.

Встановлення та запуск Privoxy у Windows

Зверніть увагу на попередження, що проксі використовується в браузері і може не використовувати інші програми. Деякі програми мають власні налаштування проксі – перевірте їх.

Налаштування використання проксі у Windows

Перейдіть до « Параметри», почніть писати « проксі» та виберіть « Зміна параметрів проксі-сервера вручну»:

Увімкніть « Використовувати проксі-сервер», введіть IP та порт, поставте галочку « Не використовувати проксі-сервер для локальних (внутрішніх) адрес»:

Збережіть установки. Перевірте у браузері https://suip.biz/ru/?act=myip :

І в інших програмах, наприклад, у командному рядку Windows:

Curl suip.biz/ip/

Налаштування використання проксі в Linux

У Linux налаштування проксі можна змінити різними способами. Наприклад, це можна зробити для окремих програм або для всієї системи; у графічному інтерфейсі або командному рядку.

Якщо ви використовуєте графічний інтерфейс, перейдіть Параметри-> Мережа. Натисніть шестерню там де Мережевий проксі»:

Переставте перемикач на « Вручну» та введіть ваші дані:

Як всі IP, введіть адресу комп'ютера, де запущено проксі. Як порт для HTTPS, HTTP, FTPвводьте порт Privoxy, а для Socksвведіть порт Tor (за замовчуванням 9050, якщо його не змінили).

Після цього і веб-браузери, і консольні утиліти використовуватимуть налаштування проксі. Але будьте обережні з програмами на зразок Nmap, Masscan – вони відправляють сирі пакети, минаючи системні виклики, – простіше кажучи, вони не використовують налаштування проксі.

Варіант без графічного інтерфейсу, введіть у консоль команди:

Вони 192.168.0.49 замініть на IP свого проксі, а порти 8118 і 9050 на порт Privoxy і Tor відповідно.

Ці налаштування зберігатимуться лише до перезавантаження!

Щоб налаштування були постійними і працювали після перезавантаження комп'ютера, файл /etc/bash.bashrcдодайте ці самі рядки (знову ж таки, замініть IP та номери портів):

Export all_proxy="socks://192.168.0.49:9050/" export http_proxy="http://192.168.0.49:8118/" export https_proxy="http://192.168.0.49:8118/" export no_prox ,127.0.0.1,::1,192.168.1.1,192.168.0.1"

Збережіть файл.

Налаштування використання проксі віртуальними машинами VirtualBox

Будьте уважні з налаштуванням віртуальних машин! У пункті меню « Файл» -> « Налаштування» є вкладка « Проксі». Знайте, що це налаштування працює тільки коли VirtualBox перевіряє та завантажує оновлення.

Для віртуальних машин вам потрібно налаштувати проксі індивідуально всередині операційної системи кожної з них.

Загальносистемні налаштування проксі хостової машини зовсім не обов'язково працюватимуть віртуальної машиниоскільки вона використовує свої власні драйвери та віртуальні мережеві інтерфейси.

Що якщо вам хочеться ходити до мережі без надуманих обмежень, але не хочеться щоразу в браузері замінювати проксі? Що якщо ви хочете заходити і на заборонені сайти, і на звичайні, і щоб швидкість, з якою відкриваються звичайні сайти, не страждала? Що якщо вам цікаво знати що діється у віддалених частинах глобальної мережі?

Виходячи з цих міркувань нам потрібно щоб:

  • Звичайні сайти відкривалися як завжди
  • Заборонені сайти відкривалися через Tor без налаштувань
  • Всі сайти в зоні.onion також відкриваються без налаштувань

З одного боку, вимоги суперечливі. А з іншого боку, чого не зробиш заради зручності!

Можна було б згадати різні способиі засоби для обходу DPI, але якщо не хочеться ні про що таке думати, а скоріше навіть хочеться налаштувати і забути, то аналогів Tor для вирішення поставленого завдання щодо простого доступу до заблокованих сайтів немає.

Ви не отримаєте повної анонімності, дотримуючись лише цих інструкцій. Анонімність без заходів OPSEC неможлива. Інструкція мають на увазі лише обхід обмежень.

Що нам потрібно?

Для початку нам потрібен або роутер, або сервер, що працює як прозорий мост, що пропускає через себе весь трафік. Це може бути і існуючий сервер, це може бути коробочка з Raspberry Pi. Можуть підійти звичайні компактні роутери з Linux, якщо на них в принципі можна поставити необхідні пакети.

Якщо відповідний роутер у вас вже є, то окремо налаштовувати міст не потрібно і можна.

Якщо ж установка Tor на ваш роутер є проблемою, то вам знадобиться будь-який комп'ютер з двома мережними інтерфейсами та Debian Linux на борту. Його ви зрештою підключіть у розрив мережі між роутером, який дивиться у зовнішній світ, і вашою локальною мережею.

Якщо не до серверів та роутерів, то можливо.

Налаштуємо міст

Налаштування моста в Debian не є проблемою. Вам знадобиться програма brctl, яка є у пакеті bridge-utils:

apt install bridge-utils

Постійна конфігурація мосту задається в /etc/network/interfaces . Якщо ви робите міст з інтерфейсів eth0 і eth1, то конфігурація виглядатиме так:

# Відзначимо інтерфейси як налаштовані вручну iface eth0 inet manual iface eth1 inet manual # Міст піднімається автоматично після перезавантаження auto br0 # Міст з отриманням IP по DHCP iface br0 inet dhcp bridge_ports eth0 eth1 # Міст зі статичним IP iface br1 .1.2 netmask 255.255.255.0 gateway 192.168.1.1

Вам потрібно вибрати якусь одну конфігурацію для мосту: з динамічним IP або статичним.

Зверніть увагу, що на цьому етапі не обов'язково включати сервер у розрив мережі. Можна обійтись і одним підключеним інтерфейсом.

Попросимо систему застосувати нові налаштування:

service networking reload

Тепер можна перевірити існування мосту командою brctl show:

# brctl show bridge name bridge id STP enabled interfaces br0 8000.0011cc4433ff no eth0 eth1

Подивитися видану IP адресу, та перевірити взагалі факт видачі якогось IP по DHCP або статично, можна командою ip:

# ip --family inet addr show dev br0 scope global 4: br0: mtu 1500 qdisc noqueue state UP inet 192.168.1.2/24 brd 192.168.1.255 scope global br0

Якщо з IP адресами все гаразд, то вже можна спробувати включити сервер у розрив мережі.

Зрештою, всі пристрої у вашій мережі, будучи включені через сервер, повинні мати повний доступ до глобальної мережі ніби ніякого сервера між ними і зовнішнім роутером немає. Те саме стосується роботи DHCP та іншого. Все це варто перевірити до переходу до налаштування Tor.

Якщо щось працює не так, як раніше, або взагалі не працює, варто спочатку вирішити проблеми, лише потім переходити до настроювання власне Tor.

Налаштуємо демон Tor

Встановлення Tor виконується зазвичай. Встановимо також базу даних прив'язки до країн:

apt install tor tor-geoipdb

В кінці файлу конфігурації /etc/tor/torrc потрібно дописати директиви для включення функції проксі-сервера:

VirtualAddrNetworkIPv4 10.0.0.0/8 AutomapHostsOnResolve 1 TransPort 0.0.0.0:9040 DNSPort 0.0.0.0:5300

Перезапустимо Tor і перевіримо що DNS у нашій конфігурації працює на якомусь відомому сайті:

# service tor restart # dig +short facebookcorewwwi.onion @localhost -p 5300 10.11.127.156

Остання команда повинна вивести IP із підмережі 10.0.0.0/8.

При перезапуску Tor у справі лається використання публічного IP для TransPort і DNSPort , які можуть бути доступні стороннім. Виправимо це непорозуміння, дозволивши лише з'єднання з локальної мережі (у моєму випадку це 192.168.1.0/24):

iptables -A INPUT -s 192.168.1.0/24 -p tcp -dport 9040 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p udp -dport 5300 -j ACCEPT iptables -A INPUT -p -dport 9040 -j DROP iptables -A INPUT -p udp --dport 5300 -j DROP

Останні два правила можна пропустити, якщо у вас для ланцюжка INPUT за замовчуванням стоїть правило DROP.

Налаштуємо доступ для всієї локальної мережі

Щоб усі пристрої в мережі змогли зайти на сайти в Tor, нам потрібно переадресувати всі запити до виділеної мережі 10.0.0.0/8 на порт вбудованого проксі-сервера Tor:

iptables -t nat -A PREROUTING -p tcp -d 10.0.0.0/8 -j REDIRECT --to-port 9040 iptables -t nat -A OUTPUT -p tcp -d 10.0.0.0/8 -j REDIRECT --to- port 9040

Два правила для ланцюжків PREROUTING і OUTPUT ми додаємо, щоб схем працювала не тільки з пристроїв в мережі, але і з самого сервера. Якщо не потрібно щоб ця схема працювала з сервера, то додавання правила в ланцюжок OUTPUT можна пропустити.

Переадресація DNS запитів до зони.

Цю проблему можна було б вирішити або заміною DNS сервера на свій в DHCP відповіді клієнтам, або, якщо у вас в мережі не прийнято використовувати локальний DNS сервер, перехопленням всього DNS трафіку. У другому випадку не потрібно буде абсолютно нічого налаштовувати, але всі ваші клієнти, і ви в тому числі, втратите можливість робити довільні запити до довільних серверів. Це очевидна незручність.

Ми ж переадресуватимемо лише DNS запити, що згадують домен.onion , на порт вбудованого DNS сервера, залишаючи решту запитів у спокої:

iptables -t nat -A PREROUTING -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300 iptables -t nat -A OUTPUT -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm-j REDIRECT --to-ports 5300

Магічний рядок 056f6e696f6e00 пов'язаний з особливостями передачі точки в DNS запитах: вона передається у вигляді довжини наступного після неї рядка. Тому на початку нашого магічного рядка коштує 0x05 для п'яти символів у слові onion. В кінці рядка стоїть нульовий байт 0x00, тому що кореневий домен (точка) має нульову довжину .

Такий підхід дозволяє вашим користувачам (і вам самим) користуватися якими їм зручно DNS серверами, а також запитувати інформацію у будь-яких DNS серверівбез посередників. Водночас жодні запити в зоні.onion не потраплятимуть у відкритий інтернет.

Тепер спробуйте достукатися якогось популярного сайту в мережі Tor з будь-якого пристрою в локальній мережі. Наприклад, так:

$ curl -I facebookcorewwwi.onion HTTP/1.1 301 Moved Permanently Location: https://facebookcorewwwi.onion/

Налагодження та вирішення можливих проблем

Якщо хочеться переконатися, що ніякі DNS запити к.onion не йдуть далі сервера, то їх відсутність можна перевірити так:

ngrep -q -d br0 -q -W byline onion udp port 53

У нормі ця команда, виконана на сервері, має показати повну відсутність пакетів - тобто нічого не виводити, щоб ви не робили.

Якщо Firefox не бачить.

Якщо вам це заважає, а перспектива випадкової деанонімізації вас не хвилює (адже ми вже не пускаємо DNS запити до onion у відкритий інтернет), відключити це налаштування можна в about:config за ключом network.dns.blockDotOnion .

Мобільний Safari і.onion

Програми під iOS, включаючи Safari та Chrome, в принципі ігнорує.onion під час роботи за такою схемою. Як виправити цю проблему в рамках такої схеми, мені невідомо.

Провайдер замінює IP в DNS

Деякі провайдери з економічних міркувань замість блокування сайтів по IP або через DPI лише підмінюють IP для DNS запитів за списком заборонених сайтів.

Найпростішим вирішенням цієї проблеми буде перехід на сервери Google Public DNS. Якщо це не допомагає, а значить ваш провайдер перенаправляє взагалі весь DNS трафік на свій сервер, то можна перейти на використання Tor DNS, переадресувавши весь трафік на нього:

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5300 iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 5300

У моїй мережі використовуються IP з 10.0.0.0/8

Немає проблем! У всіх директивах вище використовуйте якусь іншу підмережу з призначених для цього, крім зарезервованих. Серйозно зверніть увагу на резервовані.

Крім того, не обов'язково використовувати одразу весь діапазон – можна обмежитись і підмережею. Наприклад, підійде 10.192.0.0/10.

Обхід блокування через Tor

Для виходу на заблоковані сайти через Tor перш за все потрібно переконатися що ви не міняєте шило на мило, використовуючи вихідні вузли схильні до тих же обмежень що і ви в силу географічного знаходження. Це можна зробити, вказавши в torrc вихідні вузли в яких країнах не можна використовувати.

ExcludeExitNodes (RU), (UA), (BY)

Оновлюємо реєстр

Реєстр не стоїть на місці та список заблокованих сайтів поповнюється. Тому потрібно час від часу вивантажувати актуальний список IP і додавати його в ipset . Найкраще це робити не вивантажуючи весь список повністю щоразу, а викачуючи лише зміни, наприклад, звідси з GitHub.

#!/bin/bash set -e mkdir -p /var/local/blacklist cd /var/local/blacklist git pull -q || git clone https://github.com/zapret-info/z-i.git . ipset flush blacklist tail +2 dump.csv | cut-f1-d\; | grep -Eo "{1,3}\.{1,3}\.{1,3}\.{1,3}" | tee /var/local/blacklist/blacklist.txt | xargs -n1 ipset add blacklist

Можливо видаляти і додавати лише ті, що змінилися в списку IP, для чого вам може знадобитися git whatchanged .

Якщо вам підходить скрипт вище, то саме місце в /etc/cron.daily/blacklist-update . Не забудьте надати цьому файлу права на виконання.

chmod +x /etc/cron.daily/blacklist-update

Зберігаємо налаштування

apt install iptables-persistent

dpkg-reconfigure iptables-persistent

На жаль, такого ж зручного пакету для ipset поки що немає, але ця проблема вирішується скриптом /etc/network/if-pre-up.d/ipset:

#!/bin/sh ipset -exist create blacklist hash :ip cat /var/local/blacklist/blacklist.txt | xargs -n1 ipset add -exist blacklist

Обов'язково потрібно дати і цьому скрипту права на виконання:

chmod +x /etc/network/if-pre-up.d/ipset

При наступному перезавантаженні цей скрипт виконається та відновить список заблокованих IP.

Якщо забути про сервери...

Окей, скажіть ви, ну а що якщо я хочу отримати все той же зручний доступ до onion, але без серверів - локально, на одному комп'ютері?

Немає проблем! В цьому випадку все навіть простіше. Досить додати ці три рядки в torrc:

AutomapHostsOnResolve 1 TransPort 9040 DNSPort 5300

Потім ці два правила для iptables:

iptables -t nat -A OUTPUT -p tcp -d 127.192.0.0/10 -j REDIRECT --to-port 9040 iptables -t nat -A OUTPUT -p udp --dport 53 -m string \ --hex-string " |056f6e696f6e00|" --algo bm-j REDIRECT --to-ports 5300

І можна перевіряти. Доступ до заблокованих сайтів налаштовується за інструкцією вище.

Ложка дьогтю

Незважаючи на простоту і зручність, цей підхід успадковує частину недоліків мережі Tor.

На заборонені сайти в мережі ви заходите від імені вихідних вузлів, що дає адміністраторам вихідних вузлів принципову можливість спостерігати ваш трафік та ваші паролі, якщо для доступу до цільового сайту не використовується шифрування (мають бути https на початку адреси або зелений замочок 🔒 в адресному рядку).

Можна було б сподіватися, що адміністратори таких вузлів не стежитимуть за вами з міркувань їхнього власного міцного нічного сну, але...

Якщо ви заходите на якийсь сайт по незахищеному з'єднанню, чи через Tor безпосередньо, потрібно завжди мати на увазі що ваші логіни та паролі в принципіможуть опинитися в папці з літерами на столі у людини у погонах.

От і все!

Щось усе ще незрозуміло? Щось треба виправити чи щось особливо сподобалося? Напишіть нижче у коментарях.

Почну із примітки.

Шановні пані та панове!
Чудово розумію, що у вас постійно та хронічно немає часу. І витратити 5 хвилин ви точно не зможете. Хоча на те, щоб написати щось на кшталт "Спасибі! Стане в нагоді! Візьму собі! Буду розбиратися!" у вас час (зазвичай є). Але зрозумійте і ви мене: я теж не маю часу на те, щоб перевіряти всі свої повідомлення на актуальність. Але якби ви ВІДРАЗУ витратили 5 хвилин свого часу, то не втратив би свій час на написання цього повідомлення. Дякую за увагу!

Нещодавно написав повідомлення " ". Але (як виявилося) воно не зовсім правильне. Тому що до нових версій TOR було внесено зміни. Тому якщо ви, то у вас повинні бути одні налаштування проксі, а якщо, то трохи інші.

На жаль, дізнався про це сам лише днями, оновивши програмне забезпечення для TOR на своєму робочому комп'ютері. Через це можуть виникнути проблеми при налаштуванні програм для роботи через мережу TOR. Якщо у вас є такі проблеми або ви просто цікаві, читайте нижче.




Як це виглядає для всієї системи (налаштування браузера Internet Explorer):

Як це виглядає для браузера Opera:

Як це виглядає для браузера Mozilla Firefox:

Як це виглядає для:

Частина №3. Налаштування для TOR
Найуважніші (з тих, хто прочитав до цього місця) могли помітити, що налаштування в частині №1 і №2 відрізняються лише в одній цифрі номера порту "9 1 50" та "9 0 50".
А чи можна задати свій порт у налаштуваннях TOR Browserчи Vidalia? Звичайно можна. І для цього є два способи.

Спосіб №1.
Заходимо в налаштування TOR Browser або Vidalia. Для цього треба навести мишу на "цибулинку" TOR у системній треї та натиснути праву кнопкумиші. З меню, що випало, потрібно вибрати "Налаштування":

У налаштуваннях потрібно вибрати вкладку "Додатково" і натиснути на кнопку "Редагувати поточний torrc":

А ось тепер потрібно бути особливо уважними та робити так, як написав нижче:


1. Пишемо рядок "SocksPort номер порту" (наприклад: "SocksPort 8008").
2. Виділяємо цей рядок за допомогою миші.
3. Ставимо галочку "Застосувати вибране".
4. Натискаємо кнопку "OK".

Чому так? Не знаю, але інакше у мене не програма не хотіла зберігати зміни.

Спосіб №2.
Просто дивимося, де знаходиться файл налаштувань, відкриваємо його будь-яким текстовим редакторомі вписуємо внизу рядок виду: "SocksPort номер порту". Наприклад: "SocksPort 8008". Найкраще це робити, коли ваш TOR не запущений.

Як знайти файл налаштувань? Його адреса написана в розділі "Додатково" налаштувань (див. спосіб №1 вище).
Наприклад, у мене для TOR Browser:

А для Vidalia ось так:

Мало того, ви можете прописати свій шлях до файлу і використовувати однакові установки для обох програм (якщо ви раптом користуєтеся ними обома на одному комп'ютері). Але не забудьте змінити номер порту на вказаний вами там, де це необхідно (див. Частину №1 або №2).

Частина №4. Як і де переглянути налаштування проксі для TOR Browser
Багато хто прочитавши все вище зададуть питання: "А як подивитися, які налаштування проксі використовує мій TOR Browser?".
Дуже просто!

Заходимо в налаштування того Firefox, що йде в комплекті з TOR Browser:

Там переходимо на вкладку "Додаткові" та знаходимо підвкладку "Мережа":

І там видно, які параметри проксі у вашого TOR Browser:

А як і що теперробити, якщо потрібно використовувати http(s)-проксі для роботи через TOR, можливо швидко напишу.

P.S. Актуальність цього повідомлення гарантую протягом 2 тижнів. Якщо у вас починаючи з 15 серпня 2013 щось працювати не буде, можете поставити собі питання: "А чому я не налаштував все це раніше?". Хоча відповідь я можу написати відразу: "Тому що в мене не було часу! Зате тепер маю час у всьому розібратися самостійно". Успіхів!

Мережева безпека