13.4. Tomcat Engine および Web サービスの設定ファイル


サブシステムのユーザーおよび管理 (管理者、エージェント、および監査者) サービスはすべて、Web プロトコルを介してアクセスされます。

このセクションでは、すべての Red Hat Certificate System サブシステム (CA、KRA、OCSP、TKS、および TPS) に適用される設定ファイルの 2 つの主要なセットを説明します。

  • /var/lib/pki/ instance_name/conf/server.xml で Tomcat エンジンの設定を指定します。
  • /usr/share/pki/subsystem_type/webapps/WEB-INF/web.xml は、このインスタンスが提供する Web サービスの設定を指定します。

13.4.1. Tomcatjss

注記

以降のサブセクションには、パラメーター値で必要な変更に関する重要な設定情報が含まれます。必ず厳密なコンプライアンスを確保してください。

サンプルの pki-tomcat/conf ディレクトリーにある server.xml ファイルの以下の設定は、Tomcatjss が Certificate System エコシステム全体にどのように適合するかを説明するために使用できます。セキュアポートのコネクターエントリーの一部とそれに対応する SSLHostConfig パラメーターを以下に示します。

    <Connector name="Secure" port="21443"
protocol="org.dogtagpki.tomcat.Http11NioProtocol" SSLEnabled="true"
sslImplementationName="org.dogtagpki.tomcat.JSSImplementation" scheme="https"
secure="true" connectionTimeout="3000000" keepAliveTimeout="300000"
maxHttpHeaderSize="8192" acceptCount="100" maxThreads="150" minSpareThreads="25"
enableLookups="false" disableUploadTimeout="true" enableOCSP="true"
ocspCacheSize="1000" ocspMinCacheEntryDuration="7200"
ocspMaxCacheEntryDuration="14400" ocspTimeout="10"
serverCertNickFile="/var/lib/pki/rhcs10-ECC-SubCA/conf/serverCertNick.conf"
passwordFile="/var/lib/pki/rhcs10-ECC-SubCA/conf/password.conf"
passwordClass="org.apache.tomcat.util.net.jss.PlainPasswordFile"
certdbDir="/var/lib/pki/rhcs10-ECC-SubCA/alias">
  	<SSLHostConfig sslProtocol="TLS" protocols="TLSv1.2"
certificateVerification="optional"
ciphers="ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-
AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384">
   	<Certificate certificateKeystoreType="pkcs11" certificateKeystoreProvider="Mozilla-JSS"
certificateKeyAlias="NHSM-CONN-XC:Server-Cert cert-rhcs10-ECC-SubCA"/>
    </SSLHostConfig>
	</Connector>
Copy to Clipboard Toggle word wrap

Tomcat エンジンの server.xml 設定ファイルに、この Connector 設定要素として、この Connector オブジェクトの sslImplementation プロパティーにプラグインできる tomcatjss 実装へのポインターが含まれるこの Connector 設定要素があります。

各キーパラメーター要素は、以下のサブセクションで説明します。

13.4.1.1. TLS 暗号の設定

Red Hat Certificate System は TLS 1.2 暗号スイートをサポートしています。これらは、CS インスタンスがサーバーとして機能する場合はインスタンスの server.xml で定義され、CS インスタンスがクライアントとして機能する場合は CS.cfg で定義されています。

13.4.1.2. CA での自動失効チェックの有効化

失効チェックは、他のすべての RHCS サブシステムと同じ方法で CA でサポート/有効化されます (RHCS サブシステムの証明書失効チェックの有効化 を参照)。RHCS は、効率的な証明書失効チェックのために OCSP を推奨しています。ただし、CA が他の CS サブシステムと異なる点として、CA が発行する証明書の CRL の作成者であり、したがって OCSP サブシステムに必要な CRL のソースであることが挙げられます。そのため、OCSP や他の RHCS サブシステムの前に独立して起動できる必要があります。

CA が CA 自体の内部 LDAP サーバー証明書を発行する場合、CA 起動時に鶏が先か卵が先かという問題に陥らないように、AIA (OCSP) ではなく CRL 配布ポイント拡張を使用することが非常に重要です。

