Resumo

  • O draft-ietf-rpp-core-01, datado de 2 de novembro, acrescenta regras de redirecionamento ao protocolo de provisionamento discutido por um grupo de trabalho do IETF. Ainda é um Internet-Draft.
  • O servidor só pode usar HTTP 307 ou 308 com URL HTTPS absoluta. Se seguir o desvio, o cliente preserva corpo e cabeçalhos da requisição, inclusive RPP-Cltrid.
  • Uma origem diferente não recebe automaticamente Authorization ou RPP-Authorization: o cliente precisa conhecer uma relação de alias ou possuir credenciais válidas para o novo destino.

A placa de mudança não abre o cofre

Quem opera um registro pode precisar trocar o endereço do serviço de provisionamento. Quem opera um registrador pode estar prestes a criar, alterar ou transferir um domínio. Quando uma requisição desse tipo recebe um novo destino, há uma pergunta simples e cara: a indicação de endereço também autoriza a entrega das credenciais? A versão de 2 de novembro do RPP responde separando rota de confiança.

O primeiro cuidado é com a operação. Um servidor RPP deve responder apenas com 307 ou 308, códigos que mantêm o método HTTP, e apontar uma URL HTTPS absoluta. O cliente pode seguir. Se seguir, precisa reenviar o mesmo conteúdo e os mesmos cabeçalhos, inclusive RPP-Cltrid, que identifica a transação para fins de idempotência. Outros códigos de redirecionamento, mesmo vindos de um intermediário, são erro de protocolo. Uma biblioteca HTTP genérica não ganha licença para transformar uma escrita em leitura no meio do caminho.

O segundo cuidado é com os segredos. Ao mudar de origem, o cliente não deve encaminhar Authorization nem RPP-Authorization. Há duas exceções delimitadas: ele sabe que a nova origem é um alias da anterior, ou tem credenciais válidas para a nova origem e usa essas credenciais. A decisão depende de conhecimento e configuração do cliente; não nasce do cabeçalho Location enviado pelo servidor.

A revisão também manda validar a cadeia do certificado TLS e sua correspondência com o nome do host da URL antes de enviar qualquer requisição. Falhou a validação, nada é enviado. Descobrir o endereço de um serviço, reconhecer o servidor e autorizar o uso de uma credencial são três controles distintos.

O texto ainda não é RFC e não apresenta implantação ou incidente medido. A notícia é a regra proposta: controlar a porta de entrada de um registro não equivale a controlar as chaves que um registrador carrega.

Fontes originais