web-dev-qa-db-ja.com

なぜaudit2は何の関係もないのですか?

SElinuxに問題があることはわかっています。だから私は チュートリアルに従って 私が抱えているファイルアクセスの問題の性質を理解するのに役立ちます。つまり、SElinuxを無効にするだけで、SElinuxを強制することができます。

基本的に、私はテストのためにSElinuxをpermissiveモードに設定し、強制中に失敗するファイルアクションを実行しました。そうすれば、ログ内のメッセージがどのように見えるかがわかります。このような行は次のようになります。

type=USER_CMD msg=audit(1452912989.069:324790): pid=66581 uid=1001 auid=1001 ses=1352 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/srv/dpca/www" cmd=7461696C202F7661722F6C6F672F61756469742F61756469742E6C6F67 terminal=pts/0 res=success'

今、私はこれに本当に初めてなので、チュートリアルと、これをレイアウトするためにaudit2whyを取得する方法について説明しました。

[matt@localhost www]$ Sudo grep 1452912989.069:324790 /var/log/audit/audit.log | audit2why
Nothing to do

grepは正しいテキストを返します。ただし、audit2whyは「何もしない」を返しているようです。

私が間違っている根本的なことはありますか?一日の終わりに、いくつかのNGINXディレクトリに割り当てるコンテキストを把握しようとしています。私はそれらを調べることができると確信していますが、インターネット上で見たコマンドを実行するだけで何をしているのかを理解したかったのです。

興味がある場合は、これは私のWebルートディレクトリコンテキストの小さなスニペットです。

drwxr-xr-x. nginx nginx unconfined_u:object_r:httpd_sys_content_t:s0 administrator
drwxr-xr-x. nginx nginx unconfined_u:object_r:httpd_sys_content_t:s0 bin
drwxr-xr-x. nginx nginx unconfined_u:object_r:httpd_sys_content_t:s0 cache
7
Matt

注:私はまだ自分の問題への回答に興味がありますが、同じように役立つ情報を提供する、使用している回避策を投稿したいと思いました。 audit2whyが期待どおりに機能していた場合。

CentOS.orgでのSELinuxのハウツー の下にトラブルシューティングセクションがあります。そこには、sealertを使用して、ログ「/var/log/audit/audit.log」から解析された人間が読める情報を提供する方法についての説明があります。だから単に走っている

Sudo sealert -a /var/log/audit/audit.log > ~/logfile.txt 

必要な情報を読んで、Webディレクトリの適切なセキュリティコンテキストに関する提案を得ることができました。

SELinux is preventing /usr/sbin/php-fpm from write access on the directory /srv/dpca/www/images.

*****  Plugin httpd_write_content (92.2 confidence) suggests   ***************

If you want to allow php-fpm to have write access on the images directory
Then you need to change the label on '/srv/dpca/www/images'
Do
# semanage fcontext -a -t httpd_sys_rw_content_t '/srv/dpca/www/images'
# restorecon -v '/srv/dpca/www/images'

繰り返しますが、誰かがaudit2whyについての私の最初の質問について知っているなら、私はまだ知りたいです。

3
Matt

/var/log/audit/audit.logはバイナリファイルです。次のコンテンツをgrepできます

grep -a AVC /var/log/audit/audit.log | audit2why