web-dev-qa-db-ja.com

audispプラグインに監査ルールを追加するときにアクセスが拒否されました

Linux CentOS 7VMでaudispプラグインを作成しようとしています。 /etc/audit/rules.d/を介して監査ルールを静的に設定する代わりに、(一部のシステム設定に基づいて)libauditインターフェイスを使用してプラグインに動的にルールを追加したいと思いました。

私のコードは次のようになります。

int fd_audit = audit_open(); // this is successful if (audit_is_enabled(fd_audit) <= 0) audit_set_enabled(fd_audit, 1); // "Permission denied" error given } else { // set some rules }

私が直面している問題は、SELinuxが実施しているときに権限が拒否されるため、audit_set_enabled()関数にあります。 SELinuxが許容的である場合、audit_set_enabled()は成功ステータスを返しますが、監査ルールの追加は失敗します。

Avc拒否メッセージを探してみましたが、見つからないようです。

どんな助けやアドバイスも大歓迎です。

1
Nickleman

Sudo semodule -DBで「監査しない」ルールを無効にすることで、上記の問題を解決することができました。

次に、AVCログを取得し、audit2allowを使用してsepolicyルールを修正することができました。 netlink_audit_socket { read write }アクセス権が不足しているようです。

1
Nickleman