私RHEL私が開発したときに使用した8.1システムは次のとおりです。SELinuxデフォルトは適用モードです。
このシステムでPythonスクリプトを作成して実行します。ビジュアルスタジオコード、何らかの理由でSELinux警告ブラウザに次の警告が表示されます。
SELinuxはgpgsmファイルへの/usr/libexec/platform-python3.6アクセスをブロックしています。
単純なPythonスクリプトが呼び出されないため、これが何を意味するのかわかりませんgpgsm
(何がわかりませんgpgsm
)。
詳細ダイアログボックスが表示されます。
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'rhsmcertd-worke' --raw | audit2allow -M my-rhsmcertdworke
# semodule -X 300 -i my-rhsmcertdworke.pp
詳細の完全な出力は次のとおりです。
***** Plugin catchall (100. confidence) suggests **************************
If you believe that platform-python3.6 should be allowed execute access on the gpgsm file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'rhsmcertd-worke' --raw | audit2allow -M my-rhsmcertdworke
# semodule -X 300 -i my-rhsmcertdworke.pp
Additional Information:
Source Context system_u:system_r:rhsmcertd_t:s0
Target Context system_u:object_r:gpg_exec_t:s0
Target Objects gpgsm [ file ]
Source rhsmcertd-worke
Source Path /usr/libexec/platform-python3.6
Port <Unknown>
Host [my hostname]
Source RPM Packages
Target RPM Packages
Policy RPM selinux-policy-3.14.3-20.el8.noarch
Selinux Enabled True
Policy Type targeted
Enforcing Mode Enforcing
Host Name [my hostname]
Platform Linux [my hostname] 4.18.0-147.8.1.el8_1.x86_64 #1
SMP Wed Feb 26 03:08:15 UTC 2020 x86_64 x86_64
Alert Count 2
First Seen 2020-04-22 16:48:22 BST
Last Seen 2020-04-22 16:48:22 BST
Local ID 2114dd0f-4b36-420d-9ad4-617017e8b43d
Raw Audit Messages
type=AVC msg=audit(1587570502.586:134): avc: denied { execute } for pid=4916 comm="rhsmcertd-worke" name="gpgsm" dev="dm-0" ino=765660 scontext=system_u:system_r:rhsmcertd_t:s0 tcontext=system_u:object_r:gpg_exec_t:s0 tclass=file permissive=0
Hash: rhsmcertd-worke,rhsmcertd_t,gpg_exec_t,file,execute
そのため、sudo
2つのファイルが生成される2つのコマンドを実行しました。コマンドはエラーなしで実行され、リストアクティベーションモジュールを使用すると、アクティブな他のモジュールが一覧表示されます。my-rhsmcertdworke.te
my-rhsmcertdworke.pp
semodule -X 300 -i my-rhsmcertdworke.pp
sudo semodule -lstandard
my-rhsmcertdworke
ただし、モジュールをインポートまたはアクティブ化していないかのように、同じ警告が引き続き表示されます。
my-rhsmcertdworke.te
ちなみに、これは次のコマンドで生成されますausearch -c 'rhsmcertd-worke' --raw | audit2allow -M my-rhsmcertdworke
。
module my-rhsmcertdworke 1.0;
require {
type gpg_exec_t;
type root_t;
type rhsmcertd_t;
class file { execute open read };
}
#============= rhsmcertd_t ==============
allow rhsmcertd_t gpg_exec_t:file execute;
#!!!! This avc is allowed in the current policy
allow rhsmcertd_t root_t:file read;
#!!!! This avc can be allowed using the boolean 'daemons_dump_core'
allow rhsmcertd_t root_t:file open;
同じ警告が引き続き発生するのはなぜですか?このポリシーモジュールが持続するように実際にどのように有効にしますか?ありがとうございます!
ポリスチレンポリシーモジュールの名前である必要はないようですmy-rhsmcertdworke
。別の名前に変更しても安全ですか?SELinuxポリシーモジュールの命名規則はありますか?