Опубліковано Середа в 13:582 дн Адміністратор Навіщо це потрібно, якщо є Element із звичайним MatrixElement за замовчуванням підключається до сервера matrix.org або будь-якого іншого публічного сервера. Цей сервер бачить реальний IP при кожному підключенні, бачить метадані - хто з ким у якому чаті перебуває, коли був онлайн, навіть якщо вміст повідомлень зашифрований наскрізним шифруванням.Свій сервер через onion-адресу закриває саме це. Сервер бачить лише IP вихідного вузла Tor. Власник сервера повністю контролює залізо та логи, і ніхто крім нього не вирішує, як довго зберігаються дані.Що потрібно перед початкомVPS-сервер, оплачений анонімно — наприклад, через Njalla, 1984 Hosting або Frantech, оплата криптовалютою, реєстрація через Tor Browser з тимчасовим email. Для тесту вистачить мінімальної конфігурації – 1-2 ГБ RAM, 20 ГБ диска.Доступ до сервера SSH.Будь-яка машина з Linux для керування та подальшого підключення через Element.Крок 1 — підключення до сервера та базова підготовкаПідключаєшся до VPS по SSH з терміналу:ssh root@ip_адреса_сервераОбнови систему:apt update && apt upgrade -yКрок 2 — встановлення Synapse (серверна частина Matrix)apt install -y lsb-release wget apt-transport-https<br>Додай офіційний репозиторій Matrix:wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg <br>echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_relea tee /etc/apt/sources.list.d/matrix-org.list<br>Встанови:apt update<br>apt install matrix-synapse-py3<br>У процесі установки запитає server name - це важливий момент, про який нижче.Крок 3 - встановлюємо Tor і налаштовуємоHiddenServicePort 443 127.0.0.8.0.8.0. 8448 127.0.0.1:8448<br> Зберігаємо, перезапускаємо Tor: systemctl restart tor<br> Дивимося свою onion-адресу: cat /var/lib/tor/matrix/hostname<br> Отримаєш щось на кшталт abcdefghijklmnop.onion сервіс.Крок 4 — критично важливий момент для server_nameВідкриваємо головний конфіг Synapse:nano /etc/matrix-synapse/homeserver.yamlЗнаходимо рядок:server_name: "..."Тут вписуємо саме ту onion-адресу, яку отримали на попередньому кроці:server_name: "ab:" змінити після створення першого користувача — якщо змінити server_name пізніше, всі облікові записи стануть недійсними і доведеться починати з нуля. Перш ніж рухатися далі, переконайся, що вписав правильно.Крок 5 - налаштування TLS і портівУ тому ж homeserver.yaml знаходимо розділ listeners:listeners:<br> - port: 8448 tls: false type: http<br> federation] compress: falseЗверни увагу - tls: false. Це нормально і правильно в даній схемі, тому що весь трафік вже йде через зашифрований Tor-тунель, додатковий TLS поверх надмірний і лише ускладнює налаштування.Крок 6 — реєстрація користувачівВідключаємо відкриту реєстрацію, щоб сторонні не могли створити обліковий запис на сервері: enable_registration :false<br> Створюємопершого користувача вручну:register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml адміністратора - так/ні.Крок 7 - запуск сервісуsystemctl enable matrix-synapse<br>systemctl start matrix-synapse<br>systemctl status matrix-synapseПеревіри, що статус active (running), без помилок.Крок 8 - підключення через ElementПідключатися потрібно обов'язково через Tor, інакше весь зміст втрачається. Відкрий Element через Orbot на телефоні або через torsocks на десктопі:torsocks element-desktop<br> Привході не вибирай стандартний matrix.org, натисніть Змінити сервер домашнього простору (Edit → Homeserver URL) і введи:http://abcdefghijklmnop.onion:848- Готово, аккаунт у приватній Matrix-мережі активний.Запрошення інших учасниківКожному новому учаснику потрібно: створити обліковий запис на сервері (реєстрація відключена для сторонніх, тому створює тільки адміністратор через ту саму команду register_new_matrix_user), передати йому onion-адресу та логін безпечним каналом - наприклад через OnionShare або Signal.Що це архітектурно даєНіякий сторонній сервер не бачить метадані листування. IP всіх учасників прихований через Tor з обох сторін. Повний контроль над retention policy - скільки зберігаються повідомлення вирішує лише власник сервера. Логування можна вимкнути повністю лише на рівні сервера.Що варто знати напередСервер повинен бути постійно онлайн щоб учасники могли отримувати повідомлення - на відміну від разових інструментів передачі файлів, тут потрібна інфраструктура, яка живе постійно.Якщо сервер конфіскують або загубиться доступ - всі повідомлення, якщо retention включений, фізично зберігаються там, значить, варто налаштувати мінімальне зберігання через redaction і retention policy окремо.Оновити Synapse потрібно регулярно - вразливості в серверному програмному забезпеченні закривають швидко, але тільки якщо стежити за оновленнями.ПідсумокЦе не найпростіший вечір налаштування, але результат є повністю незалежним приватним чат-сервером без жодної точки довіри третій стороні. Для команди з кількох осіб, координації редакції, чи просто закритого кола людей, яким важлива приватність без компромісів, — це принципово сильніша позиція, ніж будь-який публічний месенджер, яким би зашифрованим він не був.
Для публікації повідомлень створіть обліковий запис або авторизуйтесь