30 ホスト名検証の使い方
WebLogic Serverには2つのホスト名検証機能があります。また、カスタム・ホスト名検証を作成して使用することもできます。
ノート:
WebLogic Server 14c (14.1.1.0.0)より前のリリースでは、BEAホスト名検証はデフォルト・ホスト名検証とも呼ばれていました。しかし、WebLogic Serverリリース14c (14.1.1.0.0)以降、デフォルト・ホスト名検証はワイルドカード・ホスト名検証に変わりました。
この章の内容は次のとおりです。
BEAホスト名検証の使用
WebLogic Serverには、ワイルドカード・ホスト名検証とBEAホスト名検証という、2つのホスト名検証が用意されています。WebLogic Server 14c (14.1.1.0.0)以降、ワイルドカード・ホスト名検証がデフォルト・ホスト名検証となり、デフォルトで構成されています。
WebLogic Serverホスト名検証を使用する場合、証明書のホスト名がローカル・マシンのホスト名と一致していて、URLでlocalhost
、127.0.01
またはローカル・マシンのデフォルトIPアドレスが指定されていると、ホスト名検証は合格します。
WebLogic ServerのSSLハンドシェーク機能としての動作は、SSLサーバーのデジタル証明書のSubjectDNにある共通名と、SSL接続の許可に使用するSSLサーバーのホスト名を比較することです。これらの名前が完全に一致しない場合は、SSL接続が中断されます。名前が一致しない場合はSSLクライアントが実際にSSL接続を中断します。
ホスト名検証を無効にしたり、カスタム・ホスト名検証を構成することもできます。ホスト名検証を無効にすると、WebLogic Serverは中間者攻撃に対して無防備な状態になります。本番環境では、ホスト名検証を有効にしておくことをお薦めします。
WebLogic Serverの以前のリリースでは、BEAホスト名検証がデフォルト・ホスト名検証でした。BEAホスト名検証を構成するには、「BEAホスト名検証の構成」を参照してください。
ノート:
マルチサーバー・ドメインでデモ用のID証明書を使用している場合、管理対象サーバーを管理サーバーの完全修飾DNS名で開始すると、管理対象サーバー・インスタンスの起動に失敗します。制限事項や推奨回避策の詳細は、「CertGenを使用する場合の制限事項」を参照してください。
Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。
BEAホスト名検証の構成
BEAホスト名検証クラス名は、weblogic.security.utils.SSLWLSHostnameVerifier.DefaultHostnameVerifier
です。BEAホスト名検証を構成するには、WebLogic Server管理コンソールの「サーバー」→「構成」→「SSL」ページで、カスタム・ホスト名検証としてこのクラスを指定します。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのカスタム・ホスト名検証の構成に関する項を参照してください。
ワイルドカード・ホスト名検証の使用
Oracle WebLogic Server 14c (14.1.1.0.0)以降、デフォルトのWebLogic Serverホスト名検証はワイルドカード・ホスト名検証です。ワイルドカード・ホスト名検証がデフォルトで構成されています。これを使用するために必要な操作はありません。
WebLogic Serverの以前のリリースでは、BEAホスト名検証がデフォルト・ホスト名検証でした。BEAホスト名検証の使用および構成の詳細は、「BEAホスト名検証の使用」を参照してください。
ワイルドカード・ホスト名検証はBEAホスト名検証と同様に機能しますが、ワイルドカード・ホスト名検証は追加のSSLセッション証明書も受け入れます。ワイルドカード・ホスト名検証は、次に示す追加のSSLセッション証明書を受け入れます:
-
証明書のサブジェクト共通名属性(CNドメイン)から取得されるホスト名にアスタリスクのワイルドカード文字(
*
)が含まれる証明書 -
SubjectAlternativeName dnsName (SAN)証明書
この項では、次の項目について説明します。
ワイルドカード・ホスト名検証の仕組み
SSLセッション証明書のホスト名に次の条件を満たすワイルドカード文字が含まれる場合、その証明書はワイルドカード・ホスト名検証で受け入れられます。
-
ホスト名に少なくとも2つのドット(
.
)文字が含まれる。 -
ホスト名がアスタリスク(
*
)で始まり、他にアスタリスクを含まない。 -
CN文字列からアスタリスク(
*
)を取ったときの残りの文字列が次のようになる場合-
ドメインを表す。
-
先頭にドット(
.
)文字を含む。 -
受信リクエスト・ドメインの最後の文字列と同じ。
-
他にドット(
.
)文字を含まない(これにより、ワイルドカードがサブドメインを表すことがなくなります。
-
SSLセッション証明書のホスト名が期待されるサーバー名属性と完全に一致せず、またホスト名をワイルドカードの受入れ条件に従って正常に検証できない場合、ワイルドカード・ホスト名検証はSAN拡張の検証を試みます。
SAN拡張はSSLセッション証明書から取得されます。SAN拡張の値は、大文字と小文字を区別しない一致を使用して繰り返し適用されます。繰り返し値の場合、証明書のdnsName属性がリクエストURLと完全にまたはワイルドカード比較で一致すると、ホスト名検証が成功します。
カスタム・ホスト名検証の使用
カスタム・ホスト名検証を使用する場合は、カスタム・ホスト名検証を実装するクラスを、WebLogic Server (SSLクライアントとして機能している場合)またはスタンドアロンのSSLクライアントのCLASSPATHに指定する必要があります。
カスタム・ホスト名検証の使用の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのカスタム・ホスト名検証の構成に関する項を参照してください。
Mac OS Xプラットフォームでのホスト名検証の使用
WebLogic Serverが、ホスト名がDHCPサーバーによって割り当てられるネットワーク内で動作するMac OS Xプラットフォームにインストールされる場合、デフォルトでは、Mac OS Xは、DHCPによって割り当てられたホスト名を使用してマシンのホスト名を動的にオーバーライドします。その結果、デモ用のID証明書を生成している場合、マシンに動的に再割当てされたホスト名と証明書内のホスト名が一致しなければ、ホスト名検証が失敗する可能性があります。
このホスト名の再割当ては、ネットワークが再起動したときなどに頻繁に行われます。Mac OS Xプラットフォーム上のWebLogic Serverでデモ用のID証明書を使用するには、次のいずれかを実行します。
-
ホスト名検証を無効にします(本番環境で操作している場合はお薦めしません)。
-
WebLogic Serverをインストールする前に、マシンに固定のホスト名を設定します。環境にもよりますが、これは
/etc/hostconfig
のHOSTNAME
プロパティを-AUTOMATIC-
から割り当てたい名前に変更することによって設定できます。たとえば:HOSTNAME=mymachine.example.com
さらに、目的のホスト名がファイル
/Library/Preferences/SystemConfiguration/preferences.plist
で設定されていることを確認することもできます。使用しているプラットフォーム用のMac OS Xのドキュメントを参照してください。