Posso impedir o BIND de enviar código de resposta para consultas incorretas?

Posso impedir o BIND de enviar código de resposta para consultas incorretas?

Estou executando um servidor DNS de ligação autoritativo. Estou seguindo todas as práticas recomendadas e meu servidor é apenas autorativo (não recursivo) com limitação de taxa habilitada.

O BIND responde a consultas para zonas não autorizadas com código REFUSE. A limitação de taxa está fazendo seu trabalho evitando que meu servidor participe de qualquer ataque de amplificação udp em grande escala; no entanto, eu preferiria eliminar toda e qualquer resposta para zonas nas quais não tenho autoridade.

Existe opção de configuração para isso?

Responder1

Embora não responder no cenário exato que você descreve na pergunta (consulta falsificada em um possível ataque de amplificação, alternativamente, sondar se o seu servidor é utilizável em tal ataque) seria aceitável, pois nenhum resolvedor está realmente aguardando sua resposta, o problema é que não responder às consultas pode causar problemas reais e sua solução proposta é mais ampla do que o cenário exato que você descreveu inicialmente (considere que alguma zona que você realmente não possui pode ser delegada ao seu servidor de nomes, seja por acidente ou intencionalmente).

Não responder às consultas geralmente não é visto como uma boa prática para servidores de nomes autorizados. As razões para isso incluem:

  • Os servidores resolvedores rastreiam a capacidade de resposta/confiabilidade dos servidores autorizados com os quais estão lidando para melhorar sua própria capacidade de resposta. Isso é feito servidor por servidor, não consulta por consulta. Ou seja, você pode prejudicar a confiabilidade percebida atual do seu servidor de nomes se acabar não respondendo a consultas (potencialmente mal direcionadas) de fontes legítimas. Pode ser possível enganar os resolvedores para que considerem que seu servidor de nomes está totalmente inativo (temporariamente, mas possivelmente repetidamente)
  • Se não responder também pode acabar afetando consultas "boas" (talvez baseadas em alta taxa de consulta, por exemplo?), o que pode causar problemas adicionais que podem não ser óbvios à primeira vista, como aumento do risco de ataques bem-sucedidos de envenenamento de cache para quaisquer zonas não assinadas que você atende (especialmente se um invasor puder induzir a queda de sua consulta de maneira confiável)

Em vez disso, você geralmente deseja limitar o tamanho das respostas para não fornecer realmente a amplificação procurada pelos invasores (o que parece que você já está fazendo):

  • Consultas que não correspondem a nenhuma zona (como no seu exemplo) devem receber uma REFUSEDresposta vazia (antigamente era comum enviar uma resposta de referência completa para a raiz)
  • Implementando a limitação de taxa, você provavelmente desejará enviar TCrespostas vazias truncadas (definidas) em vez de não responder, onde se um servidor resolvedor legítimo real acabar com taxa limitada, eles receberão uma resposta e sendo sinalizado como truncado apenas os acionará para reenviar seus consultar sobre TCP em vez disso
  • O ANYtipo de consulta tem utilidade real limitada em primeiro lugar, e às vezes é ainda mais limitado no interesse de evitar formas de gerar respostas grandes. (Comominimal-anyem BIND)
  • (E, claro, absolutamente não permitindo a recursão para a Internet em geral)

Quanto a não responder com BIND, o recurso que permite não responder é o Response Rate Limiting (RRL), que possui um slipparâmetro de configuração para controlar a proporção de truncamento versus queda quando alguém atinge o limite de taxa. No entanto, observe que a eliminação é mais relevante para um servidor resolvedor e não para um servidor autoritativo (conforme explicação anterior). Isto também é notado emSeção RRL do manual BIND:

(Observação: as respostas descartadas de um servidor autoritativo podem reduzir a dificuldade de terceiros forjarem com êxito uma resposta a um resolvedor recursivo. A melhor segurança contra respostas forjadas é que os operadores autorizados assinem suas zonas usando DNSSEC e que os operadores do resolvedor validem as respostas . Quando esta não for uma opção, os operadores que estão mais preocupados com a integridade da resposta do que com a mitigação de inundações podem considerar definir o deslizamento como 1, fazendo com que todas as respostas com taxa limitada sejam truncadas em vez de descartadas. Isto reduz a eficácia da limitação de taxa contra a reflexão. ataques.)

Se você estiver em uma situação terrível onde uma compensação diferente realmente faz sentido, você pode considerar o slipbotão mencionado acima de qualquer maneira, ou alguma ferramenta com um conjunto diferente de botões de limitação de taxa, comodnsdist.
No entanto, se estes são apenas os níveis normais de ruído de fundo, você provavelmente está causando novos problemas com pouco ganho ao tentar resolvê-los.

informação relacionada