1. Убедитесь, что порты узла доступны
Если вы используете брандмауэр, откройте дыру в нем, чтобы входящие соединения могли достигать портов, которые вы будете использовать для своего ретранслятора (ORPort).
Кроме того, убедитесь, что вы также разрешаете все исходящие соединения, чтобы ваш узел мог связаться с другими узлами Tor, клиентами и местами назначения.
Конкретный номер порта TCP ORPort можно найти в примерах конфигурации torrc ниже (в разделах, посвященных ОС).
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
Чтобы не подвергать риску клиентов Tor, при работе с несколькими узлами вы должны установить правильное значение MyFamily и иметь действительный ContactInfo в вашей конфигурации torrc.
Настройка MyFamily просто сообщает клиентам Tor, какие узлы Tor управляются одним объектом/оператором/организацией, благодаря чему они не используются в нескольких позициях одной цепочки.
Если вы запускаете два узла и у них есть отпечатки AAAAAAAAAA и BBBBBBBB, вы должны добавить следующую конфигурацию для задания MyFamily:
MyFamily AAAAAAAAAA,BBBBBBBB
на оба узла. Чтобы найти отпечаток вашего узла, вы можете заглянуть в файлы журнала при запуске tor или найти файл с именем "fingerprint" в вашем tor DataDirectory.
Чтобы не делать это вручную, для крупных операторов мы рекомендуем автоматизировать настройку MyFamily с помощью решения для управления конфигурацией.
Ручное управление MyFamily для больших групп узлов подвержено ошибкам и может подвергнуть риску клиентов Tor.
6. Опционально: ограничение использования полосы пропускания (и трафика)
Tor по умолчанию не ограничивает использование пропускной способности, но поддерживает несколько способов ограничения используемой пропускной способности и объема трафика.
Это может быть удобно, если вы хотите убедиться, что ваш узел Tor не превышает определенную пропускную способность или общий трафик в день/неделю/месяц.
Для ограничения пропускной способности и трафика можно использовать следующие параметры конфигурации torrc:
- AccountingMax
- AccountingRule
- AccountingStart
- BandwidthRate
- BandwidthBurst
- RelayBandwidthRate
Наличие быстрого узла в течение некоторого времени в месяц предпочтительнее медленного узла в течение всего месяца.
Также см. о пропускной способности в FAQ.
7. Проверка доступности IPv6
Мы рекомендуем всем включить IPv6 на своих узлах. Это особенно ценно на выходных и сторожевых узлах.
Прежде чем разрешить демону tor использовать IPv6 в дополнение к IPv4, необходимо выполнить некоторые базовые тесты.
Следующая командная строка выполнит проверку связи вашего сервера с IPv6-адресами управляющего сервера Tor:
ping6 -c2 2001:858:2:2:aabb:0:563b:1526 && 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.
В конце ответа вы увидите "OK". Если это не так, не включайте IPv6 в файле конфигурации torrc, прежде чем IPv6 не заработает должным образом.
Если вы включите IPv6 без работающего подключения IPv6, ваш узел останется неиспользуемым, независимо от того, работает ли IPv4.
Если он работает нормально, сделайте узел Tor доступным через IPv6, добавив дополнительную строку ORPort в конфигурацию (например, для ORPort 9001):
ORPort [IPv6-address]:9001
Расположение этой строки в файле конфигурации не имеет значения.
Вы можете просто добавить её рядом с первыми строками ORPort в файле torrc.
Примечание: Вы должны явно указать свой IPv6-адрес в квадратных скобках, вы не можете сказать tor выполнить привязку к любому IPv6 (как вы делаете для IPv4).
Если у вас есть глобальный IPv6-адрес, вы сможете найти его в ответе на следующую команду:
ip -6 addr | grep global | sed 's/inet6//;s#/.*##'
Если вы являетесь выходным узлом с подключением IPv6, скажите демону tor, чтобы он разрешил выход через IPv6, чтобы клиенты могли достичь пунктов назначения IPv6:
IPv6Exit 1
Примечание: Tor требует подключения IPv4, вы не можете запустить узел Tor только на IPv6.
8. Обслуживание узла
Резервное копирование идентифицирующих ключей 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.
Настройка уведомлений о сбоях
Как только вы настроите свой узел, он, скорее всего, будет работать без особого участия с вашей стороны.
Если что-то пойдет не так, хорошо бы получить уведомление об этом автоматически.
Мы рекомендуем вам использовать одну из бесплатных служб, которые позволяют вам проверить ORPorts вашего узла на доступность и отправить вам электронное письмо, если они станут недоступными по какой-либо причине.
UptimeRobot является одной из таких служб, которые позволяют наблюдать за TCP-прослушивателями на произвольных портах.
Эта служба может проверять настроенные порты раз в 5 минут и отправлять вам электронное письмо, если ваш процесс tor останавливается или становится недоступным.
Проверка проводится только для TCP-прослушивателя, не затрагивая протокол Tor.
Хороший способ отслеживать состояние работоспособности узла — просмотр его графиков пропускной способности.
Мониторинг работоспособности системы
Чтобы убедиться, что ваш узел работоспособен и не перегружен, имеет смысл осуществлять базовый мониторинг системы в части следующих показателей:
- Пропускная способность
- Установленные TCP-соединения
- Объем памяти
- Обмен
- Процессор
Существует множество инструментов для мониторинга такого рода данных, munin является одним из них и относительно прост в настройке.
Примечание: Не делайте общедоступными графики данных мониторинга, так как это может помочь злоумышленникам в деанонимизации пользователей Tor.
Несколько практических советов:
- Если вы хотите опубликовать статистику трафика, вы должны агрегировать весь трафик ваших узлов в течение недели, а затем округлить его до ближайших 10 ТБ (терабайт).
- Отчетность по отдельным узлам хуже, чем отчетность по итогам для групп узлов. В будущем tor будет безопасно агрегировать статистику пропускной способности, поэтому любая отдельная отчетность о пропускной способности узла будет менее безопасной, чем статистика tor.
- Меньшие периоды хуже.
- Числа хуже графиков.
- Данные в реальном времени хуже, чем исторические данные.
- Данные в категориях (версия IP, вход/выход и т.д.) хуже, чем общие данные.
Инструменты
В этом разделе перечислены несколько инструментов, которые могут пригодиться оператору узла Tor.
Nyx: это инструмент Tor Project (ранее arm), который позволяет вам видеть данные вашего узла в режиме реального времени.
vnstat: vnstat - это инструмент командной строки, который показывает объем данных, проходящих через ваше сетевое соединение.
Вы также можете использовать его для генерации графиков в виде PNG-изображений. документация vnstat и демонстрационный результат.