설명
RSASHA1은 SHA-1을 사용하는 DNSSEC 서명 알고리즘으로 새 서명에 권장되지 않습니다. 서비스가 받아들이는 알고리즘이라도 조직의 암호화 기준과 현재의 보안 권고를 충족하는지 확인해야 합니다.
DNSSEC는 DNS 데이터의 출처와 무결성을 검증하며 전송 내용을 암호화하지 않습니다. 알고리즘 전환에는 영역의 서명 상태와 상위 영역의 DS 레코드가 함께 영향을 받습니다.
잠재적 영향
- 오래된 서명 알고리즘을 계속 사용하면 암호화 보안 기준을 충족하지 못할 수 있습니다.
- 전환 과정에서 DS 레코드나 키가 맞지 않으면 검증 실패로 이름 해석이 중단될 수 있습니다.
해결 방법
Cloud DNS와 검증 클라이언트가 지원하는 권장 알고리즘으로 키 구성을 전환하세요. default_key_specs에 키 서명용과 영역 서명용 설정을 올바르게 제공하세요. 이미 서명 중인 영역은 Cloud DNS의 절차에 따라 DS 레코드와 TTL을 조정하고 실제 이름 해석을 검증하세요.
예시
아직 DNSSEC를 활성화하지 않은 영역의 키 구성을 비교합니다. default_key_specs는 DNSSEC가 꺼진 상태에서 변경할 수 있습니다. 영역·프로젝트와 서비스 계정 JSON 파일 경로를 실제 값으로 바꾸세요.
변경 전
yaml
- name: create a managed zone
google.cloud.gcp_dns_managed_zone:
name: test-zone
dns_name: test.somewild2.example.com.
description: test zone
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
dnssec_config:
default_key_specs:
- algorithm: rsasha1
key_type: keySigning
key_length: 2048
- algorithm: rsasha1
key_type: zoneSigning
key_length: 2048
state: "off"
키 서명용·영역 서명용 키에 rsasha1을 지정합니다. state가 "off"이므로 이 예시 자체는 DNSSEC 서명을 활성화하지 않습니다.
변경 후
yaml
- name: create a managed zone
google.cloud.gcp_dns_managed_zone:
name: test-zone
dns_name: test.somewild2.example.com.
description: test zone
project: test_project
auth_kind: serviceaccount
service_account_file: /tmp/auth.pem
state: present
dnssec_config:
default_key_specs:
- algorithm: rsasha256
key_type: keySigning
key_length: 2048
- algorithm: rsasha256
key_type: zoneSigning
key_length: 2048
state: "off"
두 키 유형에 rsasha256을 지정합니다. 여전히 DNSSEC는 꺼져 있으므로 운영에 적용할 때는 별도로 서명과 상위 영역의 신뢰 연결을 구성해야 합니다.