Запуск TOR на Centos 6

Я оператор XMPP-сервера на darkness.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.

2 ответа

Ваша проблема, вероятно, с 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
    
Другие вопросы по тегам