SELinux 関連

WordPress インストール時にDBに接続できない。

f:id:hirose-test:20180805234907j:plain

の後、

f:id:hirose-test:20180805235058j:plain

GUIの場合、このとき右下に小さくSELinuxが顔を出す。

f:id:hirose-test:20180806010425j:plain

f:id:hirose-test:20180806010434j:plain

f:id:hirose-test:20180806010446j:plain

f:id:hirose-test:20180806010454j:plain

あるいは CUIの場合。

f:id:hirose-test:20190524203052p:plain

# ausearch -m avc
~(中略)~
----
time->Fri May 24 20:09:44 2019
type=PROCTITLE msg=audit(1558696184.640:350): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44
type=SYSCALL msg=audit(1558696184.640:350): arch=c000003e syscall=42 success=no exit=-13 a0=a a1=7f546e504680 a2=10 a3=5ce7d0f8 items=0 ppid=6416 pid=6911 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1558696184.640:350): avc:  denied  { name_connect } for  pid=6911 comm="httpd" dest=3306 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:mysqld_port_t:s0 tclass=tcp_socket permissive=0

拒否されているのは分かるが、で、どうすれば良いのか。上記GUIの写真にあるように SETroubleshoot というプログラムが解決方法を教えてくれるようです。

[root@localhost audit]# yum info setroubleshoot*
読み込んだプラグイン:fastestmirror
~(中略)~
利用可能なパッケージ
名前                : setroubleshoot
アーキテクチャー    : x86_64
バージョン          : 3.2.30
リリース            : 3.el7
容量                : 130 k
リポジトリー        : base/7/x86_64
要約                : Helps troubleshoot SELinux problems
URL                 : https://pagure.io/setroubleshoot
ライセンス          : GPLv2+
説明                : setroubleshoot GUI. Application that allows you to view setroubleshoot-server
                    : messages.
                    : Provides tools to help diagnose SELinux problems. When AVC messages
                    : are generated an alert can be generated that will give information
                    : about the problem and help track its resolution. Alerts can be configured
                    : to user preference. The same tools can be run on existing log files.

名前                : setroubleshoot-plugins
アーキテクチャー    : noarch
バージョン          : 3.0.67
リリース            : 3.el7
容量                : 346 k
リポジトリー        : base/7/x86_64
要約                : Analysis plugins for use with setroubleshoot
URL                 : https://fedorahosted.org/setroubleshoot
ライセンス          : GPLv2+
説明                : This package provides a set of analysis plugins for use with
                    : setroubleshoot. Each plugin has the capacity to analyze SELinux AVC
                    : data and system data to provide user friendly reports describing how
                    : to interpret SELinux AVC denials.

名前                : setroubleshoot-server
アーキテクチャー    : x86_64
バージョン          : 3.2.30
リリース            : 3.el7
容量                : 390 k
リポジトリー        : base/7/x86_64
要約                : SELinux troubleshoot server
URL                 : https://pagure.io/setroubleshoot
ライセンス          : GPLv2+
説明                : Provides tools to help diagnose SELinux problems. When AVC messages
                    : are generated an alert can be generated that will give information
                    : about the problem and help track its resolution. Alerts can be configured
                    : to user preference. The same tools can be run on existing log files.

setroubleshoot はGUI用。CUI には setroubleshoot-server を入れる。setroubleshoot-plugins は依存関係で勝手に入る。

# yum install setroubleshoot-server
インストール:
  setroubleshoot-server.x86_64 0:3.2.30-3.el7

依存性関連をインストールしました:
setroubleshoot-plugins.noarch 0:3.0.67-3.el7
~(中略)~
完了しました!
/* -----codeの行番号----- */