TLS 및 mTLS 지원을 사용한 보안 통신(전송 중인 데이터)

Oracle GoldenGate는 다음 기능을 사용하여 전송 중인 데이터 또는 이동 중인 데이터를 보호합니다.

또한 Distribution Path Streaming Protocols을 참조하십시오.

TLS 및 mTLS 지원을 사용한 보안 통신

TLS(전송 계층 보안) 프로토콜은 보안 데이터 전송을 보장하여 네트워크를 통한 보안 통신을 제공합니다. 서버(GoldenGate 인스턴스)와 GoldenGate 웹 인터페이스, AdminClient 및 기타 응용 프로그램을 포함한 클라이언트 간의 데이터 교환은 인증되고 암호화됩니다. 암호화 알고리즘을 사용하여 데이터를 암호화하므로 승인되지 않은 당사자가 전송되는 정보에 액세스하거나 수정할 수 없습니다.

TLS는 서버의 ID를 확인하여 악의적인 행위자가 아닌 의도한 당사자와의 통신을 확인합니다. HTTPS 및 WSS는 TLS 프로토콜을 사용합니다. HTTPS 요청은 REST-API 호출을 통해 수행되며 WSS는 배포 경로에 의해 추적 파일의 보안 경로 지정에 사용됩니다.

mTLS(상호 TLS)는 통신 세션에서 클라이언트와 서버를 모두 인증하여 추가 보안 계층을 추가하는 TLS 프로토콜의 확장입니다. 이는 전통적인 TLS의 향상으로 양방향 신뢰를 제공하며 가장된 공격에 대한 추가 방어입니다. 클라이언트-서버 핸드셰이크 중 서버는 클라이언트가 서버의 ID를 확인할 수 있도록 클라이언트에 대한 ID를 증명하는 디지털 인증서를 제공합니다. 또한 클라이언트는 서버가 클라이언트 ID를 확인할 수 있도록 서버에 ID를 증명하는 디지털 인증서를 제공합니다.

보안 배치에서 mTLS는 배포 경로 프로세스에서 다음 중 하나의 경우에 WSS 프로토콜을 사용하여 추적 파일을 전송하는 데 사용됩니다.

DistClient 디지털 인증서를 제공하여 배포 클라이언트(DistClient) 인증을 사용하면 mTLS를 사용하여 보안 네트워크 통신을 사용으로 설정할 수 있습니다.

보안 배치는 Oracle GoldenGate에 권장됩니다. 서버의 인증서, 개인 키 및 CA 인증서(인증 기관)의 서명 인증서가 필요합니다. 인증 기관(CA 인증서)의 DistClient 인증서, 개인 키 및 서명 인증서는 언제든지 적용할 수 있습니다.

그러나 NGINX는 비보안 배치와 함께 사용되어 배포 경로에 대한 TLS 지원을 계속 제공할 수 있습니다. TLS는 NGINX에서 종료됩니다. 클라이언트가 NGINX 인증서를 확인합니다. 그러나 클라이언트 인증서는 Oracle GoldenGate 기본 NGINX 구성에서 선택 사항입니다.

자세한 내용은 대상 시작 경로 및 Oracle GoldenGate 역 프록시 지원을 참조하십시오. 주: 역 프록시가 사용되는 경우 mTLS가 지원되지 않습니다.

Oracle 환경에서 전송 계층 보안의 작동 방식: TLS 핸드셰이크

전송 계층 보안을 통한 네트워크 연결이 시작되면 클라이언트와 서버는 인증 전에 TLS 핸드셰이크를 수행합니다.

핸드셰이크 프로세스는 다음과 같습니다.

  1. 클라이언트와 Oracle GoldenGate 인스턴스는 데이터 전송에 사용되는 암호화 모음 및 암호화 알고리즘을 설정합니다.

  2. Oracle GoldenGate 인스턴스는 인증서를 클라이언트로 전송하고, 클라이언트는 Oracle GoldenGate 인스턴스의 인증서가 신뢰할 수 있는 CA에 의해 서명되었는지 확인합니다. 이 단계는 Oracle GoldenGate 인스턴스의 ID를 확인합니다.

  3. 마찬가지로 클라이언트 인증이 필요한 경우 클라이언트가 인증서를 Oracle GoldenGate 인스턴스로 전송합니다. Oracle GoldenGate 인스턴스는 클라이언트의 인증서가 신뢰할 수 있는 CA에 의해 서명되었는지 확인합니다.

  4. 클라이언트와 Oracle GoldenGate 인스턴스는 공개 키 암호화를 사용하여 키 정보를 교환합니다. 이 정보를 기반으로 각각 세션 키를 생성합니다. 키는 단일 통신 세션 기간 동안 데이터 암호화에 사용되는 적어도 두 개의 당사자(일반적으로 클라이언트와 Oracle GoldenGate 인스턴스)가 공유합니다. 일반적으로 세션 키는 네트워크 트래픽을 암호화하는 데 사용됩니다. 클라이언트와 Oracle GoldenGate 인스턴스는 세션 시작 시 세션 키를 협상할 수 있으며, 해당 키는 해당 세션 동안 당사자 간의 모든 네트워크 트래픽을 암호화하는 데 사용됩니다. 클라이언트와 Oracle GoldenGate 인스턴스가 새 세션에서 다시 통신하는 경우 새 세션 키를 협상합니다. 클라이언트와 Oracle GoldenGate 인스턴스 간의 모든 후속 통신은 이 세션 키 및 협상된 암호화 모음을 사용하여 암호화 및 해독됩니다.

인증 프로세스는 다음과 같습니다. 1. 클라이언트에서 사용자는 TLS를 사용하여 Oracle GoldenGate에 대한 네트워크 연결을 시작합니다.

  1. TLS는 클라이언트와 Oracle GoldenGate 간에 핸드셰이크를 수행합니다.

  2. 핸드셰이크가 성공하면 GoldenGate 인스턴스는 사용자에게 Oracle GoldenGate 인스턴스에 액세스할 수 있는 적절한 권한이 있는지 확인합니다.

Oracle GoldenGate에서 인증을 위해 전송 계층 보안을 사용하는 방법

Oracle GoldenGate TLS 기능을 사용하여 Oracle GoldenGate 인스턴스와 클라이언트 간의 통신을 보호하면 다음을 수행할 수 있습니다.

TLS가 설정된 후 Oracle GoldenGate 인스턴스는 추적을 전송할 수 있는 올바른 권한이 있는지 확인하기 위해 클라이언트를 인증해야 합니다. 다음 인증 모드가 사용됩니다.

TLS 암호화 모음

암호 슈트는 다음 작업당 하나의 알고리즘을 지정합니다.

약한 암호화를 제외하고 TLS 1.2 및 1.3에 대한 기본 암호 슈트가 지원됩니다.

Oracle은 보안 요구 사항을 충족하기 위해 TLS 1.3을 사용할 것을 강력히 권장합니다.

약한 암호화를 제외하고 TLS 1.2의 기본 암호화 모음이 지원됩니다.

대상에서 시작된 경로

마이크로서비스에 대한 대상 시작 경로를 통해 수신기 서비스는 대상 배포 및 풀 트레일 파일에서 배포 서비스에 대한 경로를 시작할 수 있습니다. 이 기능을 통해 수신자 서비스는 DMZ(Demilitarized Zone Paths) 또는 클라우드-온프레미스 환경(소스 Oracle GoldenGate 배치의 배포 서비스가 네트워크 보안 정책으로 인해 대상 환경에서 수신자 서비스에 대한 네트워크 연결을 열 수 없음)에 대해 대상 시작 경로를 생성할 수 있습니다.

배포 서비스가 수신기 서비스에 대한 연결을 시작할 수 없지만 수신기 서비스가 배포 서비스를 실행하는 호스트에 대한 연결을 시작할 수 있는 경우 수신기 서비스는 Oracle GoldenGate를 사용하여 요청된 추적 파일을 가져오기 위해 방화벽 또는 DMZ(Demilitarized) 영역을 통해 배포 서비스에 대한 보안 또는 비보안 대상 시작 경로를 설정합니다. 수신기 서비스 끝점은 수신기 서비스에서 추적 파일 검색을 시작했음을 표시합니다.

경로(읽기 전용)는 대상 배치의 수신기 서비스에서 생성되며 TARGET_INITIATED 속성을 가집니다. 이 경로는 배포 서비스에서도 액세스할 수 있습니다. 경로 정보는 대상 시스템에 저장됩니다. 통신이 손실된 경우 대상 호스트의 수신기 서비스에서 연결을 다시 시작하려면 경로 정의가 필요합니다. 이 정보는 경로가 실행 중일 때 배포 서비스와 공유됩니다. 경로는 소스 배포에서 임시입니다. 임시 경로는 경로 구성을 통합하고 대상-소스 연결 시작을 강화하는 데 도움이 됩니다.

경로가 중지되거나 연결이 해제되면 배포 서비스는 경로 정의를 포함한 모든 경로 정보를 제거합니다. 그러나 체크포인트 파일은 이전 추적을 지울 수 있는지 여부를 결정하는 데 사용되기 때문에 보유됩니다. 경로가 의도적으로 삭제되지 않는 한 이전 트레일은 지우지 않는 것이 좋습니다.

관련 항목:

Oracle GoldenGate 역 프록시 지원

역 프록시를 사용하면 배포에서 하나의 단일 포트(443)를 사용하여 마이크로서비스에 액세스할 수 있습니다. 이렇게 하면 비보안 배포를 통해 마이크로서비스에 대한 URL을 캡슐화할 수 있습니다. 주: 역 프록시는 선택 사항이지만, Oracle은 마이크로서비스에 쉽게 액세스하고 향상된 보안을 제공할 것을 권장합니다.

루프백 주소의 비보안 배포에서 마이크로서비스를 실행하고 Nginx 설치를 사용하여 HTTP 리버스 프록시로 마이크로서비스를 시작할 수 있습니다.

Oracle GoldenGate MA에는 Nginx 역 프록시 서버에 대해서만 구성 파일을 생성하는 ReverseProxySettings라는 스크립트가 포함되어 있습니다.

예를 들어, 관리 서비스는 http://goldengate.example.com:9001에서 사용할 수 있으며 배포 서비스는 http://goldengate.example.com:9002에 있습니다. 리버스 프록시를 사용하면 단일 주소에서 각 마이크로서비스에 간단히 액세스할 수 있습니다. 배포 서비스의 경우 http://goldengate.example.com/distsrvr을 예로 들 수 있습니다. URL은 각 서비스에 대해 다르며 포트가 아닌 이름으로 지정됩니다.

이러한 값은 Service Manager에 연결할 때 사용되며 인증이 사용으로 설정된 경우 필요합니다.

Oracle GoldenGate를 사용하여 NGINX 역 프록시를 구현하려면 NGINX를 사용하여 Oracle GoldenGate 역 프록시 구성을 참조하십시오.