Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3セキュリティの管理 12c (12.1.3) E57576-07 |
|
前 |
次 |
この章では、WebLogic Server 12.1.3でネットワーク・チャネルに独自のカスタムIDキーストアを構成する方法、またその他のSSL属性を構成する方法を説明します。これらの属性は、管理対象サーバー・インスタンスまたはドメインのデフォルトのキーストアおよびSSL構成の設定とは分離され、それらよりも優先されます。これによって、あるネットワーク・チャネルではあるIDとSSL、別のネットワーク・チャネルでは別のIDとSSLを使用するように、WebLogic Serverインスタンスを構成できます。
この章の内容は次のとおりです。
『Oracle WebLogic Serverサーバー環境の管理』のネットワーク・チャネルの理解に関する項で説明されているように、WebLogic Serverインスタンスのネットワーク・チャネルは次の4つの属性の組合せです。
通信プロトコル(t3、t3s、httpまたはhttps)
リスニング・アドレス
リスニング・ポート
チャネル名
デフォルトでは、ネットワーク・チャネルを構成するとき、チャネルはサーバー・インスタンス用に設定されているSSL構成を使用します。つまり、チャネルは、サーバー用に確立されるものと同じアイデンティティと信頼を使用します。サーバーは、サーバー・インスタンスおよびドメインの構成方法に応じて、そのサーバー固有のカスタム・アイデンティティを使用する場合とドメイン全体で1つのアイデンティティを使用する場合があります。
ただし、場合によっては、管理対象サーバー・インスタンスが参加するすべてのネットワーク通信で1つのIDを使用するのではなく、サーバーが特定のクライアントと通信するときに別のIDに切り替える必要があります。たとえば、特定のビジネス・グループと通信するときはサーバーで特定のIDを使用し、ドメイン内の他の管理対象サーバー・インスタンスと通信するときは別のIDを使用する必要があるとします。サーバー・インスタンスに対して構成されたIDキーストアとも、ドメインに対して構成されたIDキーストアとも分離された、カスタムIDキーストアを使用するようにネットワーク・チャネルをカスタマイズすることで、一方のネットワーク・チャネルに対して一方のID、もう一方のネットワーク・チャネルに対してもう一方のIDを確保できます。
NetworkAccessPointMBean
に、チャネル固有のSSL構成を作成するために設定できる属性が含まれます。これらの属性を使用して、ネットワーク・チャネルがカスタムIDキーストアを使用できるようにするだけでなく、カスタム・ホスト名検証の使用、SSL通信で使用される暗号スイート、証明書検証ルールなど、他のSSL設定もカスタマイズできます。
表41-1に、特定のネットワーク・チャネルに対してNetworkAccessPointMBean
に構成できるSSL属性を示して説明します。
注意: 表41-1を見やすくするために、NetworkAccessPointMBean の次の属性は、CustomIdentityKeyStore* 属性としてまとめて記載しています。
|
表41-1 チャネルのSSL構成をカスタマイズするためのNetworkAccessPointMBean属性
属性 | 説明 |
---|---|
ChannelIdentityCustomized |
チャネルのカスタムIDを使用する必要があるかどうかを指定します。この設定は、ネットワーク・チャネルがカスタム・キーストアを使用する場合のみ有効です。デフォルトではチャネルのIDはサーバーのIDを継承します。
|
CustomIdentityKeyStoreFileName |
チャネルに割り当てるカスタムIDキーストアを指定します。この属性の値が設定されない場合、 この属性が使用されるのは、
JKSキーストアを使用する場合、サーバーが起動されるディレクトリの絶対パスまたは相対パスとしてこの値を指定します。詳細は、第30章「キーストアの構成」を参照してください。 Oracle OPSSキーストア・サービス(KSS)キーストアを使用する場合は、この値をKSS URIとして指定します。詳細は、「カスタムIDおよびカスタム信頼に対するOPSSキーストア・サービスの構成: 主な手順」を参照してください。 |
CustomIdentityKeyStorePassPhrase |
チャネルのカスタムIDキーストアのためのプレーン・テキスト形式のパスフレーズを暗号化および復号化します。この属性を使用してキーストアのパスワードを設定すると、WebLogic Serverは自動的に値を暗号化して、 この属性の値が設定されない場合、 この属性が使用されるのは、
注意: |
CustomIdentityKeyStorePassPhraseEncrypted |
カスタムIDキーストアの作成時に設定される暗号化されたパスワードを指定します。この属性の値が設定されない場合、 この属性が使用されるのは、
|
CustomIdentityKeyStoreType |
カスタムIDキーストアのキーストア・タイプを指定します。JKSキーストアを使用する場合、値を この属性の値が設定されない場合、 この属性の値が使用されるのは、
|
ClientCertificateEnforced |
クライアントが、信頼される認証局から取得したデジタル証明書をこのチャネルのWebLogic Serverに提示する必要があるかどうかを定義します。 |
CustomPrivateKeyAlias |
カスタムIDキーストアでのチャネルの秘密鍵の格納と取得に使用される別名の文字列を指定します。この秘密鍵はサーバーのデジタル証明書に関連付けられます。
|
CustomPrivateKeyPassPhrase |
チャネルのカスタムIDキーストアからチャネルの秘密鍵を取得するために使用されるプレーン・テキスト形式のパスフレーズを暗号化および復号化します。この属性を使用して秘密鍵のパスフレーズを設定すると、WebLogic Serverは自動的に値を暗号化して、 |
CustomPrivateKeyPassPhraseEncrypted |
カスタムIDキーストアからチャネルの秘密鍵を取得するために使用される暗号化パスフレーズを指定します。 |
OutboundPrivateKeyEnabled |
|
TwoWaySSLEnabled |
このネットワーク・チャネルが双方向SSLを使用するかどうかを指定します。 |
HostnameVerificationIgnored |
ホスト名検証( この属性が使用されるのは、サーバーがリモート・ホスト上の他のアプリケーション・サーバーに対してクライアントとして作動する場合のみです。 この属性の値が設定されない場合、 |
HostnameVerifier |
ホスト名検証は、SSLクライアント(SSLクライアントとして機能しているWebLogic Serverなど)がリモート・ホスト上のアプリケーション・サーバーに接続する場合に役立ちます。ホスト名検証は、中間者攻撃を防ぐために役立ちます。クライアントの接続先URLのホスト名と、SSL接続の一部としてサーバーが返送するデジタル証明書のホスト名が一致していることを確認するためです。 この属性の値が設定されない場合、 |
Ciphersuites |
ネットワーク・チャネルのSSLリスナーで使用される暗号スイートを指定します。SSLハンドシェイクの際に、ネゴシエーションされた最も強固な暗号スイートが選択されます。 デフォルトで有効になっている暗号スイートのセットは、WebLogic Serverが構成されている特定のJDKバージョンによって異なります。詳細は、「暗号スイート」を参照してください。 この属性の値が設定されない場合、 注意: |
AllowUnencryptedNullCipher |
暗号化されていないNULL暗号がネットワーク・チャネルで使用できるかどうかを指定します。この属性の値が設定されない場合、 SSLハンドシェイクの際に、使用される暗号スイートのセットについてサーバーとクライアントがネゴシエーションするとき、クライアントがNULL暗号のみを含む暗号スイートのセットを指定することがあります。NULL暗号はクリアテキストのデータを回線上に渡すため、ネットワーク・パケット・スニファがSSLメッセージを見ることができます。NULL暗号が使用されるとき、SSLを認証に使用できますが、メッセージは暗号化されないことがあります。 デフォルトでは、WebLogic ServerではNULL暗号を使用できません。詳細は、『Oracle WebLogic Server本番環境の保護』のSSLでのNULL暗号の使用に関する注意事項を参照してください。 |
InboundCertificateValidation |
インバウンドSSLのクライアント証明書の検証ルールを指定します。この属性は、双方向SSLを使用するように構成されているネットワーク・チャネルのみに適用されます。 次のいずれかの値を設定できます。
これらのルールの詳細は、「WebLogic ServerでのSSL証明書検証の動作」を参照してください。 この属性の値が設定されない場合、 |
OutboundCertificateValidation |
アウトバウンドSSLのサーバー証明書の検証ルールを指定します。 次のいずれかの値を設定できます。
これらのルールの詳細は、「WebLogic ServerでのSSL証明書検証の動作」を参照してください。 この属性の値が設定されない場合、 |
管理対象サーバーで使用されるIDキーストアとは別のカスタムIDキーストアを使用するようにネットワーク・チャネルを構成するには、次の手順を実行します。
カスタムIDキーストアを構成して、ネットワーク・チャネルで使用される秘密鍵とパブリックID証明書を追加し、秘密鍵の別名を割り当てます。
JKSキーストアの構成の詳細は、第30章「キーストアの構成」を参照してください。
Oracle OPSSキーストア・サービス(KSS)キーストアの構成の詳細は、「カスタムIDおよびカスタム信頼に対するOPSSキーストア・サービスの構成: 主な手順」を参照してください。
カスタム・ネットワーク・チャネルを作成し、次の属性を割り当てます。属性の組合せがドメインで一意であることを確認してください。
チャネル名
リスニング・アドレス
リスニング・ポート
セキュアな通信プロトコル(HTTPSまたはt3s)
詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「カスタム・ネットワーク・チャネルの構成」を参照してください。
次の属性をNetworkAccessPointMBean
に設定して、手順1で作成したカスタムIDキーストアを使用するようにチャネルを構成します。
CustomIdentityKeyStoreFileName
— JKSキーストアを使用する場合、キーストアのパスを指定します。KSSキーストアを使用する場合は、この値をKSS URIとして指定します。
CustomIdentityKeyStoreType
- キーストアのタイプを指定します。たとえば、JKSまたはKSSです。
カスタムIDキーストアのパスフレーズを使用する、CustomIdentityKeyStorePassPhraseEncrypted
属性またはCustomIdentityKeyStorePassPhrase
属性。
ChannelIdentityCustomized
— true
に設定します。
CustomPrivateKeyAlias
- カスタムIDキーストアでのチャネルの秘密鍵の格納と取得に使用される別名の文字列を指定します。この秘密鍵はチャネルのID証明書に関連付けられています。この属性を設定すると、チャネル別名が、サーバーのIDキーストアの別名ではなく、チャネルのカスタムIDキーストアに対応するようになります。
CustomPrivateKeyPassPhrase
— CustomPrivateKeyAlias
属性で参照される秘密鍵のパスフレーズの値を指定します。
詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの「ネットワーク・チャネル固有のキーストアとSSL属性の構成」を参照してください。
注意: CustomIdentityKeyStoreFileName 、CustomIdentityKeyStoreType 、CustomIdentityKeyStorePassPhraseEncrypted またはCustomIdentityKeyStorePassPhrase 属性のいずれかが設定される場合、チャネルの別名が、デフォルトのサーバー・キーストアの別名ではなく、チャネルのカスタムIDキーストアに関連するためには、次のすべての条件が満たされることが必要です。
|
ネットワーク・チャネルのその他の属性を必要に応じて構成します。詳細は、『Oracle WebLogic Serverサーバー環境の管理』のチャネルの構成に関する項とOracle WebLogic Server管理コンソール・オンライン・ヘルプの「カスタム・ネットワーク・チャネルの構成」を参照してください。
ホスト名検証クラスの指定の詳細は、第32章「ホスト名検証の使い方」を参照してください。
インバウンドとアウトバウンドの証明書検証の詳細は、第35章「SSL証明書の検証」を参照してください。
この項では、チャネル固有のIDキーストアを構成するためのWLSTの使用例を示します。例41-1では次の処理が行われます。
管理対象サーバー・インスタンスに接続します。
カスタムIDキーストアを構成する特定のネットワーク・チャネル(https-override
)に対応するMBeanに移動します。
カスタムIDキーストア・ファイル(channelIdentity.jks
)の名前と場所を設定します。
カスタムIDキーストアのパスフレーズを設定します。
カスタムIDキーストアのタイプをJKS
に設定します。
チャネルのカスタムIDを使用する必要があることを設定します。
カスタム秘密鍵の別名をmyID
に設定します。
カスタム秘密鍵のパスフレーズを設定します。
新しいチャネル構成を保存してアクティブ化し、管理対象サーバー・インスタンスとの接続を切断します。
例41-1 カスタムIDキーストアの構成
connect('admin-user','password') edit() startEdit() cd ('Servers/myserver/NetworkAccessPoints/https-override') cmo.setCustomIdentityKeyStoreFileName('/path/keystores/channelIdentity.jks') cmo.setCustomIdentityKeyStorePassPhrase('passphrase') cmo.setCustomIdentityKeyStoreType('JKS') cmo.setChannelIdentityCustomized(true) cmo.setCustomPrivateKeyAlias('myID') cmo.setCustomPrivateKeyPassPhrase('keypassphrase') save() activate() disconnect()