13.4.1.2.1. CRL 配布ポイントのサポートを設定する

大規模 CRL の伝播を軽減してストレージを削減するために、RHCS では CRL をパーティション化して、CRL 配布ポイントを使用する証明書をより小さなサブセットにグループ化できるようにすることが推奨されている点に留意する必要があります。

CRL 配布ポイント証明書登録プロファイルを使用して発行されるサーバー証明書のパーティション化された CRL をサポートするように CA を設定する方法は、CRL 配布ポイントのサポートを設定する を参照してください。

13.4.1.3. RHCS サブシステムの証明書失効チェックの有効化

証明書失効チェックは、PKI 環境における証明書検証の重要な要素です。RHCS は、ピア証明書の AIA (OCSP) または CRL 配布ポイント拡張のいずれかを検出/処理する 2 種類の証明書失効検証方法 (OCSP と CRL) を提供します。

RHCS では、より効率的な証明書失効チェックのために OCSP が推奨されます。

注記

OCSP の使用が適切ではない場合、CRL 配布ポイントの使用は避けられません。その例は、上記の CA での自動失効チェックの有効化 にあります。

OCSP を採用するアプリケーション (この場合は PKI サブシステム) は、問題の証明書を検証するために OCSP システムに接続する方法を認識している必要があります。PKI サブシステムでは、デフォルトで OCSP チェックは有効になっていません。PKI サブシステムの OCSP チェックを有効にするには、server.xml ファイルを編集します。

注記

内部データベースで SSL/TLS 接続を使用するようにサブシステムを設定した場合は、LDAP 内部データベースの SSL/TLS サーバー証明書が OCSP レスポンダーによって認識される必要があります。OCSP レスポンダーが LDAP サーバー証明書を認識しない場合は、サブシステムが適切に起動しません。この設定は、サブシステムの SSL/TLS サーバー接続がサブシステム設定の一部として設定されているため、「Red Hat Certificate System のプランニング、インストール、デプロイメントガイド」で説明されています。

手順

  1. インスタンスを停止します。

    systemctl stop pki-tomcatd@<instance_name>.service
    Copy to Clipboard Toggle word wrap
  2. /var/lib/pki/<instance_name>/conf/server.xml ファイルを編集して、Connector name="Secure" セクションを設定します。

    1. enableOCSP パラメーターを true に設定します
    2. 次の 2 つのパラメーターとそれらに割り当てられた値を必ず削除してください。

      ocspResponderURL
      ocspResponderCertNickname
      Copy to Clipboard Toggle word wrap

      以下に例を示します。

      <Connector name="Secure"
           enableOCSP="true"
           ocspCacheSize="1000"
           ocspMinCacheEntryDuration="60"
           ocspMaxCacheEntryDuration="120"
           ocspTimeout="10"
           ...
      />
      Copy to Clipboard Toggle word wrap
  3. インスタンスを起動します。

    systemctl start pki-tomcatd@<instance_name>.service
    Copy to Clipboard Toggle word wrap
注記

デフォルトでは、インストール中に作成されるすべての PKI システム証明書は、発行する CA の内部 OCSP サービスを指す AIA (Authority Information Access) 拡張を使用して生成されます。証明書に AIA 拡張を追加する の手順を使用する場合、PKI サブシステムをインストールする前に外部 OCSP を指すように設定すると、すべての証明書 (およびその CA が発行したその他すべての証明書) には、外部 OCSP を指す正しい AIA が含まれている必要があります。

13.4.1.3.1. OCSP 署名証明書の信頼の設定

各 OCSP 署名証明書は、Certificate System の NSS データベース内の信頼されたルートまで連鎖する必要があります。RHCS では、検証中は各 OCSP 応答に OCSP 署名者証明書チェーンが含まれます。そのため、以下のような考慮が必要になります。

  • 使用されている OCSP レスポンダーが、RHCS OCSP サービスのデフォルトと同様に、各 OCSP 応答で OCSP 署名証明書の証明書チェーン全体を提供するように設定されている場合は、それ以上のアクションは必要ありません。NSS は、提供情報からこのチェーンを検証する方法を認識しています。
  • 一方、OCSP が完全なチェーンを返さないことが明らかな場合は、インストールのセットアップ中にチェーンを手動でインポートする必要があります。詳細は、OCSP レスポンダーのインポート を参照してください。

