audit2allowの既存の出力を使用してSELinuxポリシーモジュールをどのように生成しますか?

audit2allowの既存の出力を使用してSELinuxポリシーモジュールをどのように生成しますか?

SELinuxポリシーモジュールを作成する標準的な方法を知っています。

cat <auditlog_file> | audit2allow -M <module_name>

whyしかし、例えばaudit2allowの出力しかない場合、ポリシーモジュールを生成する方法はありますか?

cat <auditlog_file> | audit2allow

私にしてください:

#============= httpd_t ==============

allow httpd_t default_t:sock_file write;
allow httpd_t unconfined_t:unix_stream_socket connectto;

上記の出力があるが監査ログファイルを再キャプチャして実行できない場合は、ポリシーを作成するにはどうすればよいですかaudit2allow -M

ベストアンサー1

出力を.teファイルに入れることができます。また、いくつかの行が必要moduleです。require 氏名。ステートメントを使用して、moduleステートメントにモジュール名とバージョン、および必須タイプを定義する必要があります。require

module my_module 1.0.0;

require {
    class sock_file { write };
    class unix_stream_socket { connectto };
    type httpd_t, default_t, unconfined_t;
}


allow httpd_t default_t:sock_file write;
allow httpd_t unconfined_t:unix_stream_socket connectto;

checkmoduleその後、マニュアルページの説明semodule_packageに従ってとを使用してポリシーモジュールをコンパイルしてビルドできます。audit2allowはい:

checkmodule -M -m -o my_module.mod my_module.te
semodule_package -o my_module.pp -m my_module.mod

おすすめ記事