개요
-
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를 수동으로 설정하지 않아도 된다.
참고사항: 패치 후 허용되는 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 기반 포트가 아닌 경우 영향 없음
패치 후 검증 방법
패치 후, 설정이 의도대로 적용되었는지 확인하기 위한 테스트를 진행하였고, 검증 방법을 설명한다.
-
보안성이 강화된 방식으로 잘 동작을 하는지 확인
a. ECDHE를 사용한 TLS 1.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가 기본 차단된다.