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 パラメーターを以下に示します。
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 のプランニング、インストール、デプロイメントガイド」で説明されています。
手順
インスタンスを停止します。
systemctl stop pki-tomcatd@<instance_name>.service
systemctl stop pki-tomcatd@<instance_name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pki/<instance_name>/conf/server.xmlファイルを編集して、Connector name="Secure"セクションを設定します。-
enableOCSPパラメーターをtrueに設定します 次の 2 つのパラメーターとそれらに割り当てられた値を必ず削除してください。
ocspResponderURL ocspResponderCertNickname
ocspResponderURL ocspResponderCertNicknameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
インスタンスを起動します。
systemctl start pki-tomcatd@<instance_name>.service
systemctl start pki-tomcatd@<instance_name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
デフォルトでは、インストール中に作成されるすべての 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) に関連する各パラメーターの情報を示しています。
| パラメーター | 説明 |
|---|---|
| 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 フィールドが送信された場合、ocspMinCacheEntryDuration と ocspMaxCacheEntryDuration が取得時間に次の影響を及ぼす可能性があります。
-
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 ユーザーとしてログインしている。
手順
CA を停止します。
systemctl stop pki-tomcatd@<instance_name>.service
systemctl stop pki-tomcatd@<instance_name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA の
CS.cfgを編集し、ca.defaultOcspUri変数が OCSP を指すように設定します。以下に例を示します。ca.defaultOcspUri=http://hostname:32080/ocsp/ee/ocsp
ca.defaultOcspUri=http://hostname:32080/ocsp/ee/ocspCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA を起動します。
systemctl start pki-tomcatd@<instance_name>.service
systemctl start pki-tomcatd@<instance_name>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
各サブシステム (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=Success の ACCESS_SESSION_ESTABLISH 監査イベントを生成します。接続の作成に失敗した場合、サーバーは Outcome=Failure を指定した ACCESS_SESSION_ESTABLISH 監査イベントを生成します。接続が閉じられると、サーバーは ACCESS_SESSION_TERMINATED 監査イベントを生成します。
TLS セッションタイムアウト (TLS 接続タイムアウト) は、/etc/pki/instance/server.xml ファイルの Secure Connector 要素の keepAliveTimeout パラメーターで設定されます。
デフォルトではタイムアウト値は 300000 ミリ秒 (5 分) に設定されます。この値を変更するには、/etc/pki/instance/server.xml ファイルを編集し、サーバーを再起動します。
この値は、サーバーへのすべての TLS 接続に影響することに注意してください。期限切れでない既存の接続を再利用できるため、クライアントの効率が大きくなる可能性があります。ただし、放棄された接続の有効期限が切れるまでに時間がかかるため、サーバーが同時にサポートする必要のある接続の数も増える可能性があります。
13.4.2.2. HTTP セッションのタイムアウト リンクのコピーリンクがクリップボードにコピーされました!
HTTP セッションは、HTTP クッキーを使用して複数の HTTP リクエストでユーザーを追跡するメカニズムです。PKI サーバーは、HTTP セッションの監査イベントを生成しません。
一貫性を監査するために、このセクションの session-timeout 値を、「TLS セッションのタイムアウト」 の keepAliveTimeout 値と一致するように設定します。たとえば、keepAliveTimeout が 300000 (5 分) に設定されている場合は、session-timeout を 30 に設定します。
HTTP セッションのタイムアウトは、/etc/pki/instance/web.xml ファイルの session-timeout 要素で設定できます。
デフォルトでは、タイムアウト値は 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 セッションのタイムアウト」 を参照して、想定される遅延に対応します。