После установки плагинов Nagios NRPE и Nagios в моем журнале rsyslog появляется следующая запись:
May 13 14:01:30 wcmisdlin02 kernel: type=1400 audit(1305309690.482:2334): avc: denied { getattr } for pid=3835 comm="sh" path="/usr/bin/sudo" dev=dm-0 ino=7355981 scontext=unconfined_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:sudo_exec_t:s0 tclass=file
Похоже, мои плагины Nagios, которые я пытаюсь запустить через NRPE, блокируются SELinux. Что я должен делать?
Если nrpe_disable_trans
логическое значение не является вариантом:
Вы можете следить за этими инструкции по созданию собственной политики, позволяющей NRPE. По сути, это будет включать запуск SELinux в разрешающем режиме, достаточный для того, чтобы ваш сервер Nagios мог выполнить все запланированные проверки NRPE. Затем вы можете передать их из файла audit.log в audit2allow. Это создаст необходимые правила для вашего обзора и включения.
Файл Томаса Блехера nrpe.te также может служить полезной отправной точкой или справочником для построения вашей собственной политики.
Я заметил, что сообщение AVC содержит path="/usr/bin/sudo"
. Это означает, что NRPE тормозит при попытке использовать sudo
для вызова плагина.
Первое (но ни в коем случае не последнее!), Что вам нужно сделать, чтобы это сделать:
sudo setsebool -P nagios_run_sudo on
(-P
записывает изменение в файл политики на диск. Таким образом, он будет постоянным при перезагрузке.)
Теперь ваш плагин будет работать как root. Но, скорее всего, он не может делать ничего сложного (например, запускать программы, у которых есть домен, отличный от bin_t
), потому что ваш плагин все еще работает как nrpe_t
домен. Этот домен намеренно имеет ограничительные разрешения; он даже не может записывать файлы в / tmp.
Что ж, сначала решите, хотите ли вы SELinux. У всех дистрибутивов на основе EL он установлен и включен по умолчанию, но почти ни в одном другом дистрибутиве он не установлен. Это дает вам немного безопасности, но больше, чем немного головной боли, поэтому вам нужно так или иначе взвесить, хотите ли вы этого. Если вы этого не сделаете, вы можете отключить его в файле / etc / selinux / config. Комментарии в файле подскажут, что делать.
Если хотите, можете попробовать и понизить. Если в настоящее время он установлен на принудительное применение, вы можете переключить его на разрешающий и посмотреть, позволяет ли он запускать NRPE. Также вы можете найти еще несколько пошаговых руководств по настройке NRPE с помощью SELinux. Честно говоря, я всегда нахожу это слишком большим раздражением, чтобы стоить безопасности. HTH
Изменить: здесь вы можете найти кучу bools selinux для nagios: http://wiki.centos.org/TipsAndTricks/SelinuxBooleans
Это должно быть исправлено следующими опечатками: http://rhn.redhat.com/errata/RHBA-2012-0780.html