Com a recursão desativada, você provavelmente já é essencialmente um desperdício dos recursos do invasor (você envia pequenas respostas REFUSED
em vez da grande resposta à consulta ANY
que eles tentaram, portanto, nenhuma amplificação mais) Ainda não percebi que eles provavelmente tirariam muito mais do uso de outros recursores abertos. Pode ser que a enxurrada de consultas acabe em breve.
Como você observou, o mecanismo interno no BIND é Limitação da taxa de resposta , que pode ser ajustada de diferentes maneiras envolvendo o envio de respostas truncadas para acionar clientes reais para alternar para TCP (útil para respostas normais, mas você já está enviando REFUSED
) ou descartando respostas de imediato. No entanto, ele é projetado para manter o serviço o mais disponível possível, o que significa não excluir completamente ninguém.
Um bom ponto da seção RRL do manual BIND (que também é aplicável a qualquer outra solução que envolva descartar respostas) é como as respostas ignoradas em um servidor autoritativo podem tornar você um alvo mais fácil para ataques de envenenamento de cache:
NOTE: Dropped responses from an authoritative server may reduce the difficulty of a third party successfully forging a response to a recursive resolver. The best security against forged responses is for authoritative operators to sign their zones using DNSSEC and for resolver operators to validate the responses. When this is not an option, operators who are more concerned with response integrity than with flood mitigation may consider setting slip to 1, causing all rate-limited responses to be truncated rather than dropped. This reduces the effectiveness of rate-limiting against reflection attacks.
Existem outras opções, como dnsdist , que você poderia colocar como um proxy reverso na frente e tê-lo . Uma coisa boa aqui é que o dnsdist, como o nome sugere, é sensível ao DNS e bastante flexível. Assim, você teria a opção de, por exemplo, restringir agressivamente ANY
consultas sozinha e / ou rcode REFUSED
, sem afetar outras consultas (não afetar outras consultas pode ser baseado em regras regulares em vez disso.
Há também, como foi observado por Michael fail2ban , que poderia adicionar dinamicamente regras de firewall para bloquear IPs com base em entradas de log excessivas. Isso é um pouco brusco em comparação, mas certamente seria eficaz do ponto de vista da limitação de tráfego e do spam de registros, mas reduz completamente o tráfego quando é acionado.
Novamente, para qualquer opção que envolva descartar consultas, lembre-se da observação acima sobre o envenenamento de cache.