ここでは、OracleAppsR12.2でTLSを有効にするための詳細な手順を見ていきます
目次
はじめに:
WebブラウザとWebサーバー間のデータは、R12アプリケーションでは暗号化されずに移動するため、パスワードやその他の情報をスニファで追跡できます。 R12にSSLを実装することで、これを回避しています。
SSL実装では、データは暗号化された形式で移動し、WebブラウザとWebサーバーのみがデータを復号化できます。
実装には、SSL証明書と、構成に従ってR12環境での構成が必要です
SSLとは何ですか?
SSLとTLSは、通信するアプリケーションとインターネット上のユーザーとの間のプライバシーを確保する暗号化プロトコルです
トランスポート層セキュリティ(TLS)とは
トランスポート層セキュリティ(TLS)は、SSLの後継です。 TLSは、SSLと同様に、クライアントとサーバー間のトラフィックを暗号化するプロトコルです。 TLSは、2台のマシン間に暗号化された接続を作成し、盗聴、データの改ざん、またはメッセージの偽造の問題なしに個人情報を送信できるようにします。
SSLの仕組み
- クライアントはHTTPS接続モードを使用してサーバーにリクエストを送信します。
- サーバーはデジタル証明書をクライアントに提示します。この証明書には、サーバー名、組織とサーバーの公開鍵、CA秘密鍵のデジタル署名などのサーバーの識別情報が含まれています
- クライアント(Webブラウザ)には、すべてのCAの公開キーがあります。デジタル証明書の秘密鍵を復号化します。この検証は、送信者が秘密鍵にアクセスできたため、公開鍵に関連付けられた人物である可能性が高いことを証明します。検証がうまくいくと、サーバーは信頼できるサーバーとして認証されます。
- クライアントは、使用できる暗号化レベルまたは暗号のリストをサーバーに送信します。
- サーバーはリストを受信し、共通の暗号化の最強レベルを選択します。
- クライアントはサーバーの公開鍵を使用して乱数を暗号化し、その結果をサーバーに送信します(サーバーのみが秘密鍵を使用して復号化できる必要があります)。次に、両方の当事者が乱数を使用して、セッション中にデータを暗号化および復号化するための一意のセッションキーを生成します。
ssl実装は、R12実装のトポロジーに依存します。私はここですべての主要なものを強調しています。
TLSターミネーションポイント
- TLSターミネーションポイントは、クライアント(ブラウザなど)によって開始された暗号化された接続のエンドポイントサーバーです。
- Oracle E-Business Suiteの場合、OracleHTTPServerはTLSターミネーションポイントとして機能できます。リバースプロキシやロードバランサなどの代替TLSターミネーションポイントは、OracleHTTPServerの前に設定できます。
さまざまなSSLトポロジ
- WebサーバーとしてTLS終了ポイントを使用した単一のWebサーバー展開
これは非常に簡単です。 Webサーバーのデジタル証明書が必要になります。手順は簡単です。 WebブラウザとWebサーバー間のトラフィックは暗号化されます
- 2つ以上のウェブサーバーにサービスを提供するロードバランサーがあると、少し複雑になります
この場合、次のオプションがあります
1.トラフィックのエンドツーエンド暗号化(WebサーバーとしてのTLSターミネーションポイント)
ブラウザからロードバランサーへ、およびロードバランサーからウェブサーバーへのトラフィックフロー全体が暗号化されます
それを行うには2つの方法があります
a)パススルー構成 :この場合の負荷分散では、メッセージは復号化/暗号化されません。トラフィックを通過してWebサーバーに送られるだけです
b)復号化/暗号化 :この場合のロードバランスは、ロードバランサーレベルでトラフィックを復号化してから、再度暗号化してWebサーバーに送信します。Webサーバーは再び復号化します
2. SSLターミネーター(代替TLSターミネーションポイント):Webブラウザーとロードバランサー間のトラフィックは暗号化されるだけです。ロードバランスはSSLターミネーターとして機能し、ロードバランサーレベルでSSLを終了し、暗号化されていないトラフィックをWebサーバーに渡します。
各トポロジで構成を実行する手順を以下に示します
WebサーバーとしてTLS終了ポイントを使用する単一のウェブサーバー展開
重要なポイント
1)最小のJava Development Kit(JDK)7にアップグレードします。
TLS 1.2を使用するには、少なくともJava7が必要です
2)OracleFusionMiddlewareをアップグレードします。
TLS 1.2を使用するには、Oracle Fusion Middleware 1.1.1.9
が必要です。3)製品固有のパッチを適用します。
Oracleワークフロー–パッチ22806350を適用します :R12.OWF.Cは、Oracle WorkflowNotificationMailerの問題に対処します。
Oracle iProcurement – My Oracle Support Knowledge Document 1937220.1に記載されているパッチを適用します 、サプライヤーサイトがSSLv3からTLSプロトコル(SSLハンドシェイクSSLIOClosedOverrideGoodbyeKissを使用)に移行した後、Oracle iProcurement、Exchange、およびOSNが失敗する 、これは適切なアプリケーションバージョンに対応します。
Oracle iPayment –パッチ22522877を適用します :R12.IBY.C。
Oracle XML Gateway –パッチ22326911を適用します :R12.ECX.C。
ステップ1
環境を設定する
次のオンラインパッチ適用中にTLSセットアップがパッチファイルシステムに確実に伝播されるようにするには、このセクションで説明する手順を(実行中の)実行ファイルシステムで実行する必要があります。この時点では、アクティブなパッチ適用サイクルはありません。オンラインパッチ適用サイクルがすでにアクティブになっているかどうかを確認するには、次のコマンドを使用できます。
UNIX:
$ adop -status
- インストールファイルを所有するOSユーザーとして、OracleE-BusinessSuiteリリース12.2アプリケーション層にログオンします。
- アプリケーションコンテキストファイル変数s_file_edition_typeが「run」に設定されているファイルシステムは、実行ファイルシステムを示します。実行ファイルシステムのAPPL_TOPディレクトリにあるアプリケーション層環境ファイル(
.env)を入手します。 APPS .envファイルを入手しないでください。そうしないと、10.1.2環境変数が取得され、Oracle WalletManager11gの起動に失敗します。環境ファイルを入手したら、$FILE_EDITION環境変数を「実行」する必要があります。 - PATH環境変数を設定して、FusionMiddlewareの場所とowmguiのDISPLAY変数を含めます
例
export PATH =$ FMW_HOME / webtier / bin:$ FMW_HOME / oracle_common / bin:$ PATH
export DISPLAY =<ホスト名またはIPアドレス>:0.0
S tep 2
ウォレットを作成する
s_web_ssl_directoryの場所は、一部のOracle E-Business Suiteリリース12.2コンポーネント(XML Gateway Transportation Agent OXTAなど)およびOracleFusionMiddlewareのクローン作成プロセスで引き続き使用されます。
この場所は以下の方法で見つけることができます
cat $ CONTEXT_FILE | grep“ s_web_ssl_directory”
バックグラウンドプロセスとしてウォレットマネージャを開きます:
$ owm& |
Oracle Wallet Managerメニューで、Wallet>
に移動します。新規。
いいえと答えてください:デフォルトのウォレットディレクトリは存在しません。今すぐ作成しますか?
新しいウォレット画面で、ウォレットのパスワードを入力するように求められます
パスワードを入力して覚えておいてください
新しい空のウォレットが作成されました。この時点で証明書リクエストを作成しますか?
[証明書要求の作成]画面で[はい]をクリックすると、次のように表示されます。
適切な値を次の場所に入力します:
一般名 | ドメインを含むサーバーの名前です。 |
組織単位:(オプション) | 組織内のユニット。 |
組織 | これはあなたの組織の名前です |
地域/都市 | それはあなたの地域または都市です。 |
州/県 | は、州または県のフルネームです。省略しないでください。 |
ドロップダウンリストから国を選択し、[キーサイズ]に最小で2048を選択します。 [OK]をクリックします。
[リクエストされた証明書について]をクリックします
認証局に送信する前に、証明書要求をエクスポートする必要があります。
- [要求済み]の証明書をクリックして強調表示します。
- メニューから[操作]をクリックします>
証明書リクエストのエクスポート
- ファイルをserver.csrとして保存します
- メニューから[ウォレット]をクリックし、[保存]をクリックします。
- [ディレクトリの選択]画面で、ディレクトリを完全に修飾されたウォレットディレクトリに変更します。
- [OK]をクリックします。
- メニューから[ウォレット]をクリックし、[自動ログイン]チェックボックスをオンにします。
このパスワードは覚えやすいものにしてください。 Oracle Wallet Managerでウォレットを開くとき、またはコマンドライン・インタフェースを使用してウォレットで操作を実行するときは常に、パスワードを使用する必要があります。自動ログインが有効になっている場合、ウォレットを作成したOSユーザーによって送信されたプロセスでは、ウォレットにアクセスするためにパスワードを入力する必要はありません。
- WalletManagerを終了します。
これで、ウォレットディレクトリに次のファイルが含まれるようになります。
cwallet.sso
ewallet.p12
server.csr
これで、server.csrを認証局に送信してサーバー証明書を要求できます
ウォレットを使用してウォレットを保存し、保存してディレクトリパスを指定します
認証局に証明書リクエストを送信する 。
注:署名アルゴリズムの変更
暗号化アルゴリズムの業界標準は常に見直されています。業界標準としてSHA-1ベースの署名ハッシュアルゴリズムで発行された証明書は段階的に廃止されています。多くの認証局は、証明書を発行するための最小署名アルゴリズムとしてSHA-2を推奨または義務付けています。 SHA-2に移行するための時間枠は、使用する認証局によって異なります。 SHA-2の要件は、発行されたエンドエンティティのSHA-2証明書にチェーンバックするためにSHA-2である必要がある中間証明書にも影響を与えます。ルート証明書は影響を受けません。
詳細については、次のMyOracleSupportナレッジドキュメントを参照してください。
ドキュメント1448161.1 、SHA-1以上の署名アルゴリズムを使用してCSRを作成する方法
ドキュメント1275428.1 、 Oracle Application Server(10.1.2.X.X/10.1.3.X.X)およびFusion Middleware 11g(11.1.1.X)でのSHA-2のサポートステータス
ドキュメント1939223.1 、FMW11gのOracleWalletManagerまたはORAPKIを使用してSHA-2証明書署名要求を生成することは可能ですか
証明書プロバイダーによっては、Oracle Wallet Manager(OWM)によって生成されたMD5ベースの証明書要求(CSR)が受け入れられない場合があります。
たとえば、SymantecはSHA-12048ビットベースのCSR以降のみを受け入れるようになりました。 OWMとorapkiの両方に現在の制限があるため、MD5ベースのCSR以外のものを生成することはできません。 OWMは、SHA-2以上の信頼できる証明書とサーバー証明書を受け入れることができますが、それらを生成することはできません。
このような場合の回避策は、OpenSSLを使用してCSRを生成することです。このプロセスの例を以下に示します。
- OpenSSLを使用して既存のウォレットを取得し、新しいPEM形式のファイルとして保存します。
openssl pkcs12 -in ewallet.p12 -nodes -out nonoracle_wallet.pem
OpenSSLを使用して、SHA-2を指定するリクエストを生成します:
openssl req -new -key nonoracle_wallet.pem -sha256 -out server.csr
この時点で、OpenSSLはリクエスト属性の入力を求めます。 OWMでCSRを作成するときに入力したものと同じデータを入力してください。ほとんどの認証局によって安全でないと見なされているため、「チャレンジパスワード」を指定しないでください。
- これで、CSRを認証局に送信して、サーバー証明書をリクエストする必要があります。
- 新しく発行された証明書を受け取ったら、OWMを使用してこれをウォレットにインポートし、次の手順に進むことができます
ステップ5
サーバー証明書をウォレットにインポートする
認証局からサーバー証明書を受け取ったら、それをウォレットにインポートする必要があります。次のいずれかの方法で、サーバーのウォレットディレクトリにあるserver.crtに証明書をコピーします。
- 証明書をftp(バイナリモードで)
- コンテンツをコピーしてserver.crtに貼り付けます
次の手順に従って、server.crtをウォレットにインポートします。
- バックグラウンドプロセスとしてWalletManagerを開きます:
$ owm&
- メニューから[ウォレット]、[開く]の順にクリックします。
- プロンプトが表示されたら「はい」と答えます:
デフォルトのウォレットディレクトリが存在しません。
続行しますか?
- [ディレクトリの選択]画面で、ディレクトリを完全に修飾されたウォレットディレクトリに変更して
[OK]をクリックします
- ウォレットのパスワードを入力し、[OK]をクリックします。
- Oracle Wallet Managerメニューで、Operations ImportUserCertificateに移動します。サーバー証明書は、ユーザー証明書の一種です。認証局がサーバーの証明書を発行し、その識別名(DN)を[件名]フィールドに入力したため、サーバーが証明書の所有者になり、このユーザー証明書の「ユーザー」になります。
- [OK]をクリックします。
- server.crtをダブルクリックしてインポートします。
- ウォレットを保存します:
- OracleWalletManagerメニューでWalletをクリックします。
- [自動ログイン]チェックボックスがオンになっていることを確認します。
- [保存]をクリックします
注:server.crtのチェーンを構成するすべての信頼できる証明書がウォレットに存在しない場合、証明書の追加は失敗します。ウォレットが作成されると、最も一般的なCA(VeriSign、GTE、Entrustなど)の証明書が自動的に含まれていました。証明書を追加する必要がある場合は、認証局に連絡し、提供されたファイルをca.crtとしてウォレットディレクトリにbase64形式で保存します。もう1つのオプションは、以下の手順に従って、サーバー証明書(server.crt)からca.crtを作成することです。認証局が(チェーンを完了するために)中間証明書を提供し、提供されたファイルをintca.crtとしてBase64形式で保存する場合、server.crtをインポートする前にこれをOracleWalletManagerにインポートする必要があります。複数の部分(P7Bタイプなど)で構成される証明書もこのカテゴリに分類されます
認証局の証明書の作成
ca.crtを作成するには
- 次のいずれかの方法を使用して、server.crtを(必要に応じて)PCにコピーします。
ftp(バイナリモード)server.crtをPCに送信します。
server.crtの内容をコピーして、PCのメモ帳に貼り付けます。ファイルをserver.crtとして保存します
- server.crtをダブルクリックして、CyrptoShellExtensionで開きます。
- [Certification Path]タブで、最初の(一番上の)行をクリックしてから、[ViewCertificate]をクリックします。
- [詳細]タブで[ファイルにコピー]をクリックすると、エクスポートウィザードが開始されます。
- [次へ]をクリックして続行します。
- Base64でエンコードされたX.509(.CER)を選択し、[次へ]をクリックします。
- [参照]をクリックして、選択したディレクトリに移動します。
- 名前としてca.crtと入力し、[OK]をクリックして証明書をエクスポートします。
- ウィザードを閉じます。
- 次のいずれかの方法を使用して、ca.crtを(必要に応じて)ウォレットディレクトリにコピーして戻します。
アプリケーション層のウォレットディレクトリへのftp(バイナリモード)ca.crt
ca.crtの内容をコピーし、テキストエディタを使用してアプリケーション層のウォレットディレクトリの新しいファイルに貼り付けます。ファイルをca.crtとして保存します
スクリーンショット付きの証明書をインポートするための詳細な手順
owm& |
次に、[ウォレット]->[開く]をクリックします
[はい]をクリックします
wwalletディレクトリのフルパスを入力してください
ウォレットのパスワードを入力してください
現在の操作:ユーザー証明書のインポート
または、証明書を追加することもできます
orapki wallet add \ -wallet . \ -trusted_cert \ -cert ca.cer \ -pwd <pwd> orapki wallet add \ -wallet . \ -trusted_cert \ -cert intca.cer \ -pwd <pwd> orapki wallet add \ -wallet .\ -user_cert \ -cert tech.cer \ -pwd <pwd>
CA証明書をインポートする必要がある場合は、ca.crtファイルの内容を10.1.2 ORACLE_HOME / sysman/configディレクトリにあるb64InternetCertificate.txtファイルに追加する必要もあります。
$ cat ca.crt>> <10.1.2 ORACLE_HOME> /sysman/config/b64InternetCertificate.txt
中間証明書(intca.crt)も提供されている場合は、それをb64InternetCertificate.txtに追加する必要もあります。
$ cat intca.crt>> <10.1.2 ORACLE_HOME> /sysman/config/b64InternetCertificate.txt
ステップ6– OracleHTTPServerウォレットを変更する 。
これらの変数はコンテキストファイルから見つけることができます
cat $ CONTEXT_FILE | grep“ s_ohs_instance_loc”
cat $ CONTEXT_FILE | grep“ s_ohs_component”
ステップ7– OPMNウォレットを変更し、暗号スイートを構成します 。
OPMNウォレットを変更する
OPMNウォレットのデフォルトの場所は、
この場所は以下の方法で見つけることができます
cat $ CONTEXT_FILE | grep“ s_ohs_instance_loc”
-
/ config / OPMN / opmn/walletディレクトリに移動します。 - 将来再び使用する場合に備えて、既存のウォレットファイルをバックアップディレクトリに移動します。
- cwallet.ssoファイルを
/config / OHS / / keystores/defaultディレクトリから現在のディレクトリにコピーします。
OPMN暗号スイートの構成
OPMNリモートポートに強力な暗号スイートを適用するには、この構成を実行する必要があります。
- すべてのプロセスがダウンしていることを確認してください。
- ウェブ層インスタンスの下にあるopmn.xmlファイルを開きます。
- ファイルの先頭に向かって、
セクション内でSSLオプションを探します。
変更:
to
ssl-ciphers =”<リストから2つの暗号を選択以下の有効な暗号は、コンマで区切られています>” />
次のリストは、使用できる有効な暗号スイートを示しています。
- SSL_RSA_WITH_AES_256_CBC_SHA
- SSL_RSA_WITH_AES_128_CBC_SHA
- SSL_RSA_WITH_3DES_EDE_CBC_SHA
例:
ssl-ciphers =” SSL_RSA_WITH_AES_128_CBC_SHA、SSL_RSA_WITH_3DES>
admin.confファイルを編集します。
変更:
SSLCipherSuite SSL_RSA_WITH_RC4_128_SHA
SSLProtocol nzos_Version_1_0 nzos_Version_3_0
に
SSLCipherSuite <上記のリストから有効な暗号を選択>:<上記のリストから別の有効な暗号を選択>
SSLProtocol nzos_Version_1_0 nzos_Version_1_1 nzos_Version_1_2
ステップ8– Oracle Fusion MiddlewareControlConsoleを変更します 。
Fusion Middleware Control Consoleは、OPMNの機能を利用してOracle FusionMiddlewareEnterpriseを管理します。
将来再び使用する場合に備えて、既存のウォレットファイルをバックアップディレクトリに移動します。
- $ EBS_DOMAIN_HOME / opmn /
/ / wallet - $ EBS_DOMAIN_HOME / opmn /
/ wallet - $ FMW_HOME / webtier / instances /
/ config / OHS / / proxy-wallet
この場所は以下の方法で見つけることができます
cat $ CONTEXT_FILE | grep“ EBS_DOMAIN_HOME”
cwallet.ssoファイルを
注 :共有ファイルシステムとマルチノード構成の場合、最初の2つのディレクトリへの更新はプライマリノードで行われ、3番目のディレクトリへの更新はOHSがTLS用に構成されているそれぞれのアプリケーション層ノードで行われます。その理由は、最初の2つのディレクトリはプライマリノードにのみ存在し、3番目のディレクトリはOHSが有効になっている各アプリケーション層ノードにのみ存在するためです。
ステップ9
Oracle Fusion Middleware Controlを使用して、追加の構成ファイルを変更します。
- Oracle Fusion Middleware Control Consoleにログインします(たとえば、http://
。 : / em)。 - EBSドメインでWeb層ターゲットを選択します。
- [管理]>[詳細設定]を選択します。
- 編集するssl.confファイルを選択します。
- Listen
およびVirtualHost_default_: ディレクティブをSSLポートに更新します(例:Listen 4443)。 - SSLProtocolおよびSSLCipherSuiteエントリを次のように更新します。
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!RC4:+ HIGH:+ MEDIUM
7.[適用]をクリックします 。
次のコマンドを(すべてのアプリケーション層ノードで)実行して、Oracle Fusion Middleware Control Consoleを介して行われた変更をコンテキスト・ファイル変数に伝播する必要があります。
perl $ AD_TOP / bin / adSyncContext.pl contextfile =$ CONTEXT_FILE
APPSユーザーパスワードを入力してください:
WebLogic AdminServerパスワードを入力してください:
取得されてコンテキストファイルに加えられた変更については、adSyncContext.logを確認してください。
Oracle E-Business Suite 12.2 – OAMコンテキストエディタを使用して、次の表に示すTLS関連の変数を変更します。
コンテキストファイル内のTLS関連の変数 | ||
変数 | 非TLS値 | TLS値 |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | s_webportと同じ | s_webssl_portと同じ |
s_webssl_port | 該当なし | デフォルトは4443 |
s_https_listen_parameter | 該当なし | s_webssl_portと同じ |
s_login_page | httpプロトコルとs_webportで構築されたURL | httpsプロトコルとs_webssl_portで構築されたURL |
s_external_url | httpプロトコルとs_webportで構築されたURL | httpsプロトコルとs_webssl_portで構築されたURL |
s_webportの値は、TLS構成前のデフォルトのポートに基づいており、TLSに切り替えても変更されません
ステップ10–自動構成を実行する
Autoconfigは、アプリケーション層の$ADMIN_SCRIPTS_HOMEディレクトリにあるadautocfg.shスクリプトを使用して実行できます。
ステップ11–アプリケーション層サービスを再起動します
$ ADMIN_SCRIPTS_HOMEディレクトリのadapcctl.shスクリプトを使用して、アプリケーション層のApacheサービスを停止および再起動します。
ステップ12–TLSの変更をパッチファイルシステムに伝達する 。
2つのファイルシステム間でTLS設定を同期するには、次の手順を実行する必要があります。
- $ APPL_TOP_NE / ad / custom/adop_sync.drvを編集します。
- rsyncコマンドがUNIXで使用可能であると仮定すると、次のディレクティブをコピーして、既存の<#CopyEnds>の後に
セクションと セクションの間に貼り付ける必要があります。
#RUNからPATCHファイルシステムへのTLSセットアップの移行に必要です。
#rsyncが使用できない場合、またはプラットフォームが構文例#10.1.2 b64InternetCertificate.txt
rsync -zr%s_current_base%/ EBSapps / 10.1.2 / sysman / config / b64InternetCertificate.txt%s_other_base%/ EBSapps / 10.1.2 / sysman / config/b64InternetCertificate。 txt#Oracle HTTP Server Wallet – cwallet.sso
rsync -zr%s_current_base%/ FMW_Home / webtier / instances /%s_ohs_instance%/ config / OHS /%s_ohs_component%/ keystores / default / cwallet.sso%s_other_base%/ FMW_Home / webtier / instances /%s_ohs_instance%/ config / OHS /%s_ohs_component%/ keystores / default / cwallet.sso#OPMN Wallet – cwallet.sso
rsync -zr%s_current_base%/ FMW_Home / webtier / instances /% s_ohs_instance%/ config / OPMN / opmn / wallet / cwallet.sso%s_other_base%/ FMW_Home / webtier / instances /%s_ohs_instance%/ config / OPMN / opmn / wallet / cwallet.sso#Fusionミドルウェアコントロールウォレット– cwallet.sso
rsync -zr%s_current_base%/ FMW_Home / user_projects / domains / EBS_domain_%s_dbSid%/ opmn /%s_ohs_instance%/%s_ohs_component%/ wallet / cwallet.sso%s_other_base%/ FMW_Home / user_projects / domains / EBS_domain opmn /%s_ohs_instance%/%s_ohs_component%/ wallet / cwallet.sso
rsync -zr%s_current_base%/ FMW_Home / user_projects / domains / EBS_domain_%s_dbSid%/ opmn /%s_ohs_instance%/ wallet / cwallet.sso%s_other_base%/ FMW_Home / user_projects / domains / EBS_domain_%s_dbSid%/ mn wallet / cwallet.sso
rsync -zr%s_current_base%/ FMW_Home / webtier / instances /%s_ohs_instance%/ config / OHS /%s_ohs_component%/ proxy-wallet / cwallet.sso%s_other_base%/ FMW_Home / webtier / instances /%s_ohs_instance%/ config / OHS / %s_ohs_component%/ proxy-wallet / cwallet.sso
SSLターミネーターを使用する際に使用する手順
Webサーバーに証明書を作成してインストールする必要はありません。この場合、以下に示すコンテキストファイルパラメータを設定する必要があります
Oracle Fusion Middleware Controlを使用して、追加の構成ファイルを変更します。
- Oracle Fusion Middleware Control Consoleにログインします(たとえば、http://
。 : / em)。 - EBSドメインで[ウェブ階層ターゲット]を選択します。
- [管理]>[詳細設定]を選択します。
- 編集するssl.confファイルを選択します。
- ServerNameディレクティブをTLSターミネーションポイント設定
。 に更新します。 - [適用]をクリックします。
- 編集するhttpd.confファイルを選択します。
- ServerNameディレクティブをTLSターミネーションポイント設定
。 に更新します。 - [適用]をクリックします。
Oracle E-Business Suite 12.2 – Oracle Applications Manager(OAM)コンテキストエディタを使用して、次の表に示すTLS関連の変数を変更します。
OHS以外のTLSターミネーションポイント(ロードバランサーやリバースプロキシなど)を使用する場合の変更 | ||
変数 | 非TLS値 | TLS値 |
s_url_protocol | http | http |
s_local_url_protocol | http | http |
s_webentryurlprotocol | http | https |
s_active_webport | s_webportと同じ | TLSターミネーションポイントの外部ポート |
s_webentryhost | s_webhostと同じ | TLSターミネーションポイントのホスト名 |
s_webentrydomain | s_domainnameと同じ | TLSターミネーションポイントドメイン名 |
s_enable_sslterminator | # | 「#」を削除してssl_terminator.confを使用します |
s_login_page | httpプロトコルとs_webportで構築されたURL | httpsプロトコル、s_webentryhost、s_webentrydomain、s_active_webportを使用してURLを作成します |
s_external_url | httpプロトコルとs_webportで構築されたURL | httpsプロトコル、s_webentryhost、s_webentrydomain、s_active_webportを使用してURLを作成します |
s_webportの値は、TLS構成前のデフォルトのポートに基づいており、TLSに切り替えても変更されません。
自動構成を実行
Autoconfigは、アプリケーション層の$ADMIN_SCRIPTS_HOMEディレクトリにあるadautocfg.shスクリプトを使用して実行できます。
アプリケーション層サービスを再開します
$ ADMIN_SCRIPTS_HOMEディレクトリのadapcctl.shスクリプトを使用して、アプリケーション層のApacheサービスを停止および再起動します。
ロードバランサーのパススルー構成を使用したエンドツーエンド暗号化の手順
1)単一のWebサーバーに指定されているすべての手順を実行する必要があります。
2)証明書はロードバランサー名で作成する必要があります
3)1つのノードで証明書の手順を実行してから、すべての手順を他のノードにコピーできます
コンテキスト値の変更
コンテキストファイル内のTLS関連の変数 | ||
変数 | 非TLS値 | TLS値 |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | s_webportと同じ | s_webssl_portと同じ |
s_webssl_port | 該当なし | デフォルトは4443 |
s_https_listen_parameter | 該当なし | s_webssl_portと同じ |
s_login_page | httpプロトコルとs_webportで構築されたURL | httpsプロトコルとs_webssl_portで構築されたURL |
s_external_url | httpプロトコルとs_webportで構築されたURL | httpsプロトコルとs_webssl_portで構築されたURL |
自動構成を実行
Autoconfigは、アプリケーション層の$ADMIN_SCRIPTS_HOMEディレクトリにあるadautocfg.shスクリプトを使用して実行できます。
アプリケーション層サービスを再開します
$ ADMIN_SCRIPTS_HOMEディレクトリのadapcctl.shスクリプトを使用して、アプリケーション層のApacheサービスを停止および再起動します。
ロードバランサーでの暗号化/復号化によるエンドツーエンド暗号化の手順
1)単一のWebサーバーに指定されているすべての手順を実行する必要があります。
2)証明書は、ロードバランサーレベルとWebノードレベルでも作成する必要があります。両側にロードバランサー名を付けて作成する必要があります
3)1つのWebノードで証明書の手順を実行してから、すべての手順を他のノードにコピーできます
4)負荷分散には、Webノード証明書用のクライアントSSL証明書が必要です
コンテキスト値の変更
コンテキストファイル内のSSL関連変数 | ||
変数 | 非SSL値 | SSL値 |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | s_webportと同じ | s_webssl_portと同じ |
s_webssl_port | 該当なし | デフォルトは4443 |
s_https_listen_parameter | 該当なし | s_webssl_portと同じ |
s_login_page | httpプロトコルとs_webportで構築されたURL | httpsプロトコルとs_webssl_portで構築されたURL |
s_external_url | httpプロトコルとs_webportで構築されたURL | httpsプロトコルとs_webssl_portで構築されたURL |
ssl.confとhttpd.confはどちらも、TLSターミネーションポイントのウェブエントリホストではなく、ローカルホストを指すServerNameを持ちます。
使用されるTLSターミネーションポイントの場合、構成は通常、クライアントSSLプロファイルとサーバーSSLプロファイルの2つのプロファイルで構成されます。各プロファイルは、他のプロファイルの対応する証明書情報を参照します。基本的に、TLSオフローダーはEBS側のTLS証明書情報を認識する必要があり、EBSはTLSターミネーションポイントのTLS証明書情報を認識する必要があります。適切な構成については、TLSターミネーションポイントに関連するドキュメントを参照してください。
ここでの例は、F5 BIG-IPTLSアクセラレータの使用に基づいています:
SSLクライアント:
親プロファイル=clientsl
証明書とキー=サブジェクト代替名(SAN)ベースの証明書がBIG-IPにインストールされています
チェーン=中間チェーン証明書が指定されています
SSLサーバー:
親プロファイル=serverssl
証明書とキー=EBSインスタンスに発行された基本証明書
チェーン=指定された中間チェーン証明書
TLS構成の両側を個別にテストすることをお勧めします。たとえば、EBSインスタンスが最初にTLSターミネーションポイントで機能することを確認し、変更を元に戻してから、EBS専用に構成されたTLSが機能することをテストします。両方の構成がTLSで機能することが確認されたら、TLSターミネーションポイントを再導入することで、エンドツーエンドのTLS構成にコミットできます。
このシナリオでのプロトコルフローの例:
クライアントhttpsリクエスト>TLSオフローダー(https:443)> EBS TLS(https:4443)
2つの異なるTLS証明書チェーンが機能しているため、通信を成功させるには、TLSハンドシェイクとネゴシエーションを完了する必要があります。このフローが中断すると、TLSプロトコルエラーが発生します。この例では、TLSターミネーションポイントは一般的なデフォルトポート443で動作していますが、EBSはポート4443で動作するように構成されています。
自動構成を実行
Autoconfigは、アプリケーション層の$ADMIN_SCRIPTS_HOMEディレクトリにあるadautocfg.shスクリプトを使用して実行できます。
アプリケーション層サービスを再開します
$ ADMIN_SCRIPTS_HOMEディレクトリのadapcctl.shスクリプトを使用して、アプリケーション層のApacheサービスを停止および再起動します。
ループバック接続とアウトバウンド接続の構成
ステップ1-管理対象サーバー(WLS)の構成を更新する 。
次のJVMパラメータをすべての管理対象サーバーとWebLogic管理サーバーに追加します。
- Oracle Fusion Middleware管理コンソールにログインします(たとえば、http://
。 : / console) - [ロックして編集]をクリックします。
- [ドメイン構造]>[EBSドメイン]>[環境とサーバー]で、管理対象サーバーの1つを選択します。 (環境内のすべての管理対象サーバーとWebLogic管理サーバーに対してこれを繰り返す必要があることに注意してください。)
次に、[引数]セクションの[サーバーの開始]タブで、次を追加します。
-Dhttps.protocols =TLSv1、TLSv1.1、TLSv1.2
- [保存]をクリックします。
- 残りのすべての管理対象サーバーについて、手順3と4を繰り返します。
- [変更を有効にする]をクリックします。
ステップ2–b64InternetCertificate.txtトラストストアを更新する
ca.crtファイルの内容をb64InternetCertificate.txtファイルに追加します。
CA証明書をインポートする必要がある場合は、ca.crtファイルの内容を10.1.2 ORACLE_HOME / sysman/configディレクトリにあるb64InternetCertificate.txtファイルに追加する必要もあります。
$ cat ca.crt>> <10.1.2 ORACLE_HOME> /sysman/config/b64InternetCertificate.txt
ステップ3–cacertsトラストストアを更新する
- JDKcacertsファイルを更新します。
OracleWebServicesでは、サーバー証明書を発行した認証局の証明書(前の手順のca.crt)がJDKcacertsファイルに存在する必要があります。さらに、XMLPublisherとBIPublisherの一部の機能では、サーバー証明書(前の手順のserver.crt)が存在する必要があります。 - $ OA_JRE_TOP / lib/securityディレクトリに移動します。
- 次の手順に従って、これらの要件が満たされていることを確認してください。
- 既存のcacertsファイルをバックアップします。
- ca.crtファイルとserver.crtファイルをこのディレクトリにコピーし、次のコマンドを発行して、cacertsに書き込み権限があることを確認します。
$ chmod u + w cacerts 4。 Apache ca.crtとserver.crtをcacertsに追加します:$ keytool -import -alias ApacheRootCA -file ca.crt -trustcacerts -v -keystore cacerts $ keytool -import -alias ApacheServer -file server.crt -trustcacerts -v -keystore cacerts 中間証明書(intca.crt)も提供されている場合は、server.crtを追加する前にそれをcacertsに追加する必要があります。
$ keytool -import -alias ApacheRootCA -file ca.crt -trustcacerts -v -keystore cacerts $ chmod u-w cacerts |
ステップ4 データベース層のセットアップ
Oracle Configurator、Order Management、Order Capture、Quoting、iPayment、iStore、PricingなどのOracle製品は、データベースをHTTPクライアントとして活用しています。 Oracle Database Server(Webサーバーに要求を送信するクライアントとして機能する)のTLSの実装では、OracleWalletManagerを使用してOracleWalletを設定します。
注 :これは、Web層でTLSが有効になっている場合のOracleiStoreストアフロントページの必須要件です。
UTL_HTTPを使用してデータベースからのHTTPSクライアント要求を有効にするには、ウォレット形式でトラストストアを確立する必要があります。このウォレットにはサーバー証明書は必要ありません。 UTL_HTTPに接続する必要があるサイトのトラストアンカーであるルートCAのルートCA証明書のみをインポートする必要があります。
- データベース層の環境を設定したら、$ ORACLE_HOME/appsutilディレクトリに移動します。
- walletという名前の新しいウォレットディレクトリを作成します。
- 新しく作成されたウォレットディレクトリに移動します。
- バックグラウンドプロセスとしてOracleWalletManagerを開きます。
owm &
- Oracle Wallet Managerメニューで、 Walletに移動します>新規 。
NOと答える:デフォルトのウォレットディレクトリが存在しません。今すぐ作成しますか?新しいウォレット画面で、ウォレットのパスワードを入力するように求められます。プロンプトが表示されたら[いいえ]をクリックします。新しい空のウォレットが作成されました。この時点で証明書リクエストを作成しますか? - ca.crtをインポートする必要がある場合は、OracleWalletManagerメニューで操作に移動します。>信頼できる証明書をインポートする 。 [ OK ]をクリックします 。 ca.crtをダブルクリックしてインポートします。
- ウォレットを保存する:Oracle Wallet Managerメニューで、ウォレットをクリックします。 。 を確認します 自動ログイン チェックボックスがオンになっています。 [保存]をクリックします 。
ウォレットが適切に設定され、アクセス可能であることをテストするには、アプリユーザーとしてSQLPLUSにログインし、以下を実行します。
SQL>select utl_http.request('[address to access]', '[proxy address]', 'file:[full path to wallet directory]', null) from dual;
ここで:
‘[address to access]’ =the URL for your Oracle E-Business Suite Rapid Install Portal.
‘[proxy address] ‘ =the URL of your proxy server, or NULL if not using a proxy server.
‘file:[full path to wallet directory]’ =ウォレットディレクトリの場所(実際のウォレットファイルは指定しないでください)。
関連リンク
Oracle E-Business Suiteリリース12(Doc ID 2143099.1)でSSLまたはTLSを有効にする
R12コンポーネントの検索方法バージョン
40すべてのDBAが知っておくべきパッチの質問
awkコマンド
Keytoolコマンド