データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle WebLogic Server 12cでSSLを構成する完全ガイド

本記事では、Oracle® WebLogic® Server 12c(12.1.2)環境にSSL(Secure Socket Layer)を構成する具体的な手順を解説します。

概要

現代において、データや情報のセキュリティは最優先課題の一つです。多くのアプリケーションが、ネットワーク上での安全な通信を実現するためにSSLプロトコルを採用しており、SSLは最も広く利用されているネットワーク通信プロトコルの一つとなっています。

WebLogic ServerをSSL対応に設定すると、2つのアプリケーション間の接続に対して「ID認証」「通信中データの暗号化」という2つの機能が提供されます。これにより、SSL経由で相互に通信するアプリケーションは、以下のような安全な接続のメリットを得られます。

  • 個別のSSL証明書を使用して、互いのIDを検証できる。
  • アプリケーション間でやり取りされるデータを暗号化(転送中の暗号化)できる。

SSLの接続要求・応答メカニズムでは、認証に関する追加データの処理や複雑な暗号アルゴリズムの計算が必要となるため、ある程度のコンピューティングオーバーヘッドが発生します。そのため、高度に保護されたネットワークインフラ内で開発モード稼働しているWebLogic Serverインスタンスでは、通常SSLを使用しないケースも少なくありません。一方で、本番モードで稼働するWebLogic Serverインスタンスには、SSLの構成を強く推奨します。

構成のデモンストレーション

本記事では、事前にインストール済みのWebLogic Serverに対して、MYPROD_DOMAINドメイン内のMYPROD_AdminServerおよび管理対象サーバー(Managed Server)、さらにNode ManagerへSSLを構成する手順を紹介します。

そのために、新しく署名された証明書を格納するための新しいIDキーストアと信頼キーストアを作成します。これにより、WebLogic管理サーバー、すべての管理対象サーバーインスタンス、そしてNode Managerが、カスタムキーストアに基づくSSLプロトコルで通信できるようになります。

既存のWebLogic ServerインスタンスにSSLを構成するには、以下の手順に従ってください。

ステップ1:IDキーストアを作成する

myprodserver.mydomain.localサーバー上に、IDキーストアMYPRODIdentity.jksを作成します。以下の手順を実行してください。

(a) WebLogicアプリケーションの所有者ユーザー(例:oracle)としてWebLogic ServerのLinux®サーバーシェルにログインし、次のコマンドで新しいフォルダ<middleware_home>/user_projects/domains/<domain_home>/keystoresを作成します。

[oracle@myprodserver]$ mkdir -p /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores

(b) MYPROD_DOMAINの環境を設定し、新しいキーストアを作成します。

[oracle@myprodserver]$ cd /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/bin
[oracle@myprodserver]$ . ./setDomainEnv.sh
[oracle@myprodserver]$ cd keystores
[oracle@myprodserver]$ keytool -genkeypair -alias mywlsprodcert -keyalg RSA -keysize 1024 -dname "CN=*.mydomain.local,OU=<Organization>,O=<Company>,L=<City>,S=<State>,C=<US>" -keystore MYPRODIdentity.jks
Enter keystore password: <Type a new keyStorePass>
Re-enter new password: <Re-type the keyStorePass>
Enter key password for <mywlsprodcert> (RETURN if same as keystore password): <ENTER>

ステップ2:新しいCSRを生成する

MYPRODIdentity.jksを使用して、新しい証明書署名要求(CSR:Certificate Signing Request)を生成します。以下の手順を実行してください。

(a) keytoolユーティリティを使ってCSRを生成します。

[oracle@myprodserver]$ keytool -certreq -v -alias prodcert -file MYWLSPRODCert.csr -keystore MYPRODIdentity.jks
Enter keystore password: <KeyStorePass>
Certification request stored in file <MYWLSPRODCert.csr>

(b) 新しく作成したCSRを認証局(CA)に提出します。CAがCSRに署名すると、デジタル証明書とその秘密鍵が発行されます。

注意: 本記事のデモンストレーションでは、WebLogicに付属するDemo CA(CertGenCA.der)を使用して証明書に署名します。この自己署名機能はWebLogic Serverに標準で含まれています。ただし本番環境では、組織が指定した信頼できるCAによってサーバー証明書に署名してもらう必要があります。

ステップ3:CSRに自己署名する

WebLogicのデモCA(CertGenCA.der)を使用してCSRに自己署名し、新しく作成したIDキーストアにインポートします。以下の手順を実行してください。

(a) 次のコマンドで証明書に自己署名します。

