вторник, 29 апреля 2014 г.

Настройка SELinux для корректной работы OTRS на CentOS 6

Большинство инструкций по настройке OTRS рекомендуют вообще отключить SELinux путём редактирования файла /etc/selinux/config. В этой заметке я приведу пример того, как сконфигурировать SELinux так, чтобы его работа не препятствовала работе OTRS.
После установки и сконфигурации веб-сервера, сервера БД и OTRS необходимо перейти в веб-интерфейс и приступить к созданию пользоватлей, категорий и прочего. Чтобы это сделать переведём SELinux в режим разрешения, но не отключаем его совсем.
sudo -i
setenforce 0
После того как SELinux переведён в режим разрешения, нужно зайти в интерфейсы пользователя и сотрудника тех.поддержки, вход в учётные записи не обязателен, просто нужно открыть их в браузере, чтобы создались папки для кеширования. На этом все подготовительные операции закончены и можно перейти непосредственно к настройке SELinux.
Первое, что необходимо, это указать значения переменных, отвечающих за возможность подключения к серверу БД и веб-серверу извне.
setsebool -P httpd_can_network_connect 1
setsebool -P allow_httpd_anon_write 1
setsebool -P httpd_can_network_connect_db 1
Далее изменим контексты служебных директорий.
chcon -R --reference=/var/www/cgi-bin /opt/otrs/bin/cgi-bin
chcon -R --type=httpd_sys_script_rw_t /opt/otrs/var/tmp
chcon -R --type=httpd_sys_script_rw_t /opt/otrs/var/sessions
chcon -R --type=httpd_sys_script_rw_t /opt/otrs/Kernel/Config
chcon -R --reference=/var/www/html /opt/otrs/var/httpd/htdocs
chcon -R --type=httpd_sys_script_rw_t /opt/otrs/var/httpd/htdocs/js/js-cache
chcon -R --type=httpd_sys_script_rw_t /opt/otrs/var/httpd/htdocs/skins/Agent/default/css-cache
chcon -R --type=httpd_sys_script_rw_t /opt/otrs/var/httpd/htdocs/skins/Customer/default/css-cache
После нужно создать политику необходимую для корректной работы OTRS. Для этого используем sealert, эта утилита позволяет привести лог SELinux к виду, который будет удобен для понимания, также может создавать готовые политики на основе лога ошибок.
yum install setroubleshoot-server -y
cd /home/user
grep httpd /var/log/audit/audit.log | audit2allow -M otrs
semodule -i otrs.pp
Создать удобочитаемый лог ошибок можно выполнив команду
sealert -a /var/log/audit/audit.log > /home/user/selinux_audit.log
Вернём SELinux в состояние защиты
setenforce 1
На этом настройка закончена. Стоит отметить, что при такой конфигурации не будет работать менеджер пакетов OTRS, потому что ему нужны права на доступ в очень многие места системы, что может быть не безопасно. Выполнить установку пакетов можно запустив скрипт из директории OTRS
perl /opt/otrs/bin/otrs.packageManager.pl

Комментариев нет:

Отправка комментария