Certificate System OCSP レスポンダには、すべてのレスポンスにチェーンがすでに含まれています。これには、Certificate System の外部 OCSP レスポンダーと、各 CA に付属する内部 OCSP サービスが含まれます。この動作はデフォルトであり、変更できません。

13.4.1.3.2. server.xml の OCSP パラメーター

次の表は、server.xml ファイル内の証明書失効チェック (つまり OCSP および CRL) に関連する各パラメーターの情報を示しています。

Expand
表13.10 server.xml の OCSP パラメーター
パラメーター説明

enableRevocationCheck (enableOCSP とも呼ばれる)

サブシステムの失効チェックを有効 (または無効) にします。

ocspResponderURL

OCSP リクエストが送信される URL を設定します。OCSP Manager の場合は、別の OCSP または CA の別の OCSP サービスになります。TKS または KRA の場合、これは常に OCSP または CA の外部 OCSP サービスを指します。

ocspResponderCertNickname

レスポンダーの署名証明書のニックネームを設定します。OCSP 署名証明書または CA の OCSP 署名証明書のいずれかです。証明書はサブシステムの NSS データベースにインポートされ、適切な信頼設定が設定されている必要があります。

ocspCacheSize

キャッシュエントリーの最大数を設定します。

ocspMinCacheEntryDuration

別のフェッチを試行するまでの最小秒数を設定します。たとえば、これが 120 に設定された場合は、最後の有効期間をチェックから 2 分以上経たないと証明書の有効性を再度確認することができません。

ocspMaxCacheEntryDuration

次のフェッチを試みる前に待機する最大秒数を設定します。これにより、有効期間チェック間でウィンドウが大きくなり過ぎないようにできます。

ocspTimeout

OCSP 要求のタイムアウト期間を秒単位で設定します。

注記

OCSP 応答で nextUpdate フィールドが送信された場合、ocspMinCacheEntryDurationocspMaxCacheEntryDuration が取得時間に次の影響を及ぼす可能性があります。

  • ocspMinCacheEntryDuration に設定された値に達する前に nextUpdate の値に達した場合、ocspMinCacheEntryDuration に設定された値に達するまで取得は開始されません。
  • ocspMinCacheEntryDuration に達した場合、サーバーは nextUpdate の値に達したかどうかを確認します。値に達すると、フェッチが発生します。
  • nextUpdate の値に関係なく、ocspMaxCacheEntryDuration の設定に達した場合は、取得が実行されます。
注記

NSS が保持する基礎となる SSL/TLS セッションキャッシュは、非常にコストのかかる完全なハンドシェイクを防止し、より強力なプライバシーを提供する業界標準に準拠しているため、NSS が検証が必要であると判断した場合にのみ OCSP 要求が実行されます。SSL/TLS セッションキャッシュは OCSP ステータスキャッシュとは独立しています。NSS が OCSP 要求を実行する必要があると判断すると要求が実行され、受信した応答は OCSP 証明書ステータスキャッシュに保存されます。SSL/TLS セッションキャッシュにより、これらの OCSP キャッシュパラメーターは NSS によって許可された場合にのみ有効になります。

13.4.1.4. 証明書に AIA 拡張を追加する

デフォルトでは、明示的に指定されていない限り、CA は、CA 自身の内部 OCSP を指す AIA (Authority Information Access) 拡張を持つ証明書を発行します。OCSP インスタンスのセットアップを完了すると、CA を設定して、代わりに OCSP インスタンスを指す AIA 拡張機能を使用して証明書の発行を開始できます。

前提条件

  • root ユーザーとしてログインしている。

