Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

데이터 연결의 TLS와 에이전트 보안

Data Connection은 외부 데이터 원천에 외부 방향 TLS 연결을 만듭니다. 사용할 수 있는 암호 스위트(Cipher suite)는 환경에 따라 다르므로, 연결을 구성할 때 대상 시스템과 실행 환경이 공통으로 지원하는 암호 스위트를 확인해야 합니다.

아래 스위트는 기반 Java 버전이 지원하는 경우 사용할 수 있습니다. 실행 환경의 구성과 연결이 시작되는 위치에 따라 추가 스위트를 사용할 수도 있으며, 해당 환경의 지원 범위는 Palantir 지원팀을 통해 확인할 수 있습니다.

TLS 1.3

IANA 이름OpenSSL 이름
TLS_AES_256_GCM_SHA384TLS_AES_256_GCM_SHA384
TLS_AES_128_GCM_SHA256TLS_AES_128_GCM_SHA256
TLS_CHACHA20_POLY1305_SHA256TLS_CHACHA20_POLY1305_SHA256

TLS 1.2

IANA 이름OpenSSL 이름
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384ECDHE-ECDSA-AES256-GCM-SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256ECDHE-ECDSA-AES128-GCM-SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256ECDHE-ECDSA-CHACHA20-POLY1305
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384ECDHE-RSA-AES256-GCM-SHA384
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256ECDHE-RSA-CHACHA20-POLY1305
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE-RSA-AES128-GCM-SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384DHE-RSA-AES256-GCM-SHA384
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256DHE-RSA-CHACHA20-POLY1305
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384DHE-DSS-AES256-GCM-SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE-RSA-AES128-GCM-SHA256
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256DHE-DSS-AES128-GCM-SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384ECDHE-ECDSA-AES256-SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384ECDHE-RSA-AES256-SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256ECDHE-ECDSA-AES128-SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256ECDHE-RSA-AES128-SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256DHE-RSA-AES256-SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256DHE-DSS-AES256-SHA256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256DHE-RSA-AES128-SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256DHE-DSS-AES128-SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHAECDHE-ECDSA-AES256-SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHAECDHE-RSA-AES256-SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHAECDHE-ECDSA-AES128-SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHAECDHE-RSA-AES128-SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHADHE-RSA-AES256-SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHADHE-DSS-AES256-SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHADHE-RSA-AES128-SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHADHE-DSS-AES128-SHA

외부 시스템과의 협상 확인

TLS 버전과 암호 스위트를 선택할 수 있는 OpenSSL로 대상 시스템의 수락 여부를 확인할 수 있습니다. 다음은 가상의 source.example.com이 443번 포트에서 서비스를 제공하는 경우의 예시입니다. 실제 호스트와 포트로 바꾸어 사용합니다.

openssl s_client -connect source.example.com:443 -tls1_3 </dev/null

TLS 1.2를 확인하려면 버전 옵션을 바꿉니다.

openssl s_client -connect source.example.com:443 -tls1_2 </dev/null

협상된 암호 스위트는 출력의 Cipher 항목에서 확인합니다. 출력 형식에 따라 SSL-Session 블록 등에 표시됩니다.

특정 스위트 하나를 시험할 때는 TLS 버전에 맞는 옵션과 이름을 사용합니다.

TLS 버전옵션이름 형식
1.3-ciphersuitesIANA 이름
1.2-cipherOpenSSL 이름
openssl s_client -connect source.example.com:443 -tls1_3 \
  -ciphersuites 'TLS_AES_256_GCM_SHA384' </dev/null

openssl s_client -connect source.example.com:443 -tls1_2 \
  -cipher 'ECDHE-RSA-AES256-GCM-SHA384' </dev/null

SSLHandshakeException에 다음 메시지가 포함되면 TLS 버전과 암호 스위트 설정이 맞는지 확인해야 합니다.

  • handshake_failure
  • no cipher match
  • protocol is disabled or cipher suites are inappropriate

암호 스위트가 맞지 않는 경우 외부 시스템에서 지원 목록 중 적절한 스위트를 활성화하도록 구성합니다. 소스 터미널에서도 OpenSSL을 실행할 수 있으므로, 소스가 실제로 사용하는 네트워크 경로에서 확인하는 방법을 사용할 수 있습니다.

에이전트 호스트의 취약점 검사 결과

에이전트 호스트를 검사하는 도구가 이전 버전의 에이전트나 커넥터 플러그인 파일을 취약한 파일로 보고할 수 있습니다. 이런 파일은 대체로 더 이상 로드하거나 실행하지 않는 비활성 파일입니다. 검출된 파일이 실제로 사용 중인지 현재 구성 요소의 버전과 비교하여 확인해야 합니다.

정상적인 업그레이드 과정에서도 이전 버전의 파일이 남을 수 있습니다. 교체된 버전은 호스트에 최대 30일 동안 유지된 뒤 자동으로 삭제됩니다.

CVE를 포함한 보안 문제의 수정은 새 버전으로 제공됩니다. 에이전트는 설정한 업그레이드 시간대에 사용할 수 있는 최신 버전으로 자동 갱신하므로, 각 에이전트의 업그레이드 시간대를 구성하고 버전과 취약점 검사 결과를 주기적으로 확인해야 합니다.

30일 동안의 자동 정리를 기다리지 않고 검출된 파일을 없애야 한다면, 현재 사용 중인 버전을 확인한 뒤 사용하지 않는 이전 백업, 캐시와 보관된 플러그인 버전을 제거할 수 있습니다.