SSL通信のガイドライン

この項では、次のSSLのガイドラインについて説明します。

TLSv1.2プロトコルの有効化

Transport Layer Security (TLS)は、アプリケーション間の通信プライバシおよびデータ整合性を提供することにより、コンピュータ・ネットワークのセキュリティを向上させるために使用する暗号プロトコルです。TLSは技術的にはSSLに代わるものですが、一般的にSSLという名前で呼ばれています。TLSv1.2がデフォルトで有効です。

Enterprise Managerの場合、これらのセキュアな通信チャネルは、Enterprise Managerフレームワークの様々なコンポーネント間にあります。TLSv1.2プロトコルは、次のようなインフラストラクチャ通信チャネルでサポートされています。

  • Oracle Management Serviceと13cのエージェント間

  • 13cのエージェントとエージェント間

  • EMCLIとOracle Management Service間

  • ブラウザと管理サーバー/管理対象サーバーのコンソール間

  • Oracle Management Serviceとサーバー・ロード・バランサ間

  • 13cのエージェントとAlways-On Monitoringアプリケーション間

  • Oracle Management ServiceとMy Oracle Support間

  • 13cのエージェントとFusion Middlewareターゲット間

  • Oracle Management ServiceとFusion Middlewareターゲット間

TLS1.2でのOracle Management Serviceとデータベース間の通信の有効化

OMSとターゲット・データベース(Enterprise Managerの管理リポジトリを含む)間にTLSv1.2通信チャネルを構成することもできます。

TLS1.2でのAlways-On Monitoring通信の有効化

Always-On Monitoringを使用すると、Oracle Management Serviceを使用できない場合に、クリティカルなターゲット・ステータスとメトリック・アラートをモニタリングできます。このサービスはEnterprise Managerエージェントを介してクリティカル・ターゲットを継続的にモニタリングし、これらのイベントの電子メール通知を管理者に送信するように簡単に構成できます。Always-On Monitoring (AOM)アプリケーションとAOMリポジトリ間およびAOMアプリケーションとEnterprise Managerリポジトリ間の通信用TLSv1.2の構成の詳細は、Enterprise Manager管理者ガイドTLSv1.2プロトコルを使用したセキュアな通信用Always-On Monitoringアプリケーションの構成に関する項を参照してください。

Oracle Management ServiceのロックダウンによるTLSv1.2プロトコルのみの使用

TLSv1.2プロトコルのみを使用するようにOracle Management Service通信を制限する手順は、次のとおりです。

  1. Oracle Management Serviceを停止します。コマンドラインから次を実行します。

    <OMS_ORACLE_HOME>/bin/emctl stop oms

  2. OMS通信プロトコルを設定します。コマンドラインから次を実行します。

    <OMS_ORACLE_HOME>/bin/emctl secure oms -protocol TLSv1.2

  3. 次のコマンドを入力してOMSを再起動します。

    $ emctl start oms

バージョンが混在する環境でのTLSの有効化

Enterprise Managerを初めてインストールする場合、前述のすべての通信チャネルで、TLSv1.2がデフォルトで使用されます。既存のEnterprise Managerデプロイメントがあり、TLSを有効にする場合、古いエージェントではTLSv1.2がサポートされていないことを認識する必要があります。

13cにアップグレードしていない環境に12cのエージェントが存在している場合、エージェントとOracle Management Service間の通信はSSLにデフォルトで設定されます。エージェントがサーバーとしてリスニングする間TLS v1.0プロトコルのみをサポートするように12cのエージェントを構成するには、Enterprise Managerコンソールでエージェントのプロパティを編集するか、コマンドラインでemctl setpropertyを実行します。たとえば:

$ emctl setproperty agent -name allowTLSOnly -value true

複数のエージェントを同時に編集するには、「設定」メニューで「管理」「エージェント」の順に選択します。変更するエージェントをリストから選択して、「プロパティ」をクリックします。これにより、ジョブ定義が作成され、ここで、変更する必要のあるエージェントのプロパティを指定します。「パラメータ」ページでminimumTLSVersionプロパティをTLSv1.2に設定します。変更は、選択したエージェントすべてに適用されます。

変更後、管理エージェントをバウンスして変更内容を有効にする必要があります。

通信のセキュアロック・モード

OMSとエージェントの保護およびロック

