Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティの管理 12.2.1 12c (12.2.1) E70000-01 |
|
![]() 前 |
![]() 次 |
この章では、WebLogic Serverでのホスト名検証の構成方法について説明します。ホスト名検証では、クライアントの接続先URLのホスト名と、SSL接続の一部としてサーバーが返送するデジタル証明書のホスト名が一致していることを確認します。ホスト名検証は、SSLクライアント(SSLクライアントとして機能しているWebLogic Serverなど)がリモート・ホスト上のアプリケーション・サーバーに接続する場合に役立ちます。また、中間者攻撃を防ぐのに役立ちます。
WebLogic Serverには2つのホスト名検証機能があります。また、カスタム・ホスト名検証を作成して使用することもできます。
この章の内容は次のとおりです。
WebLogic ServerのSSLハンドシェーク機能としての動作は、SSLサーバーのデジタル証明書のSubjectDNにある共通名と、SSL接続の許可に使用するSSLサーバーのホスト名を比較することです。これらの名前が完全に一致しない場合は、SSL接続が中断されます。名前が一致しない場合はSSLクライアントが実際にSSL接続を中断します。
デフォルト以外の動作が必要な場合は、ホスト名検証を無効にするか、カスタム・ホスト名検証を構成します。ホスト名検証を無効にすると、WebLogic Serverは中間者攻撃に対して無防備な状態になります。本番環境では、ホスト名検証を有効にしておくことをお薦めします。
デフォルトのWebLogic Serverホスト名ベリファイアを使用する場合、ホスト名の検証は次の両方の条件がある場合に合格します。
証明書のホスト名がローカルマシンのホスト名に一致します。
URLがlocalhost
、127.0.01
、またはローカル・マシンのデフォルトIPアドレスを指定します。
注意: マルチサーバー・ドメインでデモ用のID証明書を使用している場合、管理対象サーバーを管理サーバーの完全修飾DNS名で開始すると、管理対象サーバー・インスタンスの起動に失敗します。制限事項や推奨回避策の詳細は、「CertGenを使用する場合の制限事項」を参照してください。 |
デフォルトでは、デフォルトのホスト名検証が構成されます。これを使用するために必要な操作はありません。
詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの次のトピックを参照してください。
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.mydomain.com
さらに、目的のホスト名がファイル/Library/Preferences/SystemConfiguration/preferences.plist
で設定されていることを確認することもできます。詳細は、お使いのプラットフォーム用のMac OS Xのドキュメントを参照してください。
デフォルトのWebLogic Serverホスト名検証に加えて、WebLogic Serverには、ワイルドカードのあるホスト名検証というもう1つのホスト名検証があります。ワイルドカードのあるホスト名検証は、デフォルトのWebLogic Serverホスト名検証と同様に機能しますが、さらに次のSSLセッション証明書も受け入れます。
証明書のサブジェクト共通名属性(CNドメイン)から取得されるホスト名にアスタリスクのワイルドカード文字(*
)が含まれる証明書
SubjectAlternativeName dnsName (SAN)証明書
SSLセッション証明書のホスト名に次の条件を満たすワイルドカード文字が含まれる場合、証明書はワイルドカードのあるホスト名検証に受け入れられます。
ホスト名に少なくとも2つのドット(.
)文字が含まれる。
ホスト名がアスタリスク(*
)で始まり、他にアスタリスクを含まない。
CN文字列からアスタリスク(*
)を取ったときの残りの文字列が次のようになる場合
ドメインを表す。
先頭にドット(.
)文字を含む。
受信リクエスト・ドメインの最後の文字列と同じ。
他にドット(.
)文字を含まない(これにより、ワイルドカードがサブドメインを表すことがなくなります。
SSLセッション証明書のホスト名が期待されるサーバー名属性と完全に一致せず、またホスト名をワイルドカードの受け入れ条件に従って正常に検証できない場合、ワイルドカードのあるホスト名検証は、SAN拡張の検証を試みます。
SAN拡張はSSLセッション証明書から取得されます。SAN拡張の値は、大文字と小文字を区別しない一致を使用して繰り返し適用されます。繰り返されるいずれかの値について、証明書内のdnsName属性がリクエストURLと一致すると、ホスト名検証は成功します。
ワイルドカードのあるホスト名検証のクラス名は、weblogic.security.utils.SSLWLSWildcardHostnameVerifier
です。ワイルドカードのあるホスト名検証を構成するには、WebLogic Server管理コンソールの「サーバー」→「構成」→「SSL」ページで、カスタムのホスト名検証としてこのクラスを指定します。ワイルドカードのあるホスト名検証には、構成が必要なパラメータはありません。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのカスタム・ホスト名検証の構成に関する項を参照してください。
カスタム・ホスト名検証を実装するクラスは、WebLogic Server (SSLクライアントとして機能している場合)またはスタンドアロンのSSLクライアントのCLASSPATHに指定されている必要があります。
詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのカスタム・ホスト名検証の構成に関する項を参照してください。