[oracle@myprodserver]$ java utils.CertGen -keyfile MYPRODCertPrivateKey -keyfilepass password -certfile mywlsprodcert -cn "*.my.local"
Generating a certificate with wildcard *.domain.local and key strength 1024
/u01/Middlewaree/wlserver_12.1/server/lib/CertGenCA.der file and key from /u01/Middlewaree/wlserver_12.1/server/lib/CertGenCAKey.der file
[oracle@myprodserver]$

(b) 新しく作成したサーバー証明書と秘密鍵を、先ほど作成したキーストアにインポートします。

[oracle@myprodserver]$ java utils.ImportPrivateKey -keystore MYPRODIdentity.jks -keyfile MYPRODCertPrivateKey.pem -keyfilepass <password> -certfile MYPRODCert.pem -storepass <keyStorePass> -alias mywlsprodcert

ステップ4:信頼キーストアを作成する

myprodserver.mydomain.localマシン上に、カスタム信頼キーストアを作成します。以下の手順を実行してください。

(a) 標準のJavaトラストストアをコピーして、MYPRODTrust.jksキーストアを作成します。

[oracle@myprodserver]$ cp /u01/java/jre/lib/security/cacerts 
/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODTrust.jks

(b) デフォルトのcacertsパスワードを変更します。デフォルト値はchangeitです。任意の新しいパスワードに更新してください。

[oracle@myprodserver]$ keytool -storepasswd -keystore MYPRODTrust.jks
Enter keystore password: <defaultKeyStorePass>
New keystore password: <NewKeyStorePass>
Re-enter new keystore password: <Re-type NewKeyStorePass>

(c) 新しく作成した自己署名証明書を、作成したばかりの信頼キーストアにインポートします。

[oracle@myprodserver]$ keytool -import -v -trustcacerts -alias rootCA -file /u01/Middleware/wlserver_12.1/server/lib/CertGenCA.der -keystore MYPRODTrust.jks

ステップ5:SSL証明書をドメイン内の他のすべてのサーバーにコピーする

今回のSSL証明書は特定のサーバー名ではなくワイルドカードに基づいているため、MYPROD_DOMAIN内のすべてのサーバーで同じ証明書を使用できます。

そのため、必要な証明書を格納したキーストアディレクトリ/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystoresを、MYPROD_DOMAINで共有されるすべてのWebLogic Serverにコピーしてください。

ステップ6:WebLogic Node Managerを構成する

新しく作成したSSL証明書を使用するように、WebLogic Node Managerを構成します。以下の手順を実行してください。

(a) $WL_HOME/common/nodemanager/nodemanager.propertiesファイル内の以下の変数を更新します。

KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODIdentity.jks
CustomIdentityKeyStorePassPhrase=<NewKeyStorePass>
CustomIdentityAlias=mywlsprodcert
CustomIdentityPrivateKeyPassPhrase=<PrivateKeyPassword>

(b) Node Managerを停止し、再起動します。

ステップ7:WebLogic管理サーバーを構成する

新しいカスタムキーストアと証明書をSSL接続に使用するよう、WebLogic管理サーバーを構成します。以下の手順を実行してください。

(a) WebLogic管理者の資格情報を使用して、WebLogic Server管理コンソールにログインします。

(b) ホームページのドメイン構成 → 環境配下にあるサーバーをクリックします。以下のスクリーンショットを参照してください。

Oracle WebLogic Server 12cでSSLを構成する完全ガイド

(c) サーバーのサマリーページで、AdminServer(admin)をクリックします。

Oracle WebLogic Server 12cでSSLを構成する完全ガイド

(d) 画面左上の変更センター → 変更と再起動の表示から、ロックして編集をクリックし、キーストアの設定を更新できる状態にします。

(e) AdminServerの設定構成配下にあるキーストアタブを開き、変更をクリックします。以下の画像のように操作して、WebLogic管理サーバーの設定を、新しく作成したカスタムキーストアをSSL接続に使用する形へ変更します。

Oracle WebLogic Server 12cでSSLを構成する完全ガイド Oracle WebLogic Server 12cでSSLを構成する完全ガイド

(f) キーストアのドロップダウンリストからカスタムIDとカスタム信頼を選択してキーストアの設定を更新し、変更を保存します。

Oracle WebLogic Server 12cでSSLを構成する完全ガイド

(g) カスタムIDキーストアのテキストボックスに./keystores/MYPRODIdentity.jksを入力します。キーストアのパスワードを更新して保存します。