Oracle Management ServiceおよびOracle Management Agentは、非セキュア(HTTP)モードまたはセキュア(HTTPS)モードで実行できます。デフォルトのインストールではOMSを自動的にセキュアロックするため、常にセキュア・モードを使用することをお薦めします。セキュアロック・モードでは、エージェントがHTTPSポートのみ(HTTPポートはロック)を介して通信することを必要とする点で、一歩先に踏み込んだセキュリティを実現できます。そのため、OMSとエージェントとの通信が常に暗号化され互いに認証されます。セキュアではないエージェントからのリクエストはすべて、OMSにより拒否されます。同様に、OMSからのセキュアではないリクエストは、エージェントにより拒否されます。これは、インフラストラクチャ内から発生する悪質な「介在者」による攻撃から管理システムを保護するうえで役立ちます。

インストールがOracle Enterprise Manager 10gリリース5よりも前に行われた場合、OMSを手動でセキュアロックする必要がある場合があります。アップグレードの場合、アップグレード前の環境が保護されていれば、アップグレードはセキュア・モードに留まりますが、OMSをセキュアロックしません。アップグレード前の環境がすでにセキュアロックされている場合には、アップグレードはOMSとエージェントの間でセキュアロック・モードに留まります。

OMSのセキュア状態をチェックし、OMSとエージェントとの間の通信をセキュアロックするには、次のコマンドを実行しOMSを再起動します。

$ emctl status oms –details 
Oracle Enterprise Manager 24ai Release 1 
Copyright (c) 1996, 2024 Oracle Corporation. All rights reserved. 
Enter Enterprise Manager Root (SYSMAN) Password : 
Console Server Host : test01.example.com 
HTTP Console Port : 7790 
HTTPS Console Port : 7803 
HTTP Upload Port : 4890 
HTTPS Upload Port : 4904 
OMS is not configured with SLB or virtual hostname 
Agent Upload is locked. 
OMS Console is locked. 
Active CA ID: 1 
Console URL: https://test01.example.com:7803/em 
Upload URL: https://test01.example.com:4904/empbs/upload 
…

$ emctl secure lock –upload 
Oracle Enterprise Manager 24ai Release 1 
Copyright (c) 1996, 2024 Oracle Corporation. All rights reserved. 
Enter Enterprise Manager Root (SYSMAN) Password : 
Agent Upload is locked. Agents must be secure and upload over HTTPS port. Restart OMS.

OMSがセキュアロック・モードで実行を始めると、セキュアではないエージェントはOMSにデータをアップロードできなくなります。ステータスを確認し、エージェントの問題を保護するには次のコマンドを実行します。ここで、登録パスワードが求められます。

$ emctl status agent –secure 
Oracle Enterprise Manager 24ai Release 1 
Copyright (c) 1996, 2024 Oracle Corporation. All rights reserved. 
Checking the security status of the Agent at location set in <AGENT_LOCATION>/em12/agent/agent_inst/sysman/config/emd.properties... Done. 
Agent is secure at HTTPS Port 3872. 
Checking the security status of the OMS at https://test01.example.com:4904/empbs/upload/... Done. 
OMS is secure on HTTPS Port 4904

$ emctl secure agent 
Oracle Enterprise Manager 24ai Release 1 
Copyright (c) 1996, 2024 Oracle Corporation. All rights reserved. 
Agent successfully stopped... Done. 
Securing agent... Started. 
Enter Agent Registration Password : 
Agent successfully restarted... Done. 
EMD gensudoprops completed successfully 
Securing agent... Successful.

SSLまたはTSLを介したクライアント・ブラウザからのコンソール・アクセスが確実にセキュアであるようにするには、コンソールもロックされている必要があります。Oracle Enterprise Manager 10gリリース5からは、インストールはデフォルトでセキュアロックされています。アップグレードの場合、アップグレード前の環境がセキュアロックされていなければ、アップグレード後に次のコマンドを実行してコンソール・アクセスをセキュアロックする必要があります。

$ emctl secure lock –console

暗号構成の変更(必要な場合)

暗号スイートは、認証、キー・アグリーメント、暗号化、整合性保護に使用されるセキュリティ・アルゴリズムとキー・サイズを定義する暗号パラメータの組合せです。暗号スイートは、通信の整合性を保護します。たとえば、SSL_RSA_WITH_AES_128_CBC_SHAという名前の暗号スイートは、キー交換にRSAを、バルク暗号化に128ビット・キーを使用するAES、CBCおよびSHAを使用します。暗号スイートは、認証、キー・アグリーメント、暗号化、整合性保護に使用されるセキュリティ・アルゴリズムとキー・サイズを定義する暗号パラメータの組合せです。暗号スイートは、通信の整合性を保護します。たとえば、SSL_RSA_WITH_AES_128_CBC_SHAという名前の暗号スイートは、キー交換にRSAを、バルク暗号化に128ビット・キーを使用するAES、CBCおよびSHAを使用します。

