Veja as chaves DNSSEC

Esta página descreve como ver as chaves das Extensões de Segurança do Sistema de Nomes de Domínio (DNSSEC).

Para uma vista geral conceptual das DNSSEC, consulte a vista geral das DNSSEC.

Um DNSKEY é um tipo de registo de DNS que contém uma chave de assinatura pública. Se estiver a migrar uma zona assinada com DNSSEC para outro operador DNS, pode ter de ver os registos DNSKEY. O processo de migração na RFC 6781 requer a importação das DNSKEYs da chave de assinatura de zona (ZSK) e da chave de assinatura de chaves (KSK) da zona DNS da Google Cloud para a zona do outro operador.

Se tiver ativado as DNSSEC para uma zona, o Cloud DNS gere automaticamente a criação e a rotação de chaves DNSSEC (registos DNSKEY) e a assinatura de dados de zona com registos de assinatura digital de registo de recurso (RRSIG). O Cloud DNS não suporta a rotação automática de KSKs porque as rotações de KSK requerem atualmente interação manual com o registador de domínios. No entanto, o Cloud DNS realiza rotações de ZSK totalmente automáticas. Pode ver as DNSKEYs geridas automaticamente com a CLI do Google Cloud ou a API REST.

Antes de começar

Antes de poder ver as chaves DNSSEC, tem de ter criado uma zona gerida e ativado as DNSSEC para a zona para que os registos DNSKEY sejam criados.

Apresente as DNSKEYs atuais

Para apresentar os registos de DNSKEY atuais da sua zona, siga estes passos.

gcloud

Para os seguintes exemplos de linha de comandos gcloud, pode especificar o parâmetro --project para operar num projeto específico.

Para imprimir todas as DNSKEYs no formato JSON, use o comando gcloud dns dns-keys list:

gcloud dns dns-keys list --zone ZONE_NAME

Substitua ZONE_NAME pelo nome da zona gerida.

Para apresentar os detalhes de uma DNSKEY especificada no formato JSON, use o comando gcloud dns dns-keys describe:

gcloud dns dns-keys describe DNSKEY_ID --zone ZONE_NAME

Substitua o seguinte:

  • DNSKEY_ID: o ID da DNSKEY para a qual quer ver detalhes
  • ZONE_NAME: o nome da zona gerida

API

Para imprimir todas as DNSKEYs numa coleção ResourceRecordSet, use o método dnsKeys.get com um corpo do pedido vazio:

GET https://dns.googleapis.com/dns/v1/projects/PROJECT/managedZones/ZONE_NAME/dnsKeys

Substitua o seguinte:

  • PROJECT: o nome ou o ID do projeto de DNS
  • ZONE_NAME: o nome da zona gerida

O resultado é semelhante ao seguinte:

{
  "kind": "dns#dnsKeysListResponse",
  "header": {
    "operationId": string
  },
  "dnsKeys": [
    dnsKeys Resource
  ],
  "nextPageToken": string
}

Para apresentar os detalhes de uma DNSKEY especificada no formato JSON, use o método dnsKeys DNSKEY_ID.get com um corpo do pedido vazio:

GET https://dns.googleapis.com/dns/v1/projects/PROJECT/managedZones/ZONE_NAME/dnsKeys/DNSKEY_ID

Substitua o seguinte:

  • PROJECT: o nome ou o ID do projeto de DNS
  • ZONE_NAME: o nome da zona gerida
  • DNSKEY_ID: o ID da DNSKEY para a qual quer ver detalhes

Python

  from apiclient import errors
  from apiclient.discovery import build

  PROJECT_NAME= 'PROJECT_NAME'
  ZONE_NAME= 'ZONE_NAME'

  try:
    service = build('dns', 'v1')
    response = service.dnskeys().list(project=PROJECT_NAME,
                                      managedZone=ZONE_NAME).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

  try:
    response = service.dnskeys().list(project=PROJECT_NAME,
                                      managedZone=ZONE_NAME,
                                      keyId=KEY_ID).execute()
  except errors.HttpError, error:
    print 'An error occurred: %s' % error

Substitua o seguinte:

  • PROJECT_NAME: o nome ou o ID do seu projeto de DNS
  • ZONE_NAME: o nome da zona gerida

O que se segue?