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

Подробнее об установке и создании obfs4proxy из исходника, пожалуйста, читайте в официальной документации.

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. Disable SeLinux

Check wether SeLinux is set to "Enforcing":

# getenforce

If set to "Enforcing", change Status to "Permissive":

# setenforce 0

To make the changes permanent:

# nano /etc/selinux/config

And change SELINUX=enforcing to SELINUX=permissive.

7. Open Ports in Fedora firewall

For the obfs4 and ORPort which you have chosen in the torrc file:

# firewall-cmd --add-port XXX/tcp --permanent

After you did it for both ports, run:

# firewall-cmd --reload

(Опционально) Настройте systemd для допуска obfs4 к привязке к привилегированным портам

If you decide to use a fixed obfs4 port smaller than 1024 (for example 80 or 443), you will need to configure systemd and give obfs4 CAP_NET_BIND_SERVICE capabilities to bind the port with a non-root user:

# setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

8. Restart Tor

# systemctl enable --now tor

9. Monitor your logs

Доказательством того, что ваш мост работает без проблем, служит примерно такая запись (обычно в /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. Final Notes

Если у вас проблемы с настройкой моста, обратите внимание на наш раздел помощи. Если ваш мост работает прямо сейчас, загляните в примечания после установки.