手順

  1. CA を停止します。

    systemctl stop pki-tomcatd@<instance_name>.service
    Copy to Clipboard Toggle word wrap
  2. CA の CS.cfg を編集し、ca.defaultOcspUri 変数が OCSP を指すように設定します。以下に例を示します。

    ca.defaultOcspUri=http://hostname:32080/ocsp/ee/ocsp
    Copy to Clipboard Toggle word wrap
  3. CA を起動します。

    systemctl start pki-tomcatd@<instance_name>.service
    Copy to Clipboard Toggle word wrap
注記

各サブシステム (KRA など) の OCSP URL は、デフォルトで server.xml ファイルに設定されています。これを有効にすると、ピア証明書に埋め込まれた AIA 拡張ではなく、証明書のステータスを検索するときに静的 URL を使用するように RHCS インスタンスに指示します。AIA 拡張の使用に関する詳細は、RHCS サブシステムの証明書失効チェックの有効化 を参照してください。

13.4.1.5. 証明書に CRL 配布ポイント拡張を追加する

証明書に CRL 配布ポイント拡張を追加するには、CRL 配布ポイント拡張を備えた証明書登録プロファイルを使用する必要があります。証明書登録プロファイルを有効にするには、CRL 配布ポイントを使用した CA の登録プロファイル設定 を参照してください。

このプロファイルが機能するには、CA が CRL 配布ポイントを処理するように設定されている必要があることに注意してください。CRL 配布ポイントのサポートを設定する を参照してください。

13.4.2. セッションタイムアウト

ユーザーがクライアントアプリケーションを介して PKI サーバーに接続すると、サーバーはユーザーを追跡するセッションを作成します。ユーザーがアクティブな状態である限り、ユーザーは再認証せずに同じセッションで複数の操作を実行できます。

セッションタイムアウトは、アクティブでないためにセッションを終了するまで最後の操作からサーバーが待機する期間を決定します。セッションが終了すると、ユーザーはサーバーへのアクセスを継続するためにユーザーを再認証し、サーバーが新しいセッションを作成します。

タイムアウトには、2 つのタイプがあります。

  • TLS セッションのタイムアウト
  • HTTP セッションのタイムアウト

クライアントの仕組みが異なるため、クライアントはこれらのタイムアウトによって影響を及ぼします。

注記

特定のクライアントには独自のタイムアウト設定があります。たとえば、Firefox には keep-alive タイムアウト設定があります。詳細は http://kb.mozillazine.org/Network.http.keep-alive.timeout を参照してください。値が TLS セッションタイムアウトまたは HTTP セッションタイムアウトのサーバーの設定と異なる場合は、異なる動作を確認できます。

13.4.2.1. TLS セッションのタイムアウト

TLS セッションは、TLS ハンドシェイクプロトコルを介して確立された TLS 接続におけるセキュアな通信チャネルです。

PKI サーバーは、TLS セッションアクティビティーの監査イベントを生成します。サーバーは、接続の作成時に、Outcome=SuccessACCESS_SESSION_ESTABLISH 監査イベントを生成します。接続の作成に失敗した場合、サーバーは Outcome=Failure を指定した ACCESS_SESSION_ESTABLISH 監査イベントを生成します。接続が閉じられると、サーバーは ACCESS_SESSION_TERMINATED 監査イベントを生成します。

TLS セッションタイムアウト (TLS 接続タイムアウト) は、/etc/pki/instance/server.xml ファイルの Secure Connector 要素の keepAliveTimeout パラメーターで設定されます。

...
Server
	Service
		Connector name="Secure"
			...
			keepAliveTimeout="300000"
			...
			/
	/Service
/Server
...
Copy to Clipboard Toggle word wrap

デフォルトではタイムアウト値は 300000 ミリ秒 (5 分) に設定されます。この値を変更するには、/etc/pki/instance/server.xml ファイルを編集し、サーバーを再起動します。

注記

この値は、サーバーへのすべての TLS 接続に影響することに注意してください。期限切れでない既存の接続を再利用できるため、クライアントの効率が大きくなる可能性があります。ただし、放棄された接続の有効期限が切れるまでに時間がかかるため、サーバーが同時にサポートする必要のある接続の数も増える可能性があります。

13.4.2.2. HTTP セッションのタイムアウト

HTTP セッションは、HTTP クッキーを使用して複数の HTTP リクエストでユーザーを追跡するメカニズムです。PKI サーバーは、HTTP セッションの監査イベントを生成しません。

注記

一貫性を監査するために、このセクションの session-timeout 値を、「TLS セッションのタイムアウト」keepAliveTimeout 値と一致するように設定します。たとえば、keepAliveTimeout300000 (5 分) に設定されている場合は、session-timeout30 に設定します。

HTTP セッションのタイムアウトは、/etc/pki/instance/web.xml ファイルの session-timeout 要素で設定できます。

...
web-app
	session-config
		session-timeout30/session-timeout
	/session-config
/web-app
...
Copy to Clipboard Toggle word wrap

デフォルトでは、タイムアウト値は 30 分に設定されています。値を変更するには、/etc/pki/instance/web.xml ファイルを編集し、サーバーを再起動します。

注記

この値は、サーバー上のすべての Web アプリケーションにあるすべてのセッションに影響することに注意してください。アクセスバナーを再度認証したり、表示したりする必要がないため、大きな値がユーザーのエクスペリエンスが向上します。ただし、破棄された HTTP セッションが期限切れになるまでの時間があるため、セキュリティーリスクも高まります。

13.4.2.3. PKI Web UI のセッションタイムアウト

PKI Web UI は、ブラウザーで実行されるインタラクティブな Web ベースのクライアントです。現在、クライアント証明書認証のみをサポートしています。

Web UI が開くと、ブラウザーはサーバーに複数の TLS 接続を作成できます。これらの接続は単一の HTTP セッションに関連付けられます。

Web UI のタイムアウトを設定するには、「HTTP セッションのタイムアウト」 を参照してください。ブラウザーがクライアント証明書をキャッシュし、TLS セッションを自動的に再作成できるようにするため、TLS セッションのタイムアウトは通常無関係です。

HTTP セッションの期限が切れると、Web UI は即座に表示されません。ただし、Web UI は、ユーザーが操作を実行する前にアクセスバナー (有効な場合) を表示します。

13.4.2.4. PKI コンソールのセッションタイムアウト

PKI コンソールは、インタラクティブなスタンドアロングラフィカル UI クライアントです。ユーザー名/パスワードおよびクライアント証明書認証をサポートします。

コンソールの起動時に、サーバーへの 1 つの TLS 接続が作成されます。コンソールは、グラフィカルインターフェイスを開く前に、アクセスバナー (有効な場合) を表示します。Web UI とは異なり、コンソールはサーバーで HTTP セッションを維持しません。

コンソールのタイムアウトを設定するには、「TLS セッションのタイムアウト」 を参照してください。コンソールは HTTP セッションを使用しないため、HTTP セッションタイムアウトは無関係です。

TLS セッションの期限が切れると、TLS 接続が閉じられ、コンソールがシステムにすぐに終了します。ユーザーが続行する場合は、コンソールを再起動する必要があります。

13.4.2.5. PKI CLI のセッションタイムアウト

PKI CLI は、一連の操作を実行するコマンドラインクライアントです。ユーザー名/パスワードおよびクライアント証明書認証をサポートします。

CLI の起動時に、サーバーと HTTP セッションへの単一の TLS 接続を作成します。CLI は、操作を実行する前にアクセスバナー (有効な場合) を表示します。

通常、操作は遅延なく順次実行され、CLI が完了するとすぐに CLI を終了するため、両方のタイムアウトは PKI CLI とは無関係です。ただし、CLI がユーザー入力を待機するか、速度が低下するか、応答しなくなると、TLS セッションまたは HTTP セッションが期限切れになり、残りの操作が失敗する場合があります。このような遅延が予想される場合は、「TLS セッションのタイムアウト」「HTTP セッションのタイムアウト」 を参照して、想定される遅延に対応します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る