1. Переконайтеся, що порти реле доступні

Якщо ви використовуєте брандмауер, відкрийте дірку в брандмауері, щоб вхідні з’єднання могли досягати портів, які ви використовуватимете для реле (ORPort).

Також переконайтеся, що ви також дозволили всі вихідні з’єднання, щоб ваш ретранслятор міг зв’язатися з іншими ретрансляторами, клієнтами та пунктами призначення Tor.

Ви можете знайти конкретний номер TCP-порту ORPort на сторінці налаштування (у розділах, що стосуються ОС).

2. Переконайтеся, що ваше реле працює

Якщо ваш файл журналу (syslog) містить наступний запис після запуску демона tor, ретрансляція має працювати належним чином:

Self-testing indicates your ORPort is reachable from the outside. Excellent.
Publishing server descriptor.

Приблизно через 3 години після запуску ретрансляції воно має з’явитися в Пошуку реле на порталі Metrics. Ви можете шукати свій реле за своїм псевдонімом або IP-адресою.

3. Прочитайте про життєвий цикл ретрансляції Tor

Потрібен деякий час для збільшення трафіку ретрансляції, особливо це стосується захисних реле, але меншою мірою також і вихідних реле. Щоб зрозуміти цей процес, прочитайте про життєвий цикл нового реле.

4. Управління конфігурацією

If you plan to run more than a single relay, or you want to run a high capacity relay (multiple Tor instances per server) or want to use strong security features like Offline Master Keys without performing additional steps manually, you may want to use configuration management for better maintainability.

Існує кілька рішень керування конфігурацією для операційних систем на основі Unix (Ansible, Puppet, Salt, ...).

Наступну роль Ansible було створено спеціально для операторів ретрансляції 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 Project. Це допомагає операторам ретрансляторів отримувати сповіщення, коли їхні реле або мости не працюють, а також про інші інциденти.

Іншим варіантом є використання однієї з безкоштовних служб, які дозволяють перевірити доступність ORP-портів вашого реле та надіслати вам електронний лист, якщо вони стануть недоступними. UptimeRobot є однією з цих служб, які дозволяють відстежувати слухачі TCP на довільних портах. Це перевіряє лише слухача, але не говорить протокол Tor.

Хороший спосіб відстежити стан працездатності реле – це переглянути його графіки пропускної здатності.

Моніторинг стану системи

Щоб переконатися, що ваше реле справне та не перевантажене, має сенс мати базовий моніторинг системи, щоб стежити за такими показниками:

  • Пропускна здатність
  • Встановлені з'єднання TCP
  • Пам'ять
  • Обмін
  • ЦП

Існує багато інструментів для моніторингу такого роду даних, munin є одним із них, і його відносно легко налаштувати.

Примітка: Не публікуйте ваші приватні графіки даних моніторингу, оскільки це може допомогти зловмисникам деанонімізувати користувачів Tor.

Деякі практичні поради:

  • Якщо ви хочете опублікувати статистику трафіку, вам слід агрегувати трафік ваших ретрансляторів принаймні за день або використовувати більші вікна агрегації для пропускної здатності, якщо це можливо, і поєднати графіки/статистику для кількох ретрансляторів, де це можливо.
  • Звітування про окремі реле гірше, ніж звітування про загальні дані для груп реле. У майбутньому tor безпечно збиратиме статистику пропускної здатності, тому будь-яке звітування про пропускну здатність окремого реле буде менш безпечним, ніж статистика tor.
  • Менші менструації гірші.
  • Цифри гірші за графіки.
  • Дані в реальному часі гірші за історичні.
  • Дані в категоріях (версія IP, вхід/вихід тощо) гірші, ніж загальні дані.

Засоби

У цьому розділі наведено кілька інструментів, які можуть стати в нагоді вам як оператору ретрансляції Tor.

  • Nyx: це інструмент проекту Tor (раніше arm), який дозволяє переглядати дані вашого реле в реальному часі.

  • vnstat: vnstat — це інструмент командного рядка, який показує обсяг даних, що проходять через ваше мережеве з’єднання. Ви також можете використовувати його для створення зображень у форматі PNG із графіками трафіку. документація vnstat і демонстраційний вихід.