Compute SSL 정책의 최소 TLS 버전 점검

필요한 클라이언트 호환성을 유지하면서 오래된 TLS 연결을 제한하세요.

설명

오래된 TLS 버전을 허용하는 SSL 정책은 현대적인 전송 보안 기준을 충족하지 못할 수 있습니다. 실제 협상 가능한 연결은 최소 TLS 버전과 프로필·암호 모음이 함께 결정하므로 이 설정들을 같이 검토해야 합니다.

정책은 실제 대상 HTTPS 또는 SSL 프록시에 연결되어야 적용됩니다. 클라이언트와 로드 밸런서 사이의 TLS 정책이며, 백엔드 연결의 암호화는 별도로 구성해야 합니다.

잠재적 영향

  • 허용된 오래된 프로토콜을 사용하는 연결은 조직의 보안 기준을 충족하지 못할 수 있습니다.
  • 호환성을 확인하지 않고 정책을 강화하면 필요한 클라이언트 연결이 실패할 수 있습니다.

해결 방법

지원되는 프로필과 암호 모음 조합에서 min_tls_version을 TLS_1_2 이상으로 설정하세요. 정책을 실제 프록시에 연결하고 필요한 클라이언트가 정상 연결되며 허용하지 않은 프로토콜은 거부되는지 시험하세요. 백엔드 전송 암호화도 별도로 확인하세요.

예시

SSL 정책 정의를 비교하는 발췌입니다. 정책·프로젝트 이름과 서비스 계정 JSON 파일 경로를 실제 값으로 바꾸세요. 프록시와 정책의 연결은 생략했습니다.

변경 전

yaml
- name: create a SSL policy
  google.cloud.gcp_compute_ssl_policy:
    name: test-ssl-policy
    profile: CUSTOM
    custom_features:
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

- name: create a SSL policy2
  google.cloud.gcp_compute_ssl_policy:
    name: test-ssl-policy2
    profile: CUSTOM
    min_tls_version: TLS_1_1
    custom_features:
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

최소 버전을 생략하거나 TLS_1_1로 둡니다. 나열된 두 GCM 암호 모음은 TLS 1.2용이므로, 이 값만으로 실제 TLS 1.1 연결이나 약한 암호 사용을 단정할 수는 없습니다.

변경 후

yaml
- name: create a SSL policy
  google.cloud.gcp_compute_ssl_policy:
    name: test-ssl-policy
    profile: CUSTOM
    min_tls_version: TLS_1_2
    custom_features:
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    project: test_project
    auth_kind: serviceaccount
    service_account_file: /tmp/auth.pem
    state: present

동일한 CUSTOM 암호 모음에 TLS_1_2를 명시합니다. 정책 연결과 실제 클라이언트의 TLS 협상 결과를 확인하세요.

참조