Menu Close

2.3.12. SELinux (Security Enhanced Linux)

SELinux は、承認されていないアクセスと改ざんを制限するためにシステム全体で実施される、必須のアクセス制御ルールのコレクションです。SELinux の詳細は、Red Hat Enterprise Linux 8 SELinux ユーザーおよび管理者のガイド を参照してください。
基本的に、SELinux はシステム上の オブジェクト を識別します。これは、ファイル、ディレクトリー、ユーザー、プロセス、ソケット、または Linux ホスト上その他のリソースになります。これらのオブジェクトは Linux API オブジェクトに対応します。各オブジェクトは セキュリティーコンテキスト にマッピングされ、オブジェクトのタイプと、Linux サーバーでの機能が可能になります。
オブジェクトはドメインにグループ化でき、各ドメインには適切なルールが割り当てられます。各セキュリティーコンテキストには、実行できる操作、アクセスできるリソース、および所有するアクセス許可に制限を設定するルールがあります。
Certificate System の SELinux ポリシーは、標準のシステムの SELinux ポリシーに組み込まれています。これらの SELinux ポリシーは、CertificateCertificate Systemnbsp;System が使用するすべてのサブシステムおよびサービスに適用されます。SELinux で CertificateCertificate Systemnbsp;System を実行すると、CertificateCertificate Systemnbsp;System で作成およびメンテナンスされる情報のセキュリティーが強化されます。

図2.1 CA SELinux ポートポリシー

CA SELinux ポートポリシー
CertificateCertificate Systemnbsp;System SELinux ポリシーは、すべてのサブシステムインスタンスの SELinux 設定を定義します。
  • 各サブシステムインスタンスのファイルおよびディレクトリーには、特定の SELinux コンテキストのラベルが付けられます。
  • 各サブシステムインスタンスのポートは、特定の SELinux コンテキストでラベル付けされます。
  • すべての CertificateCertificate Systemnbsp;System プロセスは、サブシステム固有のドメイン内で制限されます。
  • 各ドメインには、ドメインに承認されたアクションを定義する特定のルールがあります。
  • SELinux ポリシーに指定されていないアクセスは、CertificateCertificate Systemnbsp;System インスタンスに対して拒否されます。
CertificateCertificate Systemnbsp;System の場合、各サブシステムは SELinux オブジェクトとして扱われ、各サブシステムには一意のルールが割り当てられます。定義済みの SELinux ポリシーを使用すると、CertificateCertificate Systemnbsp;System オブジェクトが Enforcing モードで SELinux セットで実行できます。
pkispawn が実行されるたびに、Certificate System サブシステム、そのサブシステムに関連付けられたファイル、およびポートには、必要な SELinux コンテキストのラベルが付けられます。このコンテキストは、特定のサブシステムが pkidestroy を使用して削除されると削除されます。
SELinux ポリシーの中央定義は pki_tomcat_t ドメインです。Certificate System インスタンスは Tomcat サーバーであり、pki_tomcat_t ドメインは標準の tomcat_t Tomcat ドメインのポリシーを拡張します。サーバー上のすべての Certificate System インスタンスが同じドメインを共有します。
各 CertificateCertificate Systemnbsp;System プロセスが開始すると、最初に制限のないドメイン(unconfined_t)で実行され、pki_tomcat_t ドメインに移行します。その後、このプロセスには、pki_tomcat_log_t というラベルが付けられたログファイルへの書き込みアクセス、pki_tomcat_etc_rw_t というラベルが付いた設定ファイルへの読み書きアクセス、http_port_t ポートのオープンおよび書き込み機能など、特定のアクセスパーミッションが設定されます。
SELinux モードは、Enforcing から Permissive に変更できますが、これは推奨されません。