TLS 1.2 RSA 키교환 방식 취약점 해소 가이드

개요

  • TLS 1.2 환경에서 RSA 키교환 방식(Static RSA, kRSA)을 사용하는 Cipher Suite는 보안 취약점으로 분류된다.

  • Logpresso Sonar 4.0 버전대에서 해당 취약점을 해소하는 방법을 안내한다.

적용 대상

  • 제품: Logpresso Sonar

  • 취약 버전: 4.0.2511.1 이하 (JDK 11, JDK 21)

  • 검증 제품 버전: 4.0.2511.1

  • 패치 버전: 4.0.2511.3 이상

  • 대상 환경: TLS 1.2 RSA 키교환 방식 차단이 필요한 시스템

취약점 내용

TLS 1.2에서 RSA 키교환 방식(TLS_RSA_WITH_*)을 사용하는 경우, Forward Secrecy가 보장되지 않아 취약점에 해당된다.

취약 Cipher Suite 예시:

  • TLS_RSA_WITH_AES_256_GCM_SHA384

  • TLS_RSA_WITH_AES_128_GCM_SHA256

  • TLS_RSA_WITH_AES_256_CBC_SHA256

  • TLS_RSA_WITH_AES_128_CBC_SHA

취약 여부 확인 명령어:

openssl s_client -connect :443 -tls1_2 -cipher RSA

해결 방법: 2511.3 버전으로 패치

  • 4.0.2511.3 버전부터 kRSA(RSA 키교환 방식)가 자동 차단된다.

  • 참고사항

    • jdk 파라미터 수정(java.security 파일 설정)이나 logpresso.conf를 수동으로 설정하지 않아도 된다.

:light_bulb:참고사항: 패치 후 허용되는 Cipher Suite - 현 시점 보안도가 높다고 판단되는 알고리즘

TLS 1.2

  • ECDHE-RSA-AES128-GCM-SHA256

  • ECDHE-RSA-AES256-GCM-SHA384

  • ECDHE-RSA-CHACHA20-POLY1305

TLS 1.3

  • TLS_AES_128_GCM_SHA256

  • TLS_AES_256_GCM_SHA384

  • TLS_CHACHA20_POLY1305_SHA256

ECDHE 키교환 + GCM/CHACHA20 조합만 허용되며, kRSA / DHE / CBC 계열은 모두 차단된다.

패치 영향도

인바운드 (외부 → 로그프레소 서버)

  • 적용 포트: httpd 기반 포트

  • 예) 443, 8443, 18443, 44300

  • 취약한 Cipher Suite를 사용하는 클라이언트의 접속이 차단된다.

  • 최신 TLS 스펙을 사용하는 클라이언트는 영향 없음

아웃바운드 (로그프레소 서버 → 외부)

  • 인바운드 설정 변경이므로 아웃바운드 연결에는 영향 없음

기타 포트

  • 7140 포트: 영향 없음

  • 시스로그 TLS 수신: 별도 확인 필요

  • 노드 간 통신: httpd 기반 포트가 아닌 경우 영향 없음

패치 후 검증 방법

패치 후, 설정이 의도대로 적용되었는지 확인하기 위한 테스트를 진행하였고, 검증 방법을 설명한다.

  1. 보안성이 강화된 방식으로 잘 동작을 하는지 확인

    a. ECDHE를 사용한 TLS 1.2 프로토콜 정상 접속여부를 확인한다.

  2. 보안성이 취약한 방식의 확실히 차단이 되는지 확인

    b. 보안에 취약한 RSA 키 교환 방식(AES256-GCM-SHA384)의 정상 차단여부를 확인한다.


# 정상 접속 확인 (ECDHE 계열 - 허용됨)

openssl s_client -connect <로그프레소 Svr IP>:443 -tls1_2 -cipher ECDHE-RSA-AES256-GCM-SHA384

→ 접속 성공 확인

# RSA 키교환 차단 확인 (kRSA - 차단됨)

openssl s_client -connect <로그프레소 Svr IP>:443 -tls1_2 -cipher AES256-GCM-SHA384

→ Handshake Failure 확인

결론

  • 이번 패치를 통해 로그프레소 서버는 시스템 연결(SSL/TLS) 통신의 보안 가이드라인을 준수할 수 있다.

참고사항

  • JDK 11 → JDK 21 업그레이드를 병행하는 것을 권장한다.

  • JDK 21 기준 기본 허용 Cipher Suite: ECDHE-RSA-AES128/256-GCM-SHA256/384, ECDHE-RSA-CHACHA20-POLY1305

  • jdk 파라미터 수정(jdk.tls.disabledAlgorithms 수동 설정)은 연결 호환성 문제를 유발할 수 있어 제조사에서 권고하지 않는다.

  • 2511.3 버전에서는 JDK 11/21 모두 kRSA가 기본 차단된다.

2개의 좋아요