Enterprise Managerでは、暗号は次に示すエンド・ポイント用に構成されています。

  • Oracle Management Services (OMS)コンソール・エンド・ポイント

  • OMSアップロード・エンド・ポイント

  • エージェント・エンド・ポイント

  • WebLogicエンド・ポイント

OMSコンソールおよびアップロード・エンド・ポイントでサポートされる暗号

OMSコンソールおよびアップロード・エンド・ポイントでサポートされる暗号は、OMSサーバーをフロントエンドとするWebサーバーであるOracle HTTP Server (OHS)によってサポートおよび公開される暗号に依存します。OHS Webサーバーにサポートされる暗号は「表1: OMSコンソールおよびアップロード・エンド・ポイントでサポートされる暗号スイート」にリストされます。

OHSにサポートされる暗号のサブセットは、EMGC_DOMAINホームにある構成ファイルにデフォルトとして設定されており、OMSコンソールおよびアップロード・エンド・ポイントに使用されます。OMSコンソールおよびアップロード・エンド・ポイントに使用される、OHSにサポートされる暗号のデフォルト・セットを次の表に示します。

OMSコンソール・エンドポイントのデフォルトの暗号スイートを変更するには、次のssl.confファイル内のSSLCipherSuiteプロパティを編集して、OHSがサポートする暗号のリストから追加/変更します。

一般的な複数OMSシナリオは次のとおりです。

  1. プライマリOMSサーバーで次のファイルを変更します。

    <WEBTIER_INSTANCE_HOME>/user_projects/domains/EMGC_DOMAIN/config/fmwconfig/components/OHS/ohs1/ssl.conf

  2. 各追加OMSのサーバーで次のファイルを変更します。

    <WEBTIER_INSTANCE_HOME>/user_projects/domains/EMGC_DOMAIN/config/fmwconfig/components/OHS/instance/ohs1/ssl.conf.emctl_secure

アップロード・エンド・ポイントのデフォルトの暗号スイートを変更するには、次のhttpd_em.confファイルでSSLCipherSuiteプロパティを編集して、OHSがサポートする暗号のリストから追加/変更します。

一般的な複数OMSシナリオは次のとおりです。

  1. プライマリOMSサーバーで次のファイルを変更します。

    <WEBTIER_INSTANCE_HOME>/user_projects/domains/EMGC_DOMAIN/config/fmwconfig/components/OHS/ohs1/moduleconf/httpd_em.conf

  2. 各追加OMSサーバーで次のファイルを変更します。

    <WEBTIER_INSTANCE_HOME>/user_projects/domains/EMGC_DOMAIN/config/fmwconfig/components/OHS/instance/ohs1/moduleconf/httpd_em.conf.emctl_secure

OMSコンソールおよびアップロード・エンド・ポイントの暗号スイートを変更するには、管理サーバーを含むOMSの再起動が必要です。
OHSでサポートされている暗号スイート OMSデフォルト: コンソール OMSデフォルト: アップロード

SSL_RSA_WITH_AES_128_CBC_SHA

いいえ

はい

RSA_WITH_AES_128_CBC_SHA256

いいえ

はい

SSL_RSA_WITH_AES_256_CBC_SHA

いいえ

はい

RSA_WITH_AES_256_CBC_SHA256

いいえ

はい

ECDHE_RSA_WITH_AES_128_CBC_SHA

いいえ

はい

ECDHE_RSA_WITH_AES_256_CBC_SHA

いいえ

はい

RSA_WITH_AES_128_GCM_SHA256

いいえ

はい

RSA_WITH_AES_256_GCM_SHA384

いいえ

はい

エージェント・エンド・ポイントでサポートされる暗号

エージェントEMD_URL /エンド・ポイント(エージェントのJDKで使用可能な場合)でサポートされる暗号を表2に示します。これらのサポートされている暗号のサブセットは、エージェント・エンド・ポイントにデフォルトとして設定されます。この表は、エージェントEMD_URL /エンド・ポイントでデフォルトで使用可能な暗号を示しています。

エージェントで使用されるデフォルト暗号スイートをオーバーライドするには、emd.propertiesのSSLCipherSuitesプロパティを編集して、サポートされているリストから暗号を含めます。必要に応じて、次のようにsetpropertyコマンドを使用できます。

$ emctl setproperty agent -name SSLCipherSuites -value <values>
サポートされている暗号スイート エージェント・デフォルト

RSA_WITH_AES_128_CBC_SHA

はい

RSA_WITH_AES_128_CBC_SHA256

はい

RSA_WITH_AES_256_CBC_SHA

いいえ

RSA_WITH_AES_256_CBC_SHA256

はい

ECDHE_RSA_WITH_AES_128_CBC_SHA

いいえ

ECDHE_RSA_WITH_AES_128_CBC_SHA256

はい

ECDHE_RSA_WITH_AES_256_CBC_SHA

いいえ

ECDHE_RSA_WITH_AES_256_CBC_SHA384

はい

DHE_RSA_WITH_AES_128_CBC_SHA

いいえ

DHE_RSA_WITH_AES_128_CBC_SHA256

はい

DHE_RSA_WITH_AES_256_CBC_SHA

いいえ

DHE_RSA_WITH_AES_256_CBC_SHA256

はい

ノート:
  • AES_256暗号は、エージェントのJKSで(エージェントのJavaバージョンに対応する)強度が無制限のポリシー・ファイルをシステムに現在インストールしている場合にのみ機能します。たとえば、Java 7を使用した13.2のエージェントは、http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.htmlから強度が無制限のポリシー・ファイルをダウンロードしてください。local_policy.jarおよびUS_export_policy.jarを解凍して<agent_base_directory>/agent_13.2.0.0.0/oracle_common/jdk/jre/lib/securitにコピーします。

  • SHA256以上を使用しているすべての暗号スイートは、TLS1.2に対してのみ機能します。エンド・ポイントがTLS1.2で構成されていることの確認の詳細は、「TLSv1.2プロトコルの有効化」 を参照してください。

  • 特定の暗号スイートでSSLハンドシェイクが発生するようにするには、クライアントとサーバーの両方で有効化する必要があります。たとえば、エージェントからOMSサーバーへの通信が'ECDHE_RSA_WITH_AES_128_CBC_SHA'暗号スイートで行われる必要がある場合、この暗号スイートをエージェント(クライアント)とOMSアップロード・エンド・ポイント(サーバー)の両方で構成する必要があります。

WebLogicエンド・ポイントでサポートされる暗号

WebLogicエンド・ポイントは、デフォルトでは基礎となるJDKによって提供される暗号を使用します。デフォルトの暗号を変更するには、『Fusion Middleware Oracle WebLogic Serverセキュティの管理 12.1.3』の公式マニュアルを参照してください。

サード・パーティの証明書

よく知られた認証局(CA)からの証明書を使用し、異なる有効期間およびキー・サイズのよく知られた信頼できる証明書を活用して、OMSとエージェントとの間の通信およびコンソール・アクセスを保護します。

Oracleウォレット

Oracleはウォレットの概念を導入していますが、ウォレットとは、認証および署名資格証明(秘密キー、証明書、SSLで必要な信頼できる証明書など)の格納に使用されるパスワード保護されたコンテナです。

カスタムの認証局を使用してコンソールを保護するには、ウォレット・ロケーションを作成し、そのウォレット・ロケーションに対してコンソールを保護する必要があります。ウォレットの作成方法の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

Oracle Walletの作成

次の例で、証明書を作成してOracleウォレットに追加する方法を示します。

  1. ウォレット・コンテナを作成します。

    ノート:

    現在、サポートされるのはシングル・サインオン(SSO)のウォレットのみです。

    S /u01/app/oracle/middleware/oracle_common/bin/orapki wallet create -wallet /home/oracle/labs/mywallet -auto_login_only
    
  2. ウォレットに証明書を追加します。ウォレットを作成する際、共通名(CN)をOMSがインストールされているマシンのホスト名またはSLB名(OMSがSLBの背後にある場合)として指定する必要があります。OMSがSLBの背後にある次の例では、test.example.comです。
    S /u01/app/oracle/middleware/oracle_common/bin/orapki wallet add -wallet /home/oracle/labs/mywallet -dn 'CN=test.example.com, OU=Oracle, O=Oracle University, L=Boise, ST=ID, C=US' -keysize 2048 -self_signed -validity 3650 -auto_login_only
    
  3. 既存のWebLogicドメインに必要な環境変数を設定します。orapkileを使用する前に設定する必要があります。
     $ . setDomainEnv.sh
    
  4. ウォレットで証明書を確認します。
    S /u01/app/oracle/middleware/oracle_common/bin/orapki wallet display -wallet /home/oracle/labs/mywallet
    

通信を保護するためのベスト・プラクティス

次に、通信を保護するためのベスト・プラクティスの概要を示します。

• pingチェック検証用にICMPを有効にする

• ファイアウォールを使用環境に合せて構成する

• OMSとエージェントを保護およびロックする

• OMSとエージェントに強力な暗号スイートを構成する

• サード・パーティ証明書によりアップロードおよびコンソール仮想HTTPSホストを保護する