1. Включите автоматическое обновление программ

Одно из главных условий защиты узла – своевременно устанавливать обновления безопасности. Лучше делать это автоматически, чтобы не забыть. Следуйте инструкциям по включению автоматического обновления программ для вашей операционной системы.

2. Загрузите pkg

На этом этапе предполагается, что у нас установлена и запущена базовая FreeBSD. (здесь мы используем версию 12.2). Это значит, что никаких пакетов не установлено, даже собственно пакетного менеджера pkg нет. Команда sudo недоступна, мы выполняем команды с правами суперпользователя (root).

Чтобы скачать и установить pkg:

# pkg bootstrap
# pkg update -f

2.1. Советы по настройке pkg

Чтобы оперативнее получать обновления, советуем изменить вариант 'quarterly', используемый pkg, на 'latest'.

Ещё одно важное условие: получать пакеты/обновления по HTTPS. Для этого понадобится дополнительный пакет (ca_root_nss).

Чтобы установить пакет ca_root_nss:

# pkg install ca_root_nss

Не будем удалять настройки pkg по умолчанию. Добавим новые настройки и установим для них приоритет. Создадим новую папку, а в ней файл конфигурации. Сделаем эти настройки основными. Вот как будет называться этот файл: /usr/local/etc/pkg/repos/FreeBSD.conf.

Создайте новую папку:

# mkdir -p /usr/local/etc/pkg/repos

Так должен выглядеть новый файл конфигурации: /usr/local/etc/pkg/repos/FreeBSD.conf:

FreeBSD: {
  url: pkg+https://pkg.freebsd.org/${ABI}/latest
}

После того, как все изменения вступят в силу, обновите список пакетов и проверьте, нет ли каких-то новых обновлений:

# pkg update -f
# pkg upgrade -y -f

3. Установка пакета

Установите пакет tor для FreeBSD's. Устанавливаем самую свежую стабильную версию:

# pkg install tor

... или установите альфа-версию:

# pkg install tor-devel

4. Файл конфигурации

Приведите конфигурационный файл /usr/local/etc/tor/torrc к следующему виду:

Nickname    myNiceRelay  # Замените "myNiceRelay" на выбранный вами ник
ContactInfo your@e-mail  # Укажите ваш e-mail и имейте в виду, что он будет опубликован
ORPort      443          # Вы можете использовать другой порт
ExitRelay   0
SocksPort   0
Log notice  syslog

5. Включите net.inet.ip.random_id

# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1

6. Запустите узел

Здесь мы выполняем настройку tor для запуска во время загрузки операционной системы и используем функцию setuid, чтобы привязать к более низким портам, таким как 443 (сам демон по-прежнему будет работать как обычный непривилегированный пользователь).

# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start

7. В завершение

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