Назад | Перейти на главную страницу

Запуск TOR на Centos 6

Я являюсь оператором XMPP-сервера на Dark.su, он работает на Centos 6.

Я установил TOR и настроил его для предоставления скрытого сервисного доступа к серверу. Сначала он работал нормально, но после обновления несколько месяцев назад он начал выдавать мне следующие ошибки:

    799  May 25 14:19:37.060 [warn] Permissions on directory /var/lib/tor/hidden_service are too permissive.
  800  May 25 14:19:37.060 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
  801  May 25 14:19:37.060 [err] Reading config failed--see warnings above.

Я попытался проверить журналы, но не могу их найти, и установка одного из них, похоже, не работает. Я пытался удалить TOR и стереть всю его папку, а затем переустановить ее.

Устанавливаю через yum из репозитория TOR Project.

С chmod 700 в каталоге скрытых служб (принадлежащем TOR):

Jul 24 21:39:05.573 [warn] Directory /var/lib/tor/hidden_service/ cannot be read: Permission denied
Jul 24 21:39:05.573 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
Jul 24 21:39:05.573 [err] Reading config failed--see warnings above

После смены владельца каталога на root:

Jul 24 22:11:36.236 [warn] /var/lib/tor/hidden_service/ is not owned by this user (_tor, 496) but by root (0). Perhaps you are running Tor as the wrong user?
Jul 24 22:11:36.236 [warn] Failed to parse/validate config: Failed to configure rendezvous options. See logs for details.
Jul 24 22:11:36.236 [err] Reading config failed--see warnings above.

Вероятно, ваша проблема связана с SELinux. Нет, я не скажу, чтобы permissive (Ненавижу этот ответ по умолчанию). Это связано с подкаталогом и контекстом, в котором выполняется сценарий init.d (я думаю). Возможно, вы сможете исправить это, создав настоящую запись в systemd, но не на 100%.

У меня была эта проблема, и я выбрал простое решение, которое работает, поскольку у меня есть только 1 скрытая служба. Не уверен, вызывает ли это проблему с кратными или нет (я подозреваю, что может). Кроме того, вы можете потратить время на отладку проблемы контекста. Это было бы лучшим решением, но если у вас есть только одна услуга, вы можете просто:

Изменить:

/var/lib/tor/hidden_service/

кому:

/var/lib/tor/

и готово.

Вам нужно проверить три вещи:

  1. Владелец файла должен быть правильным.

    Если вы используете Tor с torproject.org, это должно быть _tor. Если вы используете Tor из EPEL или Fedora, это должно быть toranon.

    chown -R _tor:_tor /var/lib/tor
    

    или

    chown -R toranon:toranon /var/lib/tor
    
  2. Разрешения должны быть правильными.

    Каталог скрытых служб должен быть доступен для чтения только пользователю Tor.

    find /var/lib/tor/hidden_service -type d | xargs chmod u+rwx,go=
    find /var/lib/tor/hidden_service -type f | xargs chmod u+rw,go=
    
  3. Контексты SELinux должны быть установлены правильно. В последних выпусках RHEL / CentOS к Tor применяется политика SELinux.

    Чтобы исправить сломанные метки SELinux:

    restorecon -r -v /var/lib/tor