1. Включите автоматическое обновление программ
Одно из главных условий защиты узла – своевременно устанавливать обновления безопасности. Лучше делать это автоматически, чтобы не забыть.
Следуйте инструкциям по включению автоматического обновления программ для вашей операционной системы.
2. Настройте репозиторий Tor Project
Настройка репозитория Tor Project для Fedora состоит, главным образом, в изменении /etc/yum.repos.d/Tor.repo
на следующие строки:
[tor]
name=Tor for Fedora $releasever - $basearch
baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
cost=100
Подробнее об этом см. здесь.
3. Установите tor
Когда вы закончите с настройкой репозитория Tor, можете установить пакет:
# dnf install tor
4. Установите obfs4proxy
Мы будем устанавливать и использовать obfs4
как подключаемый транспорт. Поэтому нужно установить obfs4proxy
.
В отличие от других дистрибутивов Linux Fedora предлагает исполнимый пакет. Это стало возможным с версии Fedora 33.
Пакет называется obfs4
. Его-то и нужно установить:
# dnf install obfs4
For more information about installing or building lyrebird
from source, please refer to its official documentation.
5. Найдите файл настроек Tor (обычно тут: /etc/tor/torrc
), откройте и замените содержимое на:
RunAsDaemon 1
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-порт из Интернета, можете использовать наш тест.
6. Отключите SeLinux
Проверьте, установлено ли для SeLinux значение "Enforcing":
# getenforce
Если установлено значение "Enforcing", измените статус на "Permissive":
# setenforce 0
Чтобы сделать изменения постоянными:
# nano /etc/selinux/config
И измените SELINUX=enforcing на SELINUX=permissive.
7. Откройте порты в брандмауэре Fedora
Для obfs4 и ORPort, которые вы выбрали в файле torrc:
# firewall-cmd --add-port XXX/tcp --permanent
После того как вы сделали это для обоих портов, выполните команду:
# firewall-cmd --reload
(Опционально) Настройте systemd для допуска obfs4 к привязке к привилегированным портам
Если вы решите использовать фиксированный порт obfs4, меньший 1024 (например, 80 или 443), вам нужно будет настроить systemd и предоставить obfs4 CAP_NET_BIND_SERVICE
возможности для привязки порта с пользователем, не являющимся пользователем root:
# setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy
8. Перезапустите Tor
# systemctl enable --now tor
9. Контролируйте журналы
Доказательством того, что ваш мост работает без проблем, служит примерно такая запись (обычно в /var/log/tor/log
или /var/log/syslog
):
[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.
10. Заключительные заметки
Если у вас проблемы с настройкой моста, обратите внимание на наш раздел помощи.
Если ваш мост работает прямо сейчас, загляните в примечания после установки.