(h) カスタム信頼キーストアのテキストボックスに./keystores/MYPRODTrust.jksを入力します。信頼キーストアのパスワードを更新して保存します。

(i) 構成親タブ配下のSSLタブを開き、以下のパラメータを更新します。

  • 秘密鍵の別名(Private Key Alias)の値をmywlsprodcertに更新します。
  • 秘密鍵のパスフレーズ(Private Key Passphrase)に秘密鍵のパスワードを入力します。
  • 詳細設定(Advanced)メニュー配下で、ホスト名検証(Hostname Verification)の値を、以下の画像のようにドロップダウンリストからカスタムホスト名検証機能(Custom Hostname Verifier)に変更します。
Oracle WebLogic Server 12cでSSLを構成する完全ガイド
  • カスタムホスト名検証機能の値をweblogic.security.utils.SSLWLSWildcardHostnameVerifierに更新します。これは、すべてのサーバーに対して単一のワイルドカード証明書(CN=*.mydomain.local)を使用しているため必須の設定です。
  • これらの変更を保存します。

(j) 構成 → 一般タブに移動し、以下の画像のようにSSLリスン・ポート有効のチェックボックスにチェックを入れて、SSLリスンポートを有効化します。

Oracle WebLogic Server 12cでSSLを構成する完全ガイド

(k) WebLogic管理サーバーのデフォルトSSLポートは7002ですが、SSLサービスは他のポートでも構成可能です。ここではデモンストレーションのためデフォルト値7002を使用します。SSLリスン・ポート7002に更新して保存してください。以下の画像を参照してください。

Oracle WebLogic Server 12cでSSLを構成する完全ガイド

ステップ8:WebLogic管理対象サーバーを構成する

すべてのWebLogic管理対象サーバーに対して、新しいカスタムキーストアと証明書をSSL接続に使用するよう構成します。手順は7a〜7kと同じです。なお、各WebLogic管理対象サーバーには異なるSSLポート番号を割り当てる必要があります。たとえば、ManagedServer01:SSLポート9001ManagedServer02:SSLポート9002ManagedServer03:SSLポート9003のように設定します。

ステップ9:構成ファイルに変更を適用する

画面左上のメニューから構成のリリースをクリックし、すべての変更内容をWebLogicの構成ファイルに反映させます。

ステップ10:WebLogicを再起動する

WebLogic管理サーバーとすべての管理対象サーバー、およびNode Managerをまとめて再起動します。

まとめ

本記事では、WebLogic ServerにSSLセキュリティプロトコルを構成し、Webサイトが機密情報を暗号化された形式で安全に送受信できるようにするための手順を紹介しました。SSL証明書とRSA Data Securityの暗号化メカニズムを活用することで、ユーザーはデータや情報を安全に交換・処理できます。

本記事の手順に従うことで、管理サーバーと管理対象サーバーの両方でSSLが有効になり、データとWebLogic Serverの両方をサイバー攻撃や情報漏洩から保護できます。

ご意見やご質問がある場合は、フィードバックタブをご利用ください。また、Sales Chatをクリックして、今すぐチャットで会話を始めることもできます。

  1. PostgreSQLレプリケーション完全ガイド:種類・仕組みからストリーミングレプリケーションの構築手順まで

    レプリケーションとは、あるデータベースサーバー(ソース)から別のサーバー(レプリカ)へデータを複製する仕組みです。高可用性の実現や災害復旧(DR)対策を支える、PostgreSQLの強力な機能の一つです。はじめにレプリカサーバーは、テストやレポーティング用途にも活用でき、本番のOLTP(オンライントランザクション処理)データベースへの負荷を軽減できます。この記事では、PostgreSQLにおけるレプリケーションの種類を整理したうえで、ストリーミングレプリケーションを実際に構築するための手順を解説します。レプリケーションの詳細まずは、PostgreSQLのレプリケーションモード(同期/非同期)、

  2. ObjectRocketデータベースへの接続方法:ネイティブ接続とSSL接続の解説

    ObjectRocketデータベースサービスへの接続と操作には、いくつかの簡単な方法があります。まず最初に行うのは、「Create Instance(インスタンス作成)」ボタンを使ってインスタンスを作成することです。インスタンスを作成すると、接続文字列が自動的にプロビジョニングされます。接続方法は以下の3種類から選択できます。ネイティブMongoDBドライバー(平文接続)ネイティブMongoDBドライバー(SSL暗号化接続)ObjectRocket API(SSL暗号化接続)接続前に知っておくべきこと具体的な接続手順に入る前に、ObjectRocketサービスの基本的な仕組みについて説明してお