Enviando atualizações do DNSSEC com chaves off-line

1

Em uma capacidade não profissional, eu cuido do DNS de cerca de 18 domínios: principalmente domínios pessoais / de vaidade para a família imediata. Todo o shebang é terceirizado para um provedor de hospedagem gerenciada barato que tem uma interface web através da qual eu gerencio as zonas.

Esses domínios são tão pouco importantes que um ataque direcionado a eles parece muito menos provável do que um comprometimento geral dos sistemas do meu provedor, quando os registros de todos os clientes podem ser alterados para tráfego indevido (talvez com TTLs extremamente longos). O DNSSEC poderia mitigar esse ataque, mas somente se as chaves privadas das regiões não forem mantidas pelo provedor de hospedagem.

Então, eu me pergunto: como se pode manter as chaves privadas DNSSEC offline ainda transferindo zonas assinadas para um host DNS terceirizado?

A resposta mais óbvia (para mim, pelo menos) é executar o próprio shadow / hidden master (do qual o provedor pode escravo) e depois copiar os zonefiles off-line-assinados para o master, conforme necessário.

O problema é que a única máquina que eu quero ( * ) é meu laptop pessoal, que normalmente se conecta a partir de um ADSL residencial típico (por exemplo, por meio de um endereço IP dinamicamente atribuído). Tê-los escravo disso (por exemplo, com um tempo muito longo Expiry na zona para períodos em que meu laptop está offline / indisponível) exigiria não apenas um registro DNS dinâmico do qual eles podem escravo (se de fato puderem ser escravos de um nome host em vez de um endereço IP explícito), mas também envolveria a execução de um servidor DNS no meu laptop e a abertura dele e da minha rede doméstica para as solicitações de transferência de zona de entrada: não ideal.

Eu preferiria um design muito mais orientado a push, pelo qual meu laptop inicia a transferência de arquivos de zona / atualizações assinadas off-line para o provedor.

Eu olhei se nsupdate poderia caber a conta: documentação é um pouco superficial, mas meu teste (com BIND 9.7) sugere que ele pode realmente atualizar zonas DNSSEC, mas somente onde o servidor possui as chaves para executar a assinatura de zona ; Eu não encontrei uma maneira de ter uma atualização, incluindo o relevante RRSIG / NSEC / etc. registros e fazer com que o servidor os aceite. Este é um caso de uso suportado?

Se não, suspeito que as únicas soluções que poderiam se adequar à lei envolverão a transferência não baseada em DNS das atualizações de zona e receberão recomendações que sejam suportadas por provedores de hospedagem (esperançosamente baratos): SFTP / SCP? rsync? Replicação RDBMS? API proprietária?

Finalmente, quais seriam as implicações práticas de tal configuração? A rotação de chaves está saltando em mim como sendo uma dificuldade óbvia, especialmente se meu laptop estiver off-line por longos períodos. Mas as zonas são extremamente estáveis, então talvez eu pudesse me safar com ZSKs de longa duração ** ...

* Embora eu possa executar um mestre oculto / sombrio em, e. um VPS terceirizado, eu não gosto da sobrecarga de ter que proteger / gerenciar / monitorar / manter ainda outro sistema; sem mencionar os custos financeiros adicionais disso.

** Ok, isso permitiria que um invasor determinado reproduzisse registros expirados, mas o risco e o impacto de ambos seriam toleráveis no caso desses domínios.

    
por eggyal 14.11.2011 / 09:59

1 resposta

2

Seu problema não é tanto a rotação de chaves, como RRSIG expiry.

As chaves normalmente têm tempos de vida medidos no período de seis meses a três anos, e há uma crescente escola de pensamento que diz que você nem deveria rodar suas chaves.

No entanto, para evitar ataques de repetição, você precisa assinar novamente todos os seus registros regularmente, e a validade RRSIG é comumente do período de 1 a 2 semanas.

Se você mesmo assinasse a zona e a transferisse para um host, você precisaria fazer isso antes de cada evento de expiração do RRSIG, ao mesmo tempo considerando o vencimento do TTL, etc. (consulte draft-ietf-dnsop-dnssec-key-timing e RFC 4641 ).

Se o seu provedor de DNS estiver fazendo as coisas corretamente, eles devem ter uma chave de assinatura de chaves (muito) de longa duração , que deve ser mantida em um módulo de segurança de hardware e só colocada on-line quando necessário. impenetrável.

Somente a chave de assinatura de zona precisa ser mantida on-line.

    
por 14.11.2011 / 11:48