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拒否メッセージを探してみましたが、見つからないようです。
どんな助けやアドバイスも大歓迎です。
Sudo semodule -DB
で「監査しない」ルールを無効にすることで、上記の問題を解決することができました。
次に、AVCログを取得し、audit2allow
を使用してsepolicyルールを修正することができました。 netlink_audit_socket { read write }
アクセス権が不足しているようです。