TLSおよびmTLSサポートを使用したセキュア通信(転送中のデータ)

Oracle GoldenGateは、次の機能を使用して、転送中または移動中のデータを保護します。

「分散パス・ストリーミング・プロトコル」も参照してください。

TLSおよびmTLSサポートを使用した安全な通信

Transport Layer Security (TLS)プロトコルは、セキュアなデータ転送を確保することで、ネットワークを介したセキュアな通信を提供します。サーバー(GoldenGateインスタンス)とクライアント(GoldenGate Webインタフェース、AdminClientおよびその他のアプリケーションを含む)間のデータ交換は認証され、暗号化されます。暗号化アルゴリズムを使用してデータを暗号化し、権限のない者が送信中の情報にアクセスまたは変更できないようにします。

TLSは、サーバーのアイデンティティを検証して、通信が意図した相手とのものであり、悪意のあるアクターとの通信ではないことを確認します。HTTPSおよびWSSでは、TLSプロトコルが使用されます。HTTPSリクエストはREST-APIコールを介して行われ、WSSは分散パスによる証跡ファイルのセキュアなルーティングに使用されます。

相互TLS (mTLS)は、通信セッションでクライアントとサーバーの両方を認証することでセキュリティの追加レイヤーを追加するTLSプロトコルの機能拡張です。これは従来のTLSの機能拡張であり、双方向の信頼を提供し、なりすまし攻撃に対する追加の防御となります。クライアント/サーバーのハンドシェイク中に、サーバーは、クライアントのアイデンティティを検証できるように、自身のアイデンティティを証明するデジタル証明書のクライアントに提示します。クライアントも、サーバーがクライアントアイデンティティを検証できるように、自身のアイデンティティを証明するデジタル証明書サーバーに提示します。

セキュアなデプロイメントでは、次のいずれかの状況で分散パス・プロセスによってmTLSが使用され、WSSプロトコルを使用して証跡ファイルが送信されます。

分散クライアント(DistClient)デジタル証明書を提示してDistribution Client (DistClient)認証を使用すると、mTLSを使用したセキュアなネットワーク通信が可能になります。

Oracle GoldenGateにはセキュアなデプロイメントをお薦めします。これには、サーバーの証明書、秘密キー、および認証局(CA証明書)からの署名証明書が必要です。DistClient証明書、秘密キー、および認証局からの署名証明書(CA証明書)は、いつでも適用できます。

ただし、NGINXをセキュアでないデプロイメントで使用して、分散パスのTLSサポートを引き続き提供することもできます。TLSはNGINXで終了します。NGINX証明書はクライアントによって検証されることになります。ただし、Oracle GoldenGateのデフォルトのNGINX構成では、クライアント証明書はオプションです。

詳細は、「ターゲット開始パス」および「Oracle GoldenGateのリバース・プロキシのサポート」を参照してください。ノート:リバース・プロキシを使用する場合、mTLSはサポートされません。

Oracle環境におけるTransport Layer Securityの機能: TLSハンドシェイク

Transport Layer Securityによるネットワーク接続を開始する場合、クライアントとサーバーは、認証の前にTLSハンドシェイクを実行します。

ハンドシェイク・プロセスは次のようになります。

  1. クライアントおよびOracle GoldenGateインスタンスは、データ転送に使用される暗号スイートおよび暗号化アルゴリズムを確立します。

  2. Oracle GoldenGateインスタンスは、自分の証明書をクライアントに送信し、クライアントは、Oracle GoldenGateインスタンスの証明書が信頼できるCAによって署名されているかどうかを検証します。このステップでは、Oracle GoldenGateインスタンスのアイデンティティが検証されます。

  3. 同様に、クライアント認証が必要な場合は、クライアントが自分の証明書をOracle GoldenGateインスタンスに送信します。Oracle GoldenGateインスタンスは、クライアントの証明書が信頼できるCAによって署名されているかどうかを検証します。

  4. クライアントとOracle GoldenGateインスタンスは、公開キー暗号化を使用してキー情報を交換します。この情報に基づき、双方でセッション・キーが生成されます。キーは、少なくとも2者(通常はクライアントとOracle GoldenGateインスタンス)によって共有され、単一の通信セッション中のデータ暗号化に使用されます。セッション・キーは通常、ネットワーク・トラフィックを暗号化するために使用されます。クライアントとOracle GoldenGateインスタンスは、セッションの開始時にセッション・キーをネゴシエーションでき、そのキーは、そのセッションの関係者間のすべてのネットワーク・トラフィックを暗号化するために使用されます。クライアントとOracle GoldenGateインスタンスが新しいセッションで再び通信する場合は、新しいセッション・キーをネゴシエーションします。クライアントとOracle GoldenGateインスタンスとの間の以降のすべての通信は、このセッション・キーと、ネゴシエーションされた暗号スイートを使用して、暗号化および復号化されます。

認証プロセスは次のとおりです: 1。クライアントで、ユーザーがTLSを使用してOracle GoldenGateへのネットワーク接続を開始します。

  1. TLSは、クライアントとOracle GoldenGateの間のハンドシェイクを実行します。

  2. ハンドシェイクが成功すると、GoldenGateインスタンスは、ユーザーがOracle GoldenGateインスタンスにアクセスするための適切な認可を持っているかどうかを検証します。

Oracle GoldenGateでのTransport Layer Securityを使用した認証

Oracle GoldenGateインスタンスとクライアント間の通信を保護するために、Oracle GoldenGateのTLS機能を使用して次のことを実行できます。

TLSの確立後、Oracle GoldenGateインスタンスは、証跡を送信するための適切な権限があることを確認するためにクライアントを認証する必要があります。次の認証モードが使用されます。

TLS暗号スイーツ

暗号スイートは、次のタスクごとに1つのアルゴリズムを指定します。

TLS 1.2および1.3のデフォルトの暗号スイートは、弱い暗号を除いてサポートされています。

セキュリティ要件を満たすためにTLS 1.3を使用することをお薦めします。

TLS 1.2のデフォルトの暗号スイートは、弱い暗号を除いてサポートされています。

ターゲットで開始するパス

マイクロサービスのターゲット開始パスにより、Receiver Serviceはターゲット・デプロイメントおよびプル証跡ファイルのDistribution Serviceへのパスを開始できます。この機能を使用すると、Receiver ServiceはDMZ (Demilitarized Zone)パスまたはクラウドからオンプレミスなどの環境にターゲット開始パスを作成できます。この場合、ソースOracle GoldenGateデプロイメントのDistribution Serviceは、ネットワーク・セキュリティ・ポリシーのために、ターゲット環境でReceiver Serviceへのネットワーク接続を開けません。

分散サービスがレシーバ・サービスへの接続を開始できないときに、レシーバ・サービスが分散サービスを実行しているホストへの接続を開始できる場合は、レシーバ・サービスが、Oracle GoldenGateを使用してファイアウォールまたはDemilitarized (DMZ)ゾーンを通過して分散サービスへのセキュアまたは非セキュアなターゲット開始パスを確立し、リクエストされた証跡ファイルを取り出します。Receiver Serviceエンドポイントには、証跡ファイルの取得がReceiver Serviceによって開始されたことが表示されます。

パス(読取り専用)はターゲット・デプロイメントのレシーバ・サービスから作成され、プロパティTARGET_INITIATEDがあります。このパスは、分散サービスからもアクセスできます。パス情報はターゲット・システムに格納されます。通信が失われる場合、ターゲット・ホスト上のレシーバ・サービスでは、接続を再開するためにパス定義が必要となります。この情報は、パスの実行時に分散サービスと共有されます。このパスは、ソース・デプロイメントでは一時的です。一時的なパスは、パス構成の統合とターゲットからソースへの接続開始の強化に役立ちます。

パスが停止または切断されると、分散サービスはパス定義を含むすべてのパス情報を削除します。ただし、チェックポイント・ファイルは保持されます。これは、古い証跡を消去できるかどうかを決定するためにチェックポイントが使用されるためです。意図的にパスを削除した場合を除いて、古い証跡は消去しないことをお薦めします。

関連トピック:

Oracle GoldenGateのリバース・プロキシのサポート

リバース・プロキシを使用すると、デプロイメントで1つの単一ポート(443)を使用してマイクロサービスにアクセスできます。これにより、セキュアでないデプロイメントを介したマイクロサービスのURLのカプセル化が可能になります。ノート:リバース・プロキシはオプションですが、Oracleでは、マイクロサービスに簡単にアクセスできるようにし、セキュリティを強化することをお薦めします。

セキュアでないデプロイメント内のマイクロサービスをループバック・アドレスで実行し、Nginxインストールを使用してその前にHTTPリバース・プロキシを置くことができます。

Oracle GoldenGate MAには、ReverseProxySettingsというスクリプトが含まれており、このスクリプトによって、Nginxリバース・プロキシ・サーバーのみの構成ファイルが生成されます。

たとえば、管理サービスがhttp://goldengate.example.com:9001にあり、Distribution Serviceがhttp://goldengate.example.com:9002にあるとします。リバース・プロキシを使用すると、すべてのマイクロサービスに1つのアドレスから簡単にアクセスできます。たとえば、Distribution Serviceの場合、http://goldengate.example.com/distsrvrになります。このURLは、サービスごとに異なります。また、ポートごとではなく名前ごとのものになります。

これらの値は、Service Managerへの接続時に使用されます。認証が有効になっている場合は必須です。

Oracle GoldenGateでNGINXリバース・プロキシを実装するには、「NGINXを使用したOracle GoldenGateリバース・プロキシの構成」を参照してください。