![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
SSL 証明書失効リストおよび Online Certificate Status Protocol
クライアント証明書の証明書失効検査の構成について説明します。 証明書失効リスト (CRL) は非推奨のフィーチャーです。TLS 証明書では Online Certificate Status Protocol (OCSP) を使用できます。
- 証明書失効リスト (CRL)、(非推奨)
- 予定された有効期限前に取り消された証明書のリストを含むデータベース。
- Online Certificate Status Protocol (OCSP)
- 予定された有効期限前に個々の証明書が取り消されたかどうかを検査するために使用される HTTP ベースのサービス。
IBM HTTP Server の証明書の失効を使用可能にする場合は、Lightweight Directory Access Protocol (LDAP) サーバーで CRL を発行します。LDAP サーバーで CRL を発行すると、IBM HTTP Server 構成ファイルを使用して CRL にアクセスすることができます。CRL は、要求されたクライアント証明書のアクセス権状況を決定します。ただし、失効データのソースであるバックエンド・サーバーが利用不可であるか、IBM HTTP Server と適切に通信していない場合は、クライアント証明書の失効状況を必ずしも判別できるとは限らないことに注意してください。
CRL オプションは、SSL 仮想ホスト内で CRL をオン/オフにします。 CRL をオプションとして指定する場合、CRL をオンにします。CRL をオプションとして指定しない場合、CRL はオフのままです。SSLClientAuth の最初のオプションが 0/なしの場合、2 番目のオプション CRL を使用することはできません。クライアント認証をオンにしない場合、CRL 処理は行われません。
- Web サーバー管理者は、複数のソースからの失効情報を集約して、その場所を明示的に構成することができます。
- OCSP の場合、SSLOCSPResponderURL ディレクティブによってこのソースが構成されます。
- CRL の場合、SSLCRLHostname ディレクティブと、SSLClientAuth ディレクティブに対するオプションの crl 引数によって、このソースが構成されます。
- 認証局は、発行する各証明書に失効情報の正式なソースを組み込むことができます。
- CRL の場合、このソースは、ソースが明示的に構成されている場合にのみ使用されます。
- OCSP の場合、SSLOCSPEnable はこれらのソースの処理を構成します。
トラブルの回避 (Avoid trouble): 失効データのソースであるバックエンド・サーバーが利用不可であるか、IBM HTTP Server と適切に通信していない場合は、クライアント証明書の失効状況を必ずしも判別できるとは限りません。そのような場合のサーバーの動作方法を構成するには、「SSLUnknownRevocationStatus」ディレクティブを参照してください。gotcha
トラブルの回避 (Avoid trouble): 証明書 で CertificateDistributionPoint または AIA 拡張に LDAP または HTTP URI フォーム を使用している場合、IBM HTTP Server システムがこの種類の外部への接続を確実に確立 できるようにしてください。ファイアウォールの設定を調整する 必要がある場合があります。gotcha
グローバルまたはサーバーおよび仮想ホストでサポートされている CRL 固有のディレクティブの識別
- SSLCRLHostname: CRL データベースがある LDAP サーバーの IP アドレスおよびホスト。
現在、
静的 CRL リポジトリーは、CRLDistributionPoint フィールドで他の URI フォームのチェック
が有効になるように構成する必要があります。
明示的に構成された LDAP サーバー のみで CRL の照会を行うことができます。また、バックエンド・サーバーと接続できない場合、 SSL ハンドシェークを行うことはできません。
- SSLCRLPort: CRL データベースが常駐する LDAP サーバーのポート。デフォルトは 389 です。
- SSLCRLUserID: CRL データベースが常駐する LDAP サーバーへ送信するユーザー ID。バインドを指定しない場合、デフォルトで匿名になります。
- SSLStashfile: LDAP サーバーのユーザー名のパスワードがあるファイルへの完全修飾パス。このディレクティブは、匿名バインドには必要ありません。
ユーザー ID を指定するときに使用します。
IBM HTTP Server の bin ディレクトリーにある sslstash コマンドを使用して CRL パスワード・スタッシュ・ファイルを作成します。sslstash コマンドを使用して指定するパスワードは、LDAP サーバーにログインするために使用するパスワードと同じでなければなりません。
使用法:
各部の意味は、次のとおりです。sslstash [-c] <directory_to_password_file_and_file_name> <function_name> <password>
- -c: 新規 stash ファイルを作成します。指定しない場合、既存のファイルが更新されます。
- File: 作成または更新するファイルの完全修飾名を表します。
- Function: パスワードを使用する関数を示します。 有効な値には、crl または crypto があります。
- Password: stash へのパスワードを表します。
SSLUnknownRevocationStatus: 新しい証明書失効リスト (CRL) の情報または OCSP (Online Certificate Status Protocol) の情報を使用できず、現在提供されているクライアント証明書が前回の照会から取り消されているかどうかが不明な場合に IBM HTTP Server がどのように対応するかを、このディレクティブで構成することができます。証明書は、デフォルトでは失効と見なされず、有効となります。 また、CRL または OCSP 情報の取得に一時的に失敗しても、自動的に SSL ハンドシェーク の失敗という結果にはなりません。 このディレクティブは、IBM HTTP Server が失効状況の確認を確実に行うことができない状態で 証明書が受け入れられた場合に対応するために提供されて います。
このディレクティブは、以下のすべての条件に 該当する場合にのみ有効です。- SSLClientAuth ディレクティブでクライアント証明書を受け入れる ように IBM HTTP Server を構成している。
- IBM HTTP Server が、SSLOCSPEnable、SSLOCSPUrl、または SSLCRLHostname の いずれかのディレクティブを用いて構成されている。
- SSL クライアント証明書が提供されている。
- IBM HTTP Server が構成されたバックエンド・サーバーから
有効な OCSP または CRL 応答を受信せず、クライアント証明書がキャッシュされた
有効期限切れの CRL 応答で失効として示されていない。
最新の CRL を利用できない場合、 IBM HTTP Server は、発行済みで有効期限の切れているキャッシュされた CRL を 使います。証明書がそのような有効期限切れの CRL 内で失効となっている場合、 SSL ハンドシェークの失敗の直接的な原因となり、 SSLUnknownRevocationStatus ディレクティブの範囲外 となります。
- CDP LDAP X.500 の名前
- CDP LDAP URI
- SSLCRLHostname ディレクティブの値が結合された発行者の名前