web-dev-qa-db-ja.com

SELinuxによって引き起こされる奇妙なaudit2whyメッセージ

audit2whyを実行すると、SCPを介してファイルをフォルダー/ foo/barにアップロードしようとしたときに失敗する理由がわかります。 フォルダ/ foo/barへのアクセスが拒否されたリモートサーバーの場合、次のテキストが表示されます。

Was caused by:
                Unknown - would be allowed by active policy
                Possible mismatch between this policy and the one 
under which the audit message was generated.

                Possible mismatch between current in-memory 
boolean settings vs. permanent ones.

これは間違いなくSELinuxが原因であることがわかります。

setenforce 0

SCP経由で/ foo/barにファイルをアップロードできます。また、SELinuxを有効にしてcdフォルダ/ foo/barにSSHで接続し、ファイルを作成できることにも注意してください。このフォルダ。

SELinux内で正確な問題を引き起こしている原因を確認するには、どのようにデバッグすればよいですか?

[〜#〜]編集[〜#〜]

これは/ foo/barls -lZの出力です

drwxrwx--T. root foo-users user_u:object_r:default_t:s0     bar

audit2allowからのAVC拒否の出力

type=AVC msg=audit(1519304988.434:6984): avc:  denied  { write } for  pid=26506 comm="scp" name="event-20180203.log.gz" dev="dm-4" ino=7260 scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:default_t:s0 tclass=file
    Was caused by:
        Unknown - would be allowed by active policy
        Possible mismatch between this policy and the one under which the audit message was generated.
4
jgr208

aVCの発言:

$ echo "type=AVC msg=audit(1519304988.434:6984): avc:  denied  { write } for  pid=26506 comm="scp" name="event-20180203.log.gz" dev="dm-4" ino=7260 scontext=user_u:user_r:user_t:s0 tcontext=user_u:object_r:default_t:s0 tclass=file" |audit2allow     
#============= user_t ==============
#!!!! WARNING: 'default_t' is a base type.
allow user_t default_t:file write;

==> user_t SElinuxコンテキストタイプで実行されているプロセスが、default_tタイプのディレクトリに書き込もうとしています。

これを修正する代替策は次のいずれかです。

  • user_tが書き込みを許可するように、宛先ディレクトリのラベルを変更します。

    $ sesearch -s user_t --allow | grep "file。* write"

    ファイルの書き込み操作で許可されているターゲットコンテキストが表示されます。たとえば、foo/barは、許可リストにあるssh_home_tに再ラベル付けされる場合があります。

    $ Sudo chcon -R -t ssh_home_t/foo/bar

  • または可能な場合は、宛先ディレクトリーを許可されたディレクトリーに変更してください。

  • または、audit2allowを使用して新しいルールを作成し、コントロールをバイパスしますが、これにより権限が開かれ、SELinuxの目的が損なわれるため、これが最後の選択肢になります。 '参照 http://selinuxproject.org/page/Audit2allowRecipe

2
tonioc
Unknown - would be allowed by active policy
Possible mismatch between this policy and the one 
under which the audit message was generated.

修正ポリシーを適用した後、同じメッセージが表示されました。新しいポリシーで許可されているため、以前に監査されたすべてのavcを説明できませんでした。
新しいイベントが引き続き発生するかどうかを確認します。

0
Emmanuel