管理 DNSSEC 設定

本頁說明如何啟用及停用網域名稱系統安全性擴充功能 (DNSSEC),以及如何驗證 DNSSEC 部署作業。

如需 DNSSEC 的概念總覽,請參閱 DNSSEC 總覽

為現有的代管公開區域啟用 DNSSEC

如要為現有的代管公開區域啟用 DNSSEC,請按照下列步驟操作。

主控台

  1. 前往 Google Cloud 控制台的「Cloud DNS」頁面。

    前往 Cloud DNS

  2. 按一下要啟用 DNSSEC 的可用區名稱。

  3. 在「Zone details」(區域詳細資料) 頁面中,按一下「Edit」(編輯)

  4. 在「Edit a DNS zone」頁面中,按一下「DNSSEC」

  5. 在「DNSSEC」下方,選取「開啟」

  6. 按一下 [儲存]

您為可用區選取的 DNSSEC 狀態會顯示在「Cloud DNS」頁面的「DNSSEC」欄中。

gcloud

執行下列指令:

gcloud dns managed-zones update EXAMPLE_ZONE \
    --dnssec-state on

EXAMPLE_ZONE 替換為區域 ID。

Terraform

resource "google_dns_managed_zone" "example" {
  name        = "example-zone-name"
  dns_name    = "example.com."
  description = "Example Signed Zone"
  dnssec_config {
    state = "on"
  }
}

建立區域時啟用 DNSSEC

如要在建立區域時啟用 DNSSEC,請按照下列步驟操作。

主控台

  1. 前往 Google Cloud 控制台的「Cloud DNS」頁面。

    前往 Cloud DNS

  2. 按一下 [Create zone] (建立區域)。

  3. 在「可用區名稱」欄位中輸入名稱。

  4. 在「DNS 名稱」欄位中輸入名稱。

  5. 在「DNSSEC」下方,選取「開啟」

  6. 選用步驟:新增說明。

  7. 按一下 [建立]。

    建立 DNSSEC 簽署區域

gcloud

執行下列指令:

gcloud dns managed-zones create EXAMPLE_ZONE \
    --description "Signed Zone" \
    --dns-name myzone.example.com \
    --dnssec-state on

EXAMPLE_ZONE 替換為區域 ID。

驗證 DNSSEC 部署

如要驗證啟用 DNSSEC 的區域是否正確部署,請確認您已在父區域中放置正確的 DS 記錄。如果發生下列任一情況,DNSSEC 解析可能會失敗:

  • 設定錯誤或輸入錯誤。
  • 您在父區域中放置了錯誤的 DS 記錄。

如要確認設定正確無誤,並在將 DS 記錄放入父區之前交叉檢查,請使用下列工具:

您可以使用 Verisign DNSSEC 偵錯工具和 Zonemaster 網站,在更新註冊商的 Cloud DNS 名稱伺服器或 DS 記錄之前,驗證 DNSSEC 設定。網域已妥善設定 DNSSEC 的範例為 example.com,可透過 DNSViz 查看。

建議的 DNSSEC 簽署區域存留時間設定

TTL 是 DNSSEC 簽署區域的存留時間 (以秒為單位)。

與存留時間的到期時間不同,這是名稱伺服器傳送查詢回應的相對時間,DNSSEC 簽名會於固定的絕對時間到期。TTL 的設定時間超過簽名有效時間,會造成 DNSSEC 簽名到期時許多用戶端同時要求記錄。TTL 時間太短也會造成 DNSSEC 驗證解析器發生問題。

如需更多有關存留時間選擇的建議,請參閱 RFC 6781 4.4.1 節「時間考量」RFC 6781 圖 11

閱讀 RFC 6781 的第 4.4.1 節時,請注意許多簽名時間參數都已由 Cloud DNS 固定設定,您無法變更。您無法變更下列參數 (如有變更,恕不另行通知或更新本文件):

  • Inception 偏移 = 1 天
  • 有效期限 = 21 天
  • 重新簽署期間 = 3 天
  • 重新整理期間 = 18 天
  • 時基誤差間隔 = ½ 天 (或 ±6 小時)
  • 簽名有效性最短期間 = 重新整理 – 時基誤差 = 17.75 天 = 1533600

永遠不得使用值大於簽名有效性最短時間的 TTL。

停用代管區域的 DNSSEC

移除 DS 記錄並等到這些記錄在快取中到期後,您就可以使用下列 gcloud 指令關閉 DNSSEC:

gcloud dns managed-zones update EXAMPLE_ZONE \
    --dnssec-state off

EXAMPLE_ZONE 替換為區域 ID。

後續步驟