mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-19 14:32:40 +00:00
apply corrections
This commit is contained in:
parent
32b2b7722a
commit
e25c5e6475
1 changed files with 20 additions and 19 deletions
|
|
@ -1,16 +1,16 @@
|
||||||
# Встановлення Onion-роутера Arti з підключенням до мережі Tor через Yggdrasil
|
# Встановлення Onion-роутера Arti з підключенням до мережі Tor через Yggdrasil
|
||||||
|
|
||||||
Arti - це сучасна реалізація Onion-роутера мовою Rust:
|
Arti - це сучасна реалізація Onion-роутера мережі Tor мовою Rust:
|
||||||
=> https://gitlab.torproject.org/tpo/core/arti
|
=> https://gitlab.torproject.org/tpo/core/arti
|
||||||
|
|
||||||
Нижче інструкція зі встановлення та налаштування його проксі-сервера з підключенням до мережі Tor через Yggdrasil (у якості VPN). При відповідному налаштуванні клієнтів, це дозволяє приховати факт користування мережею Tor а також підвищує конфіденційність всередині неї, адже вхідні вузли Tor бачитимуть IP адресу провайдера моста (bridge), а міст - бачитиме IPv6 мережі Yggdrasil (до якої в свою чергу, можна підключитися через інші мережі)
|
Нижче інструкція зі встановлення та налаштування його проксі-сервера з підключенням до мережі через Yggdrasil (у якості VPN). При відповідному налаштуванні клієнтів, це дозволяє приховати факт користування мережею Tor а також підвищує конфіденційність всередині неї, адже вхідні вузли Tor бачитимуть IP адресу провайдера моста (bridge), а міст - бачитиме IPv6 мережі Yggdrasil (до якої в свою чергу, можна підключитися через інші мережі)
|
||||||
|
|
||||||
## Збірка з вихідного коду
|
## Збірка з вихідного коду
|
||||||
|
|
||||||
При першій збірці програми на Rust, потрібно встановити середовище розробки:
|
При першій збірці програми на Rust, потрібно встановити середовище розробки:
|
||||||
=> install-latest-rust-version-on-linux.gmi Встановлення останньої версії Rust в Linux
|
=> install-latest-rust-version-on-linux.gmi Встановлення останньої версії Rust в Linux
|
||||||
|
|
||||||
Далі, забираємо початковий код усіх компонентів Arti та компілюємо його з Сargo:
|
Після чого, забираємо початковий код усіх компонентів Arti та компілюємо його з Сargo:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
git clone https://gitlab.torproject.org/tpo/core/arti.git
|
git clone https://gitlab.torproject.org/tpo/core/arti.git
|
||||||
|
|
@ -19,17 +19,17 @@ cargo build --release
|
||||||
sudo install target/release/arti /usr/local/bin/arti
|
sudo install target/release/arti /usr/local/bin/arti
|
||||||
```
|
```
|
||||||
* тут ми встановлюємо тільки компонент `arti` та ставимо його в системну теку для подальшого запуску з systemd; по аналогії можна встановити й інші компоненти з теки target/release та налаштувати для них сервіси або ж зібрати тільки потрібний нам `-p arti`
|
* тут ми встановлюємо тільки компонент `arti` та ставимо його в системну теку для подальшого запуску з systemd; по аналогії можна встановити й інші компоненти з теки target/release та налаштувати для них сервіси або ж зібрати тільки потрібний нам `-p arti`
|
||||||
* після виконання команди `install` поточну теку `arti` можна видалити, щоб не займала простір
|
* після виконання команди `install` поточну теку `arti` можна видалити, щоб звільнити простір
|
||||||
|
|
||||||
## Конфігурація
|
## Конфігурація
|
||||||
|
|
||||||
Тут все просто. На сайті є готовий приклад файлу конфігурації і детальними коментарями до кожної опції:
|
Тут все просто. На сайті є готовий приклад файлу конфігурації з детальними коментарями до кожної опції:
|
||||||
=> https://gitlab.torproject.org/tpo/core/arti/-/blob/main/crates/arti/src/arti-example-config.toml
|
=> https://gitlab.torproject.org/tpo/core/arti/-/blob/main/crates/arti/src/arti-example-config.toml
|
||||||
|
|
||||||
Для підключення до мережі Tor засобами Yggdrasil, достатньо вказати потрібні мости, наприклад з цього списку:
|
Для підключення до мережі Tor засобами Yggdrasil - достатньо лише вказати потрібні мости, наприклад з цього списку:
|
||||||
=> https://yggdrasil-network.github.io/services.html#tor-bridges
|
=> https://yggdrasil-network.github.io/services.html#tor-bridges
|
||||||
|
|
||||||
У своїй конфігурації, явно вказав атрибут `enabled`, щоб використовувати для підключення тільки мости зі списку bridges:
|
У своїй конфігурації, я також явно вказав атрибут `enabled`, щоб використовувати для підключення тільки мости зі списку bridges:
|
||||||
|
|
||||||
``` config.toml
|
``` config.toml
|
||||||
# Bridges (for anticensorship support)
|
# Bridges (for anticensorship support)
|
||||||
|
|
@ -62,7 +62,7 @@ bridges = [
|
||||||
В репозиторії можна знайти пропозиції реалізувати сповіщення з безпеки, при використанні хостів відмінних від localhost:
|
В репозиторії можна знайти пропозиції реалізувати сповіщення з безпеки, при використанні хостів відмінних від localhost:
|
||||||
=> https://gitlab.torproject.org/tpo/core/arti/-/issues/1636
|
=> https://gitlab.torproject.org/tpo/core/arti/-/issues/1636
|
||||||
|
|
||||||
Але бувають ситуації, коли проксі працює на локальному роутері, що відносно безпечно: адже до нього матимуть доступ тільки пристрої локальної мережі; або на віддаленому сервері з відповідним правилом фаєрвол. Перечитавши реалізацію парсера цієї опції, вияснив, що вона таки підтримує вибіркові хости, при чому можна вказати декілька (вектором). Для цього, потрібно вказати хост і порт рядком з лапками, у форматі адреси сокета:
|
Але бувають ситуації, коли проксі працює на локальному роутері, що відносно безпечно: адже до нього матимуть доступ тільки пристрої локальної мережі; або на віддаленому сервері з відповідним правилом фаєрвол. Перечитавши реалізацію парсера цієї опції, вияснив, що вона таки підтримує вибіркові хости, при чому можна вказати декілька (вектором). Для цього, потрібно вказати хост і порт "рядком" з лапками, у форматі адреси сокета:
|
||||||
|
|
||||||
```
|
```
|
||||||
socks_listen = "xxx.xxx.xxx.xxx:9150"
|
socks_listen = "xxx.xxx.xxx.xxx:9150"
|
||||||
|
|
@ -90,7 +90,7 @@ sudo useradd -m arti
|
||||||
Приклад конфігурації для Debian є в репозиторії:
|
Приклад конфігурації для Debian є в репозиторії:
|
||||||
=> https://gitlab.torproject.org/tpo/core/arti/-/blob/main/debian/systemd/arti.service
|
=> https://gitlab.torproject.org/tpo/core/arti/-/blob/main/debian/systemd/arti.service
|
||||||
|
|
||||||
Але в мене вона виглядає інакше:
|
Але в мене вона інша:
|
||||||
|
|
||||||
```
|
```
|
||||||
[Unit]
|
[Unit]
|
||||||
|
|
@ -110,12 +110,9 @@ ExecReload=/bin/kill -HUP ${MAINPID}
|
||||||
KillSignal=SIGINT
|
KillSignal=SIGINT
|
||||||
LimitNOFILE=16384
|
LimitNOFILE=16384
|
||||||
|
|
||||||
# Hardening
|
|
||||||
NoNewPrivileges=yes
|
NoNewPrivileges=yes
|
||||||
|
|
||||||
PrivateTmp=yes
|
PrivateTmp=yes
|
||||||
PrivateDevices=yes
|
PrivateDevices=yes
|
||||||
|
|
||||||
ProtectHome=yes
|
ProtectHome=yes
|
||||||
ProtectSystem=full
|
ProtectSystem=full
|
||||||
|
|
||||||
|
|
@ -160,14 +157,14 @@ systemctl status arti
|
||||||
|
|
||||||
### Налаштування браузера засобами PAC
|
### Налаштування браузера засобами PAC
|
||||||
|
|
||||||
Якщо метою користування Tor - є анонімізація, то для фільтрації прямих з'єднань на Інтернет у браузерах сімейства FireFox, зручно користуватись маршрутизацією PAC. Вона дозволяє гнучко налаштовувати потрібні правила для окремих URL засобами JS.
|
Якщо метою користування Tor є анонімізація, то для фільтрації прямих з'єднань на Інтернет зручно встановити окремий браузер, вказавши в ньому єдиний проксі. Або/і скористатись маршрутизацією PAC. Вона дозволяє гнучко налаштовувати потрібні правила для окремих URL засобами JS.
|
||||||
|
|
||||||
Приклад налаштування PAC, у браузерах сімейства FireFox, описував на прикладі проксі-сервера Yggstack:
|
Варіант налаштування PAC у браузерах сімейства FireFox - описував на прикладі налаштувань проксі-сервера Yggstack:
|
||||||
=> safe-yggdrasil-websites-browsing-with-yggstack.gmi Безпечний перегляд сайтів Yggdrasil з Yggstack
|
=> safe-yggdrasil-websites-browsing-with-yggstack.gmi Безпечний перегляд сайтів Yggdrasil з Yggstack
|
||||||
|
|
||||||
Таким чином, вдається уникнути ідентифікації користувача Tor (або іншого проксі) в ареалах, де використання такого може бути заборонено. Наприклад, шляхом вбудованого на сайт зображення, файлу скриптів або стилів у код на сайті.
|
Таким чином, вдається уникнути ідентифікації користувача Tor (або іншого проксі) в ареалах, де використання такого може бути заборонено. Наприклад, шляхом вбудованого на сайт зображення, файлу скриптів або стилів у код на сайті.
|
||||||
|
|
||||||
Утім, описаний вище спосіб - запобігає лише одному способу виявлення з поміж багатьох. В цьому плані, браузер Tor - є більш привабливим, адже включає з коробки й інші засоби маскування відбитків пальців: динамічний розміру екрану, шрифти, політику cookies, JS, заголовків HTTP тощо.
|
Утім, описаний вище спосіб запобігає лише одному способу виявлення з поміж багатьох. В цьому плані, браузер Tor - є більш привабливим, адже включає з коробки й інші засоби маскування відбитків пальців: динамічний розміру екрану, шрифти, політику cookies, JS, заголовків HTTP тощо.
|
||||||
|
|
||||||
### Ізоляція середовища
|
### Ізоляція середовища
|
||||||
|
|
||||||
|
|
@ -176,18 +173,18 @@ systemctl status arti
|
||||||
=> filter-outgoing-connections-with-ufw.gmi Обмеження вихідних з'єднань на Інтернет з ufw
|
=> filter-outgoing-connections-with-ufw.gmi Обмеження вихідних з'єднань на Інтернет з ufw
|
||||||
=> enhancing-privacy-in-linux-apps.gmi Підвищення рівня приватності в застосунках Linux (не панацея але приверне увагу до очевидних проблем)
|
=> enhancing-privacy-in-linux-apps.gmi Підвищення рівня приватності в застосунках Linux (не панацея але приверне увагу до очевидних проблем)
|
||||||
|
|
||||||
Описані вище рішення дозволяють безпечно користуватись застосунками, які від початку не розроблялись з метою приватності: більшість клієнтів BitTorrent, криптографічні гаманці (окрім відомого мені GOST/I2P), та інші, що працюють за принципом Peer-to-Peer і реалізують технології DNS та PEX.
|
Описані вище рішення дозволяють безпечно користуватись застосунками, які від початку не розроблялись з метою приватності: більшість клієнтів BitTorrent, криптографічних гаманців, та інші, що працюють за принципом Peer-to-Peer і реалізують технології DNS та PEX.
|
||||||
|
|
||||||
## Тестування з'єднань
|
## Тестування з'єднань
|
||||||
|
|
||||||
Перевірити роботу роутера можна запустивши його в терміналі з аргументом відлагодження:
|
Перевірити роботу роутера Arti можна запустивши його в терміналі з аргументом відлагодження:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
arti --log-level debug ...
|
arti --log-level debug ...
|
||||||
```
|
```
|
||||||
* або краще `-l trace`
|
* або краще `-l trace`
|
||||||
|
|
||||||
Реалізації журналів я не довіряю і додатково перевіряю трафік та його тип графічною утилітою Etherape:
|
Реалізації журналів я не довіряю і додатково перевіряю трафік графічною утилітою Etherape:
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
apt install etherape
|
apt install etherape
|
||||||
|
|
@ -199,3 +196,7 @@ sudo etherape
|
||||||
``` bash
|
``` bash
|
||||||
netstat -tulpn | grep arti
|
netstat -tulpn | grep arti
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Посилання
|
||||||
|
|
||||||
|
=> https://devzone.org.ua/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil Веб-адаптація цього матеріалу з коментарями на DevZone
|
||||||
Loading…
Add table
Add a link
Reference in a new issue