1. Включите автоматическое обновление программ
Одно из главных условий защиты узла – своевременно устанавливать обновления безопасности. Лучше делать это автоматически, чтобы не забыть.
Следуйте инструкциям по включению автоматического обновления программ для вашей операционной системы.
2. Настройте репозиторий Tor Project
Рекомендуемая настройка репозитория Tor Project для Debian/Ubuntu описана здесь. Пожалуйста, перед продолжением выполните эти шаги.
Внимание: пользователям Ubuntu следует использовать Tor из репозитория Tor Project.
3. Установите Tor
Убедитесь, что обновили пакеты, потом устанавливайте через apt
:
# apt update
# apt install tor
4. Установите obfs4proxy
On Debian, the obfs4proxy
package is available in unstable, testing, and stable.
On Ubuntu, bionic, cosmic, disco, eoan, and focal have the package.
If you're running any of them, sudo apt-get install obfs4proxy
should work.
If not, you can build it from source.
5. Найдите файл настроек Tor (обычно тут: /etc/tor/torrc
), откройте и замените содержимое на:
BridgeRelay 1
# Замените "TODO1" портом Tor по своему выбору.
# Этот порт должен быть доступен извне.
# Избегайте порта 9001. Он обычно ассоциируется с Tor. Цензоры могут знать об этом, просматривая Интернет.
ORPort TODO1
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
# Замените "TODO2" портом obfs4 по своему выбору.
# Этот порт должен быть доступен извне и отличаться от порта, указанного для ORPort.
# Избегайте порта 9001. Он обычно ассоциируется с Tor. Цензоры могут знать об этом, просматривая Интернет.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2
# Местный коммуникационный порт между Tor и obfs4. Всегда выбирайте значение "auto".
# "Ext" значит "расширенный", а не "внешний". Не пытайтесь установить конкретный номер порта или слушать 0.0.0.0.
ExtORPort auto
# Замените "<address@email.com>" вашим адресом email, чтобы мы могли связаться с вами в случае проблем с вашим мостом.
# Это необязательно, но желательно.
ContactInfo <address@email.com>
# Выберите название для своего моста. (Это необязательно).
Nickname PickANickname
Не забудьте изменить опции ORPort
, ServerTransportListenAddr
, ContactInfo
и Nickname
.
Обратите внимание: и OR-порт Tor, и порт obfs4 должны быть доступны. Если ваш мост находится за межсетевым экраном или NAT, убедитесь, что оба порта открыты. Чтобы проверить, доступен ли obfs4-порт из Интернета, можете использовать наш тест.
(Опционально) Настройте systemd для допуска obfs4 к привязке к привилегированным портам
Если вы решите использовать фиксированный порт obfs4, меньший 1024 (например, 80 или 443), вам нужно будет настроить systemd и предоставить obfs4 CAP_NET_BIND_SERVICE
возможности для привязки порта с пользователем, не являющимся пользователем root:
sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy
Чтобы обойти укрепление systemd, вам также потребуется отредактировать и изменить конфигурацию.
Выполните команду:
sudo systemctl edit tor@.service tor@default.service
В редакторе введите следующий текст, затем сохраните и выйдите из программы.
[Service]
NoNewPrivileges=no
Во втором появившемся редакторе введите тот же текст, затем сохраните и выйдите из программы.
[Service]
NoNewPrivileges=no
Если всё работает правильно, у вас теперь будут два файла /etc/systemd/system/tor@.service.d/override.conf
и /etc/systemd/system/tor@default.service.d/override.conf
, содержащие введённый вами текст.
Теперь перезапустите службу tor:
sudo service tor restart
Нет необходимости запускать systemctl daemon-reload
, поскольку systemctl edit
делает это автоматически.
Подробнее см. ticket 18356.
6. Перезапустите Tor
Включите и запустите tor
:
# systemctl enable --now tor.service
А если Tor уже работает, перезапустите, чтобы изменения вступили в силу:
# systemctl restart tor.service
7. Следите за логами
Доказательством того, что ваш мост работает без проблем, служит примерно такая запись (обычно в /var/log/syslog
, или выполните # journalctl -e -u tor@default
):
[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
8. В завершение
Если у вас проблемы с настройкой моста, обратите внимание на наш раздел помощи.
Если ваш мост работает прямо сейчас, загляните в примечания после установки.