14.7. サブシステムの SELinux ポリシーの管理
SELinux は、承認されていないアクセスと改ざんを制限するためにシステム全体で実施される、必須のアクセス制御ルールのコレクションです。SELinux の詳細は、Red Hat Enterprise Linux 8 の 『SELinux の使い方ガイド』 を参照してください。
14.7.1. SELinux について
基本的に、SELinux はシステム上の オブジェクト を識別します。これは、ファイル、ディレクトリー、ユーザー、プロセス、ソケット、または Linux ホスト上その他の物になります。これらのオブジェクトは Linux API オブジェクトに対応します。各オブジェクトは セキュリティーコンテキスト にマッピングされ、オブジェクトのタイプと、Linux サーバーでの機能が可能になります。
システムプロセスは SELinux ドメイン内で実行されます。各ドメインには、SELinux ドメインがシステム上の他の SELinux オブジェクトと対話する方法を定義する一連のルールがあります。この一連のルールは、プロセスがアクセスできるリソースと、それらのリソースで実行できる操作を決定します。
Certificate System では、各サブシステムタイプはそのサブシステムタイプの特定のドメイン内で実行されます。そのサブシステムタイプのすべてのインスタンスは、システム上のインスタンスの数に関係なく、同じ SELinux ドメインに属します。たとえば、サーバーに 3 つの CA がインストールされている場合は、その 3 つがすべて http_port_t SELinux ドメインに属しています。
すべてのサブシステムのルールと定義は、Certificate System SELinux ポリシー全体を構成します。Certificate System SELinux ポリシーは、サブシステムのインストール時に設定され、pkispawn でサブシステムが追加されたり、pkidestroy で削除されるたびに、すべての SELinux ポリシーが更新されます。
Certificate System サブシステムは、SELinux を強制モードに設定して実行します。つまり、すべての SELinux ルールに従う必要がある場合でも、Certificate System の操作を正常に実行できます。
デフォルトでは、Certificate System サブシステムは SELinux ポリシーにより制限が限定されます。
14.7.2. サブシステムの SELinux ポリシーの表示
すべての Certificate System ポリシーは、システムの SELinux ポリシーに含まれます。設定したポリシーは、SELinux 管理 GUI を使用して表示できます。この GUI は、policycoreutils-gui パッケージをインストールできます。
- system-config-selinux コマンドを実行するか、メインのシステムメニュー用の
にアクセスしてユーティリティーを開きます。 - インストールされている Certificate System SELinux ポリシーのバージョンを確認するには、左側のバーの Policy Module セクションを参照してください。
- 個々のファイルおよびプロセスに設定したポリシーを表示するには、File Labeling セクションをクリックします。サブシステムのポート割り当てのポリシーを表示するには、Network Port セクションをクリックします。
14.7.3. nCipher netHSM コンテキストの再ラベル付け
nCipher netHSM ソフトウェアには独自の SELinux ポリシーが付属していないため、Certificate System には、例14.1「netHSM SELinux ポリシー」 に示すデフォルトの netHSM ポリシーが含まれています。
例14.1 netHSM SELinux ポリシー
# default labeling for nCipher /opt/nfast/scripts/init.d/(.*) gen_context(system_u:object_r:initrc_exec_t,s0) /opt/nfast/sbin/init.d-ncipher gen_context(system_u:object_r:initrc_exec_t,s0) /opt/nfast(/.*)? gen_context(system_u:object_r:pki_common_t, s0) /dev/nfast(/.*)? gen_context(system_u:object_r:pki_common_dev_t,0)
他のルールを使用すると、
pki_*_t
ドメインが pki_common_t
と pki_common_dev_t
のラベルが付いたファイルと通信できます。
(デフォルトディレクトリー
/opt/nfast
であっても) nCipher 設定のいずれかを変更した場合は、restorecon を実行して、ファイルがすべて適切にラベル付けされていることを確認します。
restorecon -R /dev/nfast restorecon -R /opt/nfast
nCipher ソフトウェアが別の場所にインストールされている場合や、HSM が異なる場合は、semanage を使用してデフォルトの Certificate System HSM ポリシーを再ラベル付けする必要があります。