1. Убедитесь, что порты узла доступны
Если вы используете файрвол, откройте дыру в нем, чтобы входящие соединения могли достигать портов, которые вы будете использовать для своего узла (ORPort).
Кроме того, убедитесь, что вы также разрешаете все исходящие соединения, чтобы ваш узел мог связаться с другими узлами Tor, клиентами и местами назначения.
Номер конкретного TCP-порта ORPort можно узнать на странице Setup page(в разделах, посвященных конкретной ОС).
2. Проверьте, что узел работает
Если системный журнал (syslog) содержит следующую запись после запуска демона tor, значит узел запущен и работает должным образом:
Self-testing indicates your ORPort is reachable from the outside. Excellent.
Publishing server descriptor.
Примерно через 3 часа после запуска узла он должен появиться в разделе Relay Search на портале метрик.
Вы можете выполнить поиск своего узла по никнейму или IP-адресу.
3. Прочитайте о жизненном цикле узла Tor
Для увеличения трафика узла требуется некоторое время, это в большей степени относится к сторожевым узлам, и в меньшей - для выходных узлов. Чтобы понять этот процесс, прочитайте о жизненном цикле нового узла.
4. Управление конфигурацией
Если вы планируете запустить более одного узла, или запустить узел высокой емкости (несколько экземпляров Tor на сервере), или использовать надежные функции безопасности, такие как Автономные главные ключи, без выполнения дополнительных действий вручную, вы можете использовать управление конфигурацией для наиболее удобного сопровождения.
Существуют различные решения по управлению конфигурацией для операционных систем на базе Unix (Ansible, Puppet, Salt, ...).
Ansible Role, специально разработанная для операторов узлов Tor, поддерживает несколько операционных систем: Ansible Relayor.
5. Важно: если вы запускаете более одного экземпляра Tor
To avoid putting Tor clients at risk, when operating multiple relays you must set a proper FamilyID value and have a valid ContactInfo in your torrc configuration.
The FamilyID setting is simply telling Tor clients what Tor relays are controlled by a single entity/operator/organization, so they are not used in multiple positions in a single circuit.
Instead of setting up FamilyID manually, for big operators we recommend to automate it setting via a configuration management solution.
Manually managing FamilyID for big relay groups is error-prone and can put Tor clients at risk.
Please note that MyFamily, the previous family configuration method, has been removed.
6. Добавьте правила файрвола для защиты от DDoS атак
Настройка файрвола для ограничения слишком большого количества одновременных соединений показала свою эффективность в противодействии DDoS-атакам на узлы.
Рассмотрите возможность внедрения одного из следующих механизмов:
Примечание: это ресурсы, предоставленные сообществом.
Вам следует внимательно проверить их перед тем как применять на своей системе.
Также имейте в виду, что эти правила показали свою эффективность против конкретных атак, которые происходили в прошлом.
Атаки постоянно совершенствуются и часто требуют новых правил, поэтому, пожалуйста, оставайтесь на связи и обновляйте правила по мере необходимости — либо подписавшись на соответствующий проект, либо подписавшись на рассылку tor-relays.
7. Опционально: Ограничьте использование пропускного канала (и трафика)
Tor по умолчанию не ограничивает использование пропускной способности, но поддерживает несколько способов ограничения используемой пропускной способности и объема трафика.
Это может быть удобно, если вы хотите убедиться, что ваш узел Tor не превышает определенную пропускную способность или общий трафик в день/неделю/месяц.
Для ограничения пропускной способности и трафика можно использовать следующие параметры конфигурации torrc:
- AccountingMax
- AccountingRule
- AccountingStart
- BandwidthRate
- BandwidthBurst
- RelayBandwidthRate
Наличие быстрого узла в течение некоторого времени в месяц предпочтительнее медленного узла в течение всего месяца.
Также см. о пропускной способности в FAQ.
8. Проверьте доступность IPv6
Мы рекомендуем всем включить IPv6 на своих узлах. Это особенно ценно на выходных и сторожевых узлах.
Note that Tor requires IPv4 connectivity, you can not run a Tor relay on IPv6-only.
Before relying on IPv6, it's recommended to do some basic IPv6 connectivity tests.
Следующая командная строка выполнит проверку связи вашего сервера с IPv6-адресами управляющего сервера Tor:
ping6 -c2 2a02:16a8:662:2203::1 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.
At the end of the output you should see "OK." If that is not the case, do not enable IPv6 in your torrc configuration file before IPv6 is indeed working.
Если вы включите IPv6 без работающего подключения IPv6, ваш узел останется неиспользуемым, независимо от того, работает ли IPv4.
If IPv6 works, your relay is likely already reachable via IPv6.
Since Tor 0.4.5, IPv6 address discovery is enabled by default. An ORPort line without an explicit address binds to both IPv4 and IPv6 (0.0.0.0:9001 and [::]:9001), and Tor attempts to auto-discover your IPv6 address the same way it discovers your IPv4.
If it can't find a working IPv6 address, it simply publishes IPv4 only.
You can confirm which addresses Tor bound to and discovered by checking your notice log (look for the Opened OR listener lines and the reachability-check results).
If you prefer to specify your IPv6 address explicitly - recommended if auto-discovery picks the wrong address - add a second ORPort line:
ORPort [IPv6-address]:9001
Note: Unlike an auto-discovered address (which Tor silently drops if unreachable), an explicitly configured IPv6 ORPort that fails its reachability check will stop your relay from publishing its descriptor at all, so only configure an address you know works.
You have to explicitly specify your IPv6 address in square brackets.
Расположение этой строки в файле конфигурации не имеет значения.
Вы можете просто добавить её рядом с первыми строками ORPort в файле torrc.
Если у вас есть глобальный IPv6-адрес, вы сможете найти его в ответе на следующую команду:
ip -6 addr | grep global | sed 's/inet6//;s#/.*##'
To turn IPv6 off entirely and disable auto-discovery, set AddressDisableIPv6 1 in your torrc.
Если вы являетесь выходным узлом с подключением IPv6, скажите демону tor, чтобы он разрешил выход через IPv6, чтобы клиенты могли достичь пунктов назначения IPv6:
IPv6Exit 1
9. Поддержание работы узла
Резервное копирование идентифицирующих ключей Tor
После первоначальной установки и запуска демона tor рекомендуется сделать резервную копию долгосрочных идентифицирующих ключей вашего узла.
Они находятся в папке "keys" вашего DataDirectory (просто сделайте копию всей папки и сохраните ее в безопасном месте).
Поскольку для наращивания трафика узла требуется время, имеет смысл создать резервную копию идентифицирующего ключа, чтобы иметь возможность восстановить репутацию вашего узла в случае сбоя диска - иначе вам придется заново пройти этап наращивания.
Делайте это только в том случае, если у вас имеется безопасное место для хранения ваших ключей, так как в руках недоброжелателей эти ключи теоретически могут позволить выполнить расшифровку трафика или имперсонацию.
Расположение папки с ключами по умолчанию:
- Debian/Ubuntu:
/var/lib/tor/keys
- FreeBSD:
/var/db/tor/keys
- OpenBSD:
/var/tor/keys
- Fedora:
/var/lib/tor/keys
Подпишитесь на рассылку tor-announce
Эта рассылка с очень низким трафиком, вы будете получать информацию о новых стабильных релизах tor и важную информацию об обновлениях безопасности: tor-announce.
Настройка уведомлений о сбоях
Как только вы настроите узел, он, скорее всего, будет работать без особых усилий с вашей стороны.
Если что-то пойдет не так, хорошо бы получить автоматическое уведомление.
Мы рекомендуем использовать Tor Weather, сервис уведомлений, разработанный проектом Tor.
Она помогает операторам узлов получать уведомления о том, что их узлы или мосты находятся в автономном режиме, а также о других происшествиях.
Другой вариант — воспользуйтесь одним из бесплатных сервисов, которые позволяют проверять доступность ORPort-ов вашего узла и отправлять вам уведомления по электронной почте, если они станут недоступны.
UptimeRobot является одной из таких служб, которые позволяют наблюдать за TCP-прослушивателями на произвольных портах.
Такие проверки проверяют только прослушивание порта, но не проверяют работу протокола Tor.
Хороший способ отслеживать состояние работоспособности узла — просмотр его графиков пропускной способности.
Мониторинг работоспособности системы
Чтобы убедиться, что ваш узел работоспособен и не перегружен, имеет смысл осуществлять базовый мониторинг системы в части следующих показателей:
- Пропускная способность
- Установленные TCP-соединения
- Объем памяти
- Файл подкачки
- Процессор
Существует множество инструментов для мониторинга такого рода данных, munin является одним из них и относительно прост в настройке.
Примечание: Не делайте общедоступными графики данных мониторинга, так как это может помочь злоумышленникам в деанонимизации пользователей Tor.
Несколько практических советов:
- Если вы хотите публиковать статистику трафика, следует агрегировать трафик ваших узлов как минимум за сутки или использовать более крупные окна агрегации для пропускной способности, если это возможно, а также по возможности объединять графики/статистику для нескольких узлов.
- Отчетность по отдельным узлам хуже, чем отчетность по итогам для групп узлов. В будущем tor будет безопасно агрегировать статистику пропускной способности, поэтому любая отдельная отчетность о пропускной способности узла будет менее безопасной, чем статистика tor.
- Меньшие периоды хуже.
- Числа хуже графиков.
- Данные в реальном времени хуже, чем исторические данные.
- Данные в категориях (версия IP, вход/выход и т.д.) хуже, чем общие данные.
Инструменты
В этом разделе перечислены несколько инструментов, которые могут пригодиться оператору узла Tor.
Nyx: это инструмент Tor Project (ранее arm), который позволяет вам видеть данные вашего узла в режиме реального времени.
vnstat: vnstat - это инструмент командной строки, который показывает объем данных, проходящих через ваше сетевое соединение.
Вы также можете использовать его для генерации графиков в виде PNG-изображений. документация vnstat и демонстрационный результат.