Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.3.5. サービス拒否検索および表示

本セクションでは、setroubleshootsetroubleshoot-serverdbus および audit パッケージがインストールされ、auditdrsyslogd、および setroubleshootd デーモンが実行していることを前提としています。これらのデーモンの起動に関する詳細は、「使用されているログファイル」 を参照してください。ausearch、aureport、sealert など、SELinux AVC メッセージの検索および表示には、多くのユーティリティー が利用できます。

ausearch

audit パッケージは、さまざまな検索基準に基づいてイベントの 監査 デーモンログをクエリーできる ausearch ユーティリティーを提供します。[10] ausearch ユーティリティーは /var/log/audit/audit.log にアクセスするため、root ユーザーとして実行する必要があります。
検索: すべての拒否
コマンド: ausearch -m avc,user_avc,selinux_err,user_selinux_err
検索: 今の拒否
コマンド: ausearch -m avc -ts today
検索: 過去 10 分間の拒否
コマンド: ausearch -m avc -ts recent
特定のサービスに対して SELinux AVC メッセージを検索するには、- c comm-name オプションを使用します。ここで、comm -name は実行可能ファイルの名前です(Apache HTTP Server の httpd、Samba の smbd など)。
~]# ausearch -m avc -c httpd
~]# ausearch -m avc -c smbd
それぞれの ausearch コマンドでは、読みやすくするために --interpret (-i)オプション、またはスクリプト処理に --raw (-r)オプションを使用することが推奨されます。その他の ausearch オプションについては、ausearch(8) man ページを参照してください。

aureport

audit パッケージは aureport ユーティリティーを提供し、監査ログの概要レポートを生成します。[11] aureport ユーティリティーは /var/log/audit/audit.log にアクセスするため、root ユーザーとして実行する必要があります。SELinux 拒否メッセージのリストと、それぞれが発生した頻度を表示するには、aureport -a コマンドを実行します。以下は、2 つの拒否を含む出力例です。
~]# aureport -a

AVC Report
========================================================
# date time comm subj syscall class permission obj event
========================================================
1. 05/01/2009 21:41:39 httpd unconfined_u:system_r:httpd_t:s0 195 file getattr system_u:object_r:samba_share_t:s0 denied 2
2. 05/03/2009 22:00:25 vsftpd unconfined_u:system_r:ftpd_t:s0 5 file read unconfined_u:object_r:cifs_t:s0 denied 4

sealert

setroubleshoot-server パッケージは、setroubleshoot -server が翻訳された拒否メッセージを読み取る sealert ユーティリティーを提供します。[12] 拒否には、/var/log/messages に示される ID が割り当てられます。以下は、メッセージ の拒否例です。
setroubleshoot: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket. For complete SELinux messages. run sealert -l 8c123656-5dda-4e5d-8791-9e3bd03786b7
この例では、拒否 ID は 8c123656-5dda-4e5d-8791-9e3bd03786b7 です。-l オプションは、ID を引数として取ります。sealert -l 8c123656-5dda-4e5d-8791-9e3bd03786b7 コマンドを実行すると、SELinux がアクセスを拒否した理由の詳細な分析とアクセスを可能にするソリューションが表示されます。
X Window System を実行している場合は、setroubleshoot パッケージおよび setroubleshoot -server パッケージがインストールされ、setroubleshootd、dbus デーモン、および auditd デーモンが実行している場合は、SELinux によるアクセスを拒否すると警告が表示されます。
AVC 拒否メッセージ
Show boot the sealert GUI をクリックすると、問題のトラブルシューティングを行うことができます。
または、sealert -b コマンドを実行して、sealert GUI を起動します。すべての拒否メッセージの詳細な分析を表示するには、sealert -l \* コマンドを実行します。


[10] ausearch の詳細は、ausearch(8) man ページを参照してください。
[11] aureport の詳細は、aureport(8) man ページを参照してください。
[12] sealert の詳細は、sealert(8) man ページを参照してください。