selinuxで拒否られた時のログ
# grep "denied" /var/log/audit/audit.log type=AVC msg=audit(1516712785.138:2027): avc: denied { setrlimit } for pid=6557 comm="zabbix_server" scontext=system_u:system_r:zabbix_t:s0 tcontext=system_u:system_r:zabbix_t:s0 tclass=process type=AVC msg=audit(1516712795.317:2044): avc: denied { setrlimit } for pid=6564 comm="zabbix_server" scontext=system_u:system_r:zabbix_t:s0 tcontext=system_u:system_r:zabbix_t:s0 tclass=process
ポリシー作成用にRPMパッケージを追加
# yum install policycoreutils-python
拒否されたログからポリシー作成用のファイル作成
# cat /var/log/audit/audit.log | audit2allow -m zabbix_setrlimit > zabbix_setrlimit.te # cat zabbix_setrlimit.te module zabbix_setrlimit 1.0; require { type zabbix_t; class process setrlimit; } #============= zabbix_t ============== allow zabbix_t self:process setrlimit;
ポリシーモジュール作成
# checkmodule -M -m -o zabbix_setrlimit.mod zabbix_setrlimit.te checkmodule: loading policy configuration from zabbix_setrlimit.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 17) to zabbix_setrlimit.mod
モジュールからパッケージ作成
# semodule_package -o zabbix_setrlimit.pp -m zabbix_setrlimit.mod
パッケージインストール
# semodule -i zabbix_setrlimit.pp # semodule -l | grep zabbix_setrlimit zabbix_setrlimit 1.0
その他
setsebool
で対応できることもある
一覧確認して必要なものをonにする
- 今の設定確認
# getsebool -a | grep zabbix httpd_can_connect_zabbix --> on zabbix_can_network --> on or # semanage boolean -l | grep zabbix zabbix_can_network (on , on) Allow zabbix to can network httpd_can_connect_zabbix (on , on) Allow httpd to can connect zabbix
- 設定変更
# setsebool zabbix_can_network on