남쪽 방면 트래픽에 TLS 1.3 구성

이 페이지에서는 남쪽 방면 트래픽(메시지 프로세서와 백엔드 서버 간 트래픽)에 대해 Apigee 메시지 프로세서에서 TLS 1.3을 구성하는 방법을 설명합니다.

Java의 TLS 1.3 기능에 관한 자세한 내용은 JDK 8u261 업데이트 출시 노트를 참조하세요.

TLS 1.3을 사용 설정하는 절차는 사용 중인 Java 버전에 따라 다릅니다. 아래의 메시지 프로세서에서 자바 버전 확인을 참조하여 메시지 프로세서에 설치된 자바 버전을 찾으세요.

TLS v1.3 및 자바 버전

TLS 1.3 기능은 다음 버전의 자바에 도입되었습니다.

  • Oracle JDK 8u261
  • OpenJDK 8u272

다음 자바 버전에는 TLS v1.3 기능이 있지만 클라이언트 역할에서 기본적으로 사용 설정되지는 않습니다.

  • Oracle JDK 8u261 이상, Oracle JDK 8u341 미만
  • OpenJDK 8u272 이상, OpenJDK 8u352 미만

이 버전 중 하나를 사용하는 경우 TLS v1.3이 기본적으로 사용 설정되지 않은 경우 TLS v1.3을 사용 설정하는 방법에 설명된 대로 TLS v1.3을 사용 설정해야 합니다.

다음 버전 중 하나를 사용하는 경우 TLS v1.3이 클라이언트 역할에서 기본적으로 사용 설정되어 있어야 합니다 (메시지 프로세서는 남쪽 방향 TLS 연결 시 클라이언트 역할을 하므로). 따라서 별도의 조치를 취할 필요가 없습니다.

  • Oracle JDK 8u341 이상
  • OpenJDK 8u352 이상

TLS v1.3이 작동하려면 다음 조건을 모두 충족해야 합니다.

  • 메시지 프로세서의 기본 Java가 TLS v1.3을 지원해야 합니다.
  • TLS v1.3을 메시지 프로세서의 Java에서 사용 설정해야 합니다.
  • 메시지 프로세서 애플리케이션에서 TLS v1.3을 사용 설정해야 합니다.

Java에서 TLS v1.3이 기본적으로 사용 설정되지 않은 경우 사용 설정하는 방법

이 섹션에서는 다음 자바 버전 중 하나를 사용하는 경우 TLS v1.3을 사용 설정하는 방법을 설명합니다.

  • Oracle JDK 8u261 이상, Oracle JDK 8u341 미만
  • OpenJDK 8u272 이상, OpenJDK 8u352 미만

메시지 프로세서에서 Java 속성 jdk.tls.client.protocols를 설정합니다. 값은 쉼표로 구분되며 TLSv1, TLSv1.1, TLSv1.2, TLSv1.3, SSLv3 중 하나 이상을 포함할 수 있습니다.

예를 들어 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3를 설정하면 클라이언트 프로토콜 TLSv1.2TLSv1.3가 사용 설정됩니다.

Edge 구성요소에서 JVM 속성을 설정하는 방법을 알아보려면 다른 JVM 속성 변경을 참조하세요.

TLS v1, v1.1, v1.2, v1.3 프로토콜을 사용 설정하려면 다음 안내를 따르세요.

  1. 메시지 프로세서 구성 파일(/opt/apigee/customer/application/message-processor.properties)에서 다음 구성을 설정합니다.
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. 메시지 프로세서를 다시 시작합니다.
>

TLS v1.3이 기본적으로 사용 설정된 경우 사용 중지하는 방법

Oracle JDK 8u341 이상 또는 OpenJDK 8u352 이상을 사용하는 경우 클라이언트에 TLSv1.3이 기본적으로 사용 설정됩니다. 이러한 경우 TLS v1.3을 사용 중지하는 방법은 두 가지가 있습니다.

  • 대상 서버의 SSLInfo를 구성하고 프로토콜 목록에 TLSv1.3이 언급되지 않았는지 확인합니다. TLS/SSL TargetEndpoint 구성 요소를 참조하세요. 참고: 대상 서버 구성에 프로토콜이 지정되지 않으면 자바에서 지원하는 프로토콜이 클라이언트 핸드셰이크의 옵션으로 전송됩니다.
  • 프로토콜을 완전히 사용 중지하여 메시지 프로세서에서 TLS v1.3을 사용 중지합니다. 메시지 프로세서에서 TLS 프로토콜 설정을 참조하세요.

메시지 프로세서에서 Java 버전 확인

메시지 프로세서에 설치된 자바 버전을 확인하려면 메시지 프로세서 노드에 로그인하고 다음 명령어를 실행합니다.

java -version

아래 샘플 출력은 OpenJDK 8u312가 설치된 것을 보여줍니다.

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

지원되는 암호화

현재 Java 8은 2개의 TLS v1.3 암호화를 지원합니다.

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

openssl를 사용하면 대상 서버가 TLS v1.3과 아래를 사용하여 위의 암호화 중 하나 이상을 지원하는지 확인할 수 있습니다. 이 예에서는 TLS v1.3이 사용 설정된 openssl11 유틸리티를 사용합니다.

$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3