Como resolvo erros de CAA ao emitir ou renovar um certificado ACM?

7 minuto de leitura
0

Solicitei um novo certificado ou tentei renovar um certificado com o AWS Certificate Manager (ACM). O status do nome de domínio é “Falha” e recebi um erro semelhante ao seguinte: “Request failed. The status of this certificate is “Failed”. One or more domain names have failed validation due to a Certificate Authority Authentication (CAA) error.” O status de validação é “Êxito”, mesmo que a solicitação do certificado tenha falhado.

Breve descrição

Um registro de Certificate Authority Authorization (CAA – Autorização de Autoridade de Certificação) é um registro DNS que permite controlar qual Certificate Authority (CA – Autoridade de Certificação) pode emitir certificados para seu domínio ou subdomínio. Ao solicitar ou renovar um certificado ACM, o ACM verifica os registros de CAA para verificar se o proprietário do domínio permite que o ACM emita um certificado SSL para o domínio. As verificações de CAA realizadas têm as seguintes condições:

  • A verificação de registros do CAA avança no sentido ascendente na árvore de nomes do DNS
  • A ausência de registro de CAA significa que qualquer CA pode emitir certificados
  • A verificação de registros CAA segue o registro CNAME
  • A tag “issue” pode ser usada tanto para domínio não curinga quanto para domínio curinga, enquanto a tag “issuewild” afeta somente o domínio curinga

Resolução

A verificação de registros do CAA avança no sentido ascendente na árvore de nomes do DNS

A verificação de registros do CAA começa no domínio da solicitação e, em seguida, avança em sentido ascendente na árvore de nomes do DNS. Se você solicitar um certificado para www.exemplo.com, o ACM verificará primeiro o registro CAA do domínio de terceiro nível www.exemplo.com, seguido pelo nome de domínio de segundo nível example.com.

Depois que o registro do CAA é encontrado, a pesquisa do CAA é interrompida e o registro entra em vigor. Os exemplos a seguir mostram qual registro CAA entra em vigor quando você solicita um certificado para www.example.com:

(Example 1 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issue   "SomeCA.com"

(Result: CAA passed)

O registro do nome de domínio de terceiro nível entra em vigor, o que permite que o ACM emita o certificado. O registro de nome de domínio de segundo nível não é usado.

(Example 2 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "SomeCA.com"
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA failed)

O primeiro registro entra em vigor, o que impede o ACM de emitir o certificado. O segundo registro é ignorado.

(Example 3 / www.example.com)
Domain   Record type  Flags  Tag      Value   
test.example.com.   CAA           0      issue   "SomeCA.com"
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

O primeiro registro não afeta o registro CAA para www.example.com. O segundo registro entra em vigor, o que permite que o ACM emita o certificado.

Os exemplos a seguir mostram qual registro CAA entra em vigor quando você solicita um certificado para example.com:

(Example 4 / example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issue   "SomeCA.com"

(Result: CAA failed)

O primeiro registro não é considerado porque www.exemplo.com é um subdomínio do domínio solicitado e a verificação de registros do CAA não avança em sentido descendente na árvore do DNS. O segundo registro entra em vigor, o que impede o ACM de emitir o certificado.

(Example 5 / example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   "SomeCA.com"
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

O primeiro registro é ignorado porque www.exemplo.com é um subdomínio do domínio solicitado e a verificação de registros do CAA não avança em sentido descendente na árvore de nomes do DNS. O segundo registro entra em vigor, o que permite que o ACM emita o certificado.

A ausência de registro de CAA significa que qualquer CA pode emitir certificados

Se você não configurar um registro CAA para o domínio solicitado, qualquer CA, incluindo o ACM, poderá emitir certificados para seu domínio. Por exemplo, o ACM pode emitir certificados para example.com no exemplo a seguir:

(Example 6 / example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issue   ";"

(Result: CAA passed)

Como a verificação de CAA não avança em sentido descendente na árvore do DNS, o registro é ignorado.

A verificação de registros CAA segue o registro CNAME

A verificação do registro CAA prossegue com o registro CNAME apontando para um domínio diferente. Neste exemplo, www.example.com aponta para www.example.net, que tem um registro CAA:

(Example 7 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CNAME www.example.net
www.example.net.   CAA           0      issue   ";"

(Result: CAA failed)

O primeiro registro desvia a verificação do CAA para www.example.net. Esse registro CAA impede que qualquer CA emita certificados, e o ACM não pode emitir certificados para www.example.com.

Se o domínio apontado (www.example.net) não tiver um registro CAA, a verificação de registros da CAA será movida para o domínio base (example.com).

(Example 8 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CNAME www.example.net
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

Nesse cenário, o ACM pode emitir certificados para www.example.com porque www.example.net não tem nenhum registro CAA configurado. Observe que a verificação de registros CAA não passa para o pai de um registro CNAME, e o registro CAA de example.net não é verificado. Para mais informações, consulte o ANEXO A em Baseline requirements for the issuance and management of publicly trusted certificates.

A tag “issue” pode ser usada tanto para domínio não curinga quanto para domínio curinga, enquanto a tag “issuewild” afeta somente o domínio curinga

A tag “issue” permite que a CA emita certificados para domínios não curinga (www.exemplo.com) e domínios curinga (*.example.com). Você pode usar a tag “issuewild” para indicar como uma CA lida com domínios curinga. Os exemplos a seguir mostram qual registro CAA entra em vigor quando você solicita um certificado para *.example.com:

(Example 9 / *.example.com)
Domain   Record type  Flags  Tag      Value   
example.com.   CAA           0      issue   "amazon.com"

(Result: CAA passed)

O registro CAA permite que o ACM emita um domínio não curinga e um certificado de domínio curinga, e o ACM pode emitir o certificado.

(Example 10 / *.example.com)
Domain   Record type  Flags  Tag      Value   
example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issuewild   ";"

(Result: CAA failed)

O campo de tag “issuewild” substitui “issue” para uma solicitação de domínio curinga, e o ACM não pode emitir o certificado.

Observação: você deve configurar um registro CAA para example.com para permitir que a CA emita certificados para *.example.com.

(Example 11 / *.example.com)
Domain   Record type  Flags  Tag      Value   
*.example.com.   CAA           0      issuewild   "amazon.com"
example.com.   CAA           0      issuewild   ";"

(Result: CAA failed)

O primeiro registro do CAA é ignorado e o segundo registro do CAA impede que a CA emita certificados para *.example.com.

O exemplo a seguir mostra qual registro CAA entra em vigor quando você solicita um certificado para *.test.example.com:

(Example 12 / *.test.example.com)
Domain   Record type  Flags  Tag      Value   
test.example.com.   CAA           0      issue   "amazon.com"
example.com.   CAA           0      issuewild   ";"

(Result: CAA passed)

A verificação do CAA localiza o primeiro registro, encerra a movimentação para cima na árvore de nomes do DNS e permite que o ACM emita o certificado.

A tag “issuewild” é ignorada quando você solicita um domínio não curinga. Este exemplo mostra qual registro CAA entra em vigor quando você solicita um certificado para www.example.com:

(Example 13 / www.example.com)
Domain   Record type  Flags  Tag      Value   
www.example.com.   CAA           0      issuewild   "amazon.com"
example.com.   CAA           0      issue   ";"

(Result: CAA failed)

Essa é uma solicitação de domínio não curinga, portanto, o primeiro registro CAA é ignorado. O segundo registro CAA entra em vigor e a CA não tem permissão para emitir o certificado.

Para obter mais informações sobre a criação de um registro CAA, consulte (Opcional) Configurar um registro de CAA.


Informações relacionadas

DNS Certification Authority Authorization (CAA) resource record

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos