1. Включите автоматическое обновление программ
Одно из главных условий защиты узла – своевременно устанавливать обновления безопасности. Лучше делать это автоматически, чтобы не забыть.
Следуйте инструкциям по включению автоматического обновления программ для вашей операционной системы.
2. Установите epel-release
Для установки пакета tor
в CentOS/RHEL нужно сначала разрешить использование репозитория EPEL. Чтобы это сделать, установите пакет epel-release
:
# yum install epel-release
В последних версиях CentOS/RHEL вместо yum
используется dnf
:
# dnf install epel-release
Если у вас свежая версия с dnf
, пожалуйста, продолжайте использовать её, несмотря на то, что в этом руководстве мы приводим примеры с yum
.
3. Настройте репозиторий Tor Project
Настройка репозитория Tor Project для CentOS/RHEL состоит, главным образом, в изменении /etc/yum.repos.d/Tor.repo
на следующие строки:
[tor]
name=Tor for Enterprise Linux $releasever - $basearch
baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/centos/public_gpg.key
cost=100
4. Установите Tor
Установили репозитории EPEL и Tor? Теперь можете установить пакет Tor:
# yum install tor
Пожалуйста, имейте в виду: когда устанавливаете первый пакет из репозитория EPE, вас попросят верифицировать подписывающий GPG-ключ EPEL.
Пожалуйста, убедитесь, что ключ совпадает с одним из ключей на сайте Fedora Project.
То же самое понадобится при первой установке пакетов из репозитория Tor (и вам также надо убедиться, что ключи совпадают).
5. Создайте и установите obfs4proxy.
В сильно устаревших версиях git команда go get
может и не сработать. Если вы столкнулись с такой проблемой, попробуйте обновить git до более свежей версии.
Установите пакет golang и прочие зависимости:
# yum install git golang policycoreutils-python-utils
Теперь скомпилируйте исполнимый файл и перенесите его в нужную папку:
export GOPATH='mktemp -d'
go get gitlab.com/yawning/obfs4.git/obfs4proxy
sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
# chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy
6. Найдите файл настроек Tor (обычно тут: /etc/tor/torrc
), откройте и замените содержимое на:
RunAsDaemon 1
BridgeRelay 1
# Замените "TODO1" портом Tor по своему выбору. Этот порт должен быть доступен
# Избегайте порта 9001. Он обычно ассоциируется с Tor. Цензоры
# могут знать об этом, просматривая Интернет.
ORPort TODO1
ServerTransportPlugin obfs4 exec /usr/local/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-порт из Интернета, можете использовать наш тест.
7. Перезапустите Tor
sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]
sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]
В последних версиях CentOS/RHEL используется systemd:
# systemctl enable --now tor
... or restart it if it was running already, so configurations take effect
# systemctl restart tor
Если используете более старую версию, например, CentOS/RHEL 6:
# service tor enable
# service tor start
8. Следите за логами
Доказательством того, что ваш мост работает без проблем, служит примерно такая запись (обычно в /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.
9. В завершение
Если у вас проблемы с настройкой моста, обратите внимание на наш раздел помощи.
Если ваш мост работает прямо сейчас, загляните в примечания после установки.