Ataque do DNS estranho - Consultas recursivas sem fim para o domínio em branco

3

Nossos servidores DNS W2K3 parecem estar sob algum tipo de ataque do DOS, mas não consigo encontrar nenhuma descrição ou razão para o ataque.

Três hosts remotos específicos estão bombardeando dois de nossos três servidores DNS com linhas como esta:

8937  891.093750  91.205.43.25  ns2.me.com  DNS  DNS: QueryId = 0xDA7C, QUERY (Standard query), Query  for   of type NS on class Internet
8938  891.218750  91.205.43.25  ns2.me.com  DNS  DNS: QueryId = 0xA504, QUERY (Standard query), Query  for   of type NS on class Internet
8939  891.219727  91.205.43.25  ns1.me.com  DNS  DNS: QueryId = 0x4E3F, QUERY (Standard query), Query  for   of type NS on class Internet
8940  891.370117  69.197.181.26   ns1.me.com  DNS  DNS: QueryId = 0xA8CC, QUERY (Standard query), Query  for   of type NS on class Internet
8941  891.372070  69.197.181.26   ns2.me.com  DNS  DNS: QueryId = 0xC808, QUERY (Standard query), Query  for   of type NS on class Internet
8942  891.476562  91.205.43.25  ns2.me.com  DNS  DNS: QueryId = 0xCC37, QUERY (Standard query), Query  for   of type NS on class Internet
8943  891.478516  91.205.43.25  ns1.me.com  DNS  DNS: QueryId = 0xEDEC, QUERY (Standard query), Query  for   of type NS on class Internet

Houve cerca de 10 por segundo destes por vários dias agora. Cada atacante tenta os dois servidores atacados em rápida sucessão, embora eles nunca experimentem nosso terceiro servidor.

Aqui está uma amostra dos detalhes de cada pacote:

  Frame: 
+ Ethernet: Etype = Internet IP (IPv4)
+ Ipv4: Next Protocol = UDP, Packet ID = 20114, Total IP Length = 45
+ Udp: SrcPort = 23909, DstPort = DNS(53), Length = 25
- Dns: QueryId = 0xEDEC, QUERY (Standard query), Query  for   of type NS on class Internet
    QueryIdentifier: 60908 (0xEDEC)
  - Flags:  Query, Opcode - QUERY (Standard query), RD, Rcode - Success
     QR:                (0...............) Query
     Opcode:            (.0000...........) QUERY (Standard query) 0
     AA:                (.....0..........) Not authoritative
     TC:                (......0.........) Not truncated
     RD:                (.......1........) Recursion desired
     RA:                (........0.......) Recursive query support not available
     Zero:              (.........0......) 0
     AuthenticatedData: (..........0.....) Not AuthenticatedData
     CheckingDisabled:  (...........0....) Not CheckingDisabled
     Rcode:             (............0000) Success 0
    QuestionCount: 1 (0x1)
    AnswerCount: 0 (0x0)
    NameServerCount: 0 (0x0)
    AdditionalCount: 0 (0x0)
  - QRecord:   of type NS on class Internet
     QuestionName: 
     QuestionType: NS, Authoritative name server, 2(0x2)
     QuestionClass: Internet, 1(0x1)

Atualmente temos nosso firewall configurado para simplesmente descartar solicitações dos três invasores, mas se eu permitir, o servidor responde com uma longa resposta listando os nomes (mas não endereços) de todos os servidores de dica de raiz, e parece para fazer isso, independentemente de a recursão estar ativada ou não.

Alguém tem alguma ideia do que é isso? Posso fazer com que o tráfego de entrada pare ou estou bloqueado no firewall até que eles fiquem entediados?

Obrigado por qualquer informação,
Paul

    
por evenmoreconfused 25.07.2010 / 04:53

3 respostas

6

Isso pode não ser um DoS contra você - é muito mais provável que suas máquinas estejam sendo usadas para enviar pacotes para outra pessoa.

Isso é chamado de "ataque de amplificação". Eles enviam uma solicitação de DNS de 25 bytes - você envia de volta ~ 500 bytes de dicas de raiz.

Se esse for o caso, os endereços IP de origem são realmente falsificados e estão aproveitando sua grande resposta para aprimorar o efeito de sua DoS contra esses endereços IP falsificados.

Deixar os pacotes no seu firewall é provavelmente o melhor que você pode fazer no momento.

No entanto, a solução real a longo prazo é configurar seu servidor DNS para retornar o código de resposta REFUSED para qualquer consulta para a qual o servidor não seja autoritativo. Se você fizer isso, seu servidor não será mais uma ferramenta útil para futuros ataques de amplificação em outras pessoas.

    
por 25.07.2010 / 10:36
2

Talvez, ao fazer eco de Alnitak , eu não entendi a finalidade dos seus servidores DNS.

Eles são servidores autoritativos voltados ao público fornecendo informações sobre seus domínios? Em caso afirmativo, não há necessidade de responder a quaisquer outras perguntas além daquelas para as quais elas são autoritativas. 10 solicitações por segundo não soam como algo com o qual você deve se preocupar se não enviar respostas de qualquer maneira.

Este é um servidor recursivo / caching interno , fornecendo serviços para usuários internos? Nesse caso, deve haver um view que pode match-clients (na sintaxe BIND) e não receber solicitações de fora da sua rede. Se você já tem isso e as solicitações são provenientes de segmentos que você controla, caçe esses clientes!

    
por 25.07.2010 / 13:20
0

Você não pode controlar o comportamento dos outros. Mesmo que você corrija essa resposta em seu servidor, eles podem decidir seguir em frente e variar o ataque, em vez de apenas "ficar entediado". Como você sabe onde eles estão agora, acho que bloqueá-los em seu firewall inteiro é provavelmente sua melhor e mais segura opção.

Dito isso, você também deseja corrigir a resposta do servidor para proteger-se contra ataques futuros ou até mesmo se os invasores atuais apenas alternarem os IPs. Mas outra pessoa pode ajudar com essa parte da questão melhor do que eu.

    
por 25.07.2010 / 04:59