13.4. Java Security Manager でのサブシステムの実行

Java サービスには、アプリケーションを実行するための安全でない操作と安全な操作を定義する Security Manager オプションがあります。サブシステムがインストールされると、Security Manager が自動的に有効になります。つまり、各 Tomcat インスタンスは Security Manager が実行されている状態で起動します。

13.4.1. Security Manager ポリシーファイルについて

5 つの Java サブシステム (CA、OCSP、KRA、TKS、および TPS) が Java Security Manager 内で実行されると、以下の 3 つのポリシーの組み合わせを使用します。
  • /usr/share/tomcat/conf ディレクトリーにあるデフォルトの Tomcat ポリシーからの catalina.policy ファイル。これは、一般的な Tomcat ファイルが更新されるたびに更新されます。
  • サブシステムインスタンスで提供される /var/lib/pki/instance_name/subsystem_type/conf ディレクトリー内の pki.policy ファイル。
  • ユーザー定義のセキュリティーポリシーを含む /var/lib/pki/instance_name/subsystem_type/conf ディレクトリーの custom.policy ファイル。
この 3 つのファイルは、Tomcat サービスが修正した catalina.policy ファイルの作成を開始すると常に連結されます。また、インスタンスに使用される /var/lib/pki/instance_name/subsystem_type/conf ディレクトリーにもこの 3 つのファイルが連結されます。
デフォルトの pki.policy ファイルには、PKI サブシステムが使用する Tomcat、LDAP、およびシンボリックリンクサービスへの無制限のアクセスを付与するパーミッションが含まれます。以下に例を示します。
   // These permissions apply to Tomcat java as utilized by PKI instances
	 grant codeBase "file:/usr/share/java/tomcat/-" {
       permission java.security.AllPermission;
   };
この custom.policy ファイルはデフォルトでは空になっています。管理者は、指定の PKI ポリシーおよび Tomcat ポリシーに加えて、このファイルでポリシーを作成することができます。

13.4.2. Java Security Manager を使用しないサブシステムインスタンスの起動

PKI Tomcat インスタンスで設定されたすべての Java サブシステムは、Java Security Manager で自動的に実行されます (インスタンスが、/etc/pki/default.cfg ファイルの [Tomcat] セクションの下の pki_security_manager=true をオーバーライドすることによって作成された場合を除く)。ただし、以下のように、インスタンスを起動または再起動して、Java Security Manager を起動 せず に実行することができます。

手順13.1 Java Security Manager を使用しないインスタンスの起動

  1. インスタンスを停止します。
    # systemctl stop pki-tomcatd@instance_name.service
  2. /etc/sysconfig/instance_name ファイルを編集し、セキュリティーマネージャーをオフにします。
    SECURITY_MANAGER="false"
  3. インスタンスを起動します。
    # systemctl start pki-tomcatd@instance_name.service