selinux вызывает 2 ошибки: httpd доступ на запись mysql и поиск zabbix mysql

У меня есть вопрос, похожий на этот: Политика SELinux сервера Zabbix

, но немного другая: У меня есть сервер Zabbix, работающий на RHEL 6, когда я включаю selinux, я получаю следующую ошибку:

Ошибка подключения к базе данных: не удается подключиться к локальному серверу MySQL через сокет '/var/lib/mysql/mysql.sock '(13)

затем я нашел несколько сообщений об ошибках в / var / log / message:

Jun  1 00:19:02 ns1 setroubleshoot: SELinux is preventing /usr/sbin/httpd from write access on the sock_file mysql.sock. For complete SELinux messages. run sealert -l 65dd779a-a01b-42de-9aaf-65795758aba1

и

Jun  1 00:04:52 ns1 setroubleshoot: SELinux is preventing /usr/sbin/zabbix_server_mysql from search access on the directory /var/lib/mysql. For complete SELinux messages. run sealert -l bdfa536a-e059-4598-8284-4d40c218078f

, затем я выполнил предложения:

[root@ns1 ~]# sealert -l 65dd779a-a01b-42de-9aaf-65795758aba1


SELinux is preventing /usr/sbin/httpd from write access on the sock_file mysql.sock.

*****  Plugin catchall (100. confidence) suggests  ***************************

If you believe that httpd should be allowed write access on the mysql.sock sock_file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp


Additional Information:
Source Context                system_u:system_r:httpd_t:s0
Target Context                system_u:object_r:zabbix_exec_t:s0
Target Objects                mysql.sock [ sock_file ]
Source                        httpd
Source Path                   /usr/sbin/httpd
Port                          <Unknown>

......

затем я выполнил команду:

grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

после этого, проблема 1 был решен, но в нем говорится, что сервер Zabbix не запущен, поэтому Я последовал предложению, чтобы решить проблему 2:

[root@ns1 ~]# sealert -l bdfa536a-e059-4598-8284-4d40c218078f

SELinux is preventing /usr/sbin/zabbix_server_mysql from search access on the directory /var/lib/mysql.

......

Вы можете сгенерировать модуль локальной политики, чтобы разрешить этот доступ. Делать пока разрешите этот доступ, выполнив:

grep zabbix_server /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

......

[root@ns1 ~]# grep zabbix_server /var/log/audit/audit.log | audit2allow -M mypol

[root@ns1 ~]# semodule -i mypol.pp

после того, как я выполнил команду для решения проблемы 2, проблема 1 возникла снова, скажите мне, что делать, я не хочу отключать selinux, большое спасибо. кстати, я уже установил httpd_can_network_connect = 1

скриншот ошибки подключения к базе данных

1
задан 1 June 2017 в 15:46
1 ответ

Я знаю, что это очень старая версия, но я столкнулся с теми же проблемами при установке Zabbix 5.

После запуска

# dnf -y install policycoreutils-python-utils
# grep "denied.*zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_policy
# semodule -i zabbix_policy.pp

, как описано, например. https://bestmonitoringtools.com/how-to-install-zabbix-server-on-centos-or-rhel/#Step_12_Enable_and_configure_SELinux_on_Zabbix Мне также пришлось запустить

grep "denied.*php-fpm" /var/log/audit/audit.log | audit2allow -M php-fpm_policy
semodule -i php-fpm_policy.pp

Эти команды в сочетании с

setsebool -P httpd_can_connect_zabbix 1
setsebool -P zabbix_can_network 1
setenforce 1 && sed -i 's/^SELINUX=.*/SELINUX=enforcing/g' /etc/selinux/config

позволил мне полноценно использовать Zabbix с включенным SELinux.

0
ответ дан 3 September 2020 в 07:10

Теги

Похожие вопросы