Mi servidor DNS está presionando 20mbps, ¿por qué?

22

Estoy ejecutando un servidor DNS en EC2, y ayer estaba presionando alrededor de 20mbps cuando revisé mi tablero de facturación y encontré 1.86 TB de datos usados ​​este mes. Esa es una gran factura para mi pequeño laboratorio de proyectos. Nunca noté caídas de rendimiento y no me molesté en configurar umbrales de tráfico antes, pero ahora lo he hecho, ya que esto me ha costado más de $ 200 en cargos de ancho de banda.

Parece que alguien usó mi servidor DNS como parte de un ataque de amplificación, sin embargo, no sé cómo.

La configuración está abajo.

// BBB.BBB.BBB.BBB = ns2.mydomain.com ip address

options {
        listen-on port 53 { any; };
//      listen-on-v6 port 53 { ::1; };
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-transfer { BBB.BBB.BBB.BBB; };
        allow-query-cache { BBB.BBB.BBB.BBB; };
        allow-query { any; };
        allow-recursion { none; };

        empty-zones-enable no;
        forwarders { 8.8.8.8; 8.8.4.4; };

        fetch-glue no;
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "mydomain.com" IN {
        type master;
        file "zones/mydomain.com";
        allow-transfer { BBB.BBB.BBB.BBB; localhost; };
};

Dada esta configuración, NO debería responder ninguna consulta para las zonas que no alojo localmente, ¿verdad? Este servidor es el SOA para algunos dominios, pero mis otros servidores no lo usan para buscar nada (todos resuelven contra OpenDNS o Google). ¿Qué directiva me he equivocado aquí o me estoy olvidando? Mis registros (63 MB +) están llenos de esto:

client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
Russell Anthony
fuente
99
Esto no responde a su pregunta, pero debe configurar alertas de facturación docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/…
Tim
¿Sería aceptable forzar el retorno a TCP para todos los clientes sin soporte RFC 7873?
kasperd
1
Limitación de velocidad en BIND
Rui F Ribeiro
@RuiFRibeiro La limitación de velocidad en servidores DNS autorizados puede ser útil. Pero la limitación de velocidad puede ser un punto débil que puede explotarse en ataques DoS. Si un atacante inunda un recurrente con consultas para un dominio alojado en un servidor autorizado con limitación de velocidad, los usuarios legítimos de ese recurrente ya no podrán resolver registros en el dominio bajo ataque. Ese ataque puede mitigarse con el uso agresivo de NSEC / NSEC3, que no está ampliamente implementado.
kasperd

Respuestas:

19

Incluso si su servidor está configurado para responder solo consultas autorizadas como el suyo, aún es posible que se use para un ataque de amplificación: las ANYconsultas contra la raíz de una zona pueden desencadenar una respuesta UDP bastante pesada, ya que la raíz de la zona tiende a tener una serie de registros, particularmente con SPF / DKIM / DNSSEC.

Es probable que esto sea lo que está sucediendo en su sistema; úselo tcpdumppara confirmar. Si están utilizando sus registros autorizados en un ataque de amplificación, sus mejores opciones serán simplemente pasar a una nueva IP y esperar que no sigan, cambiar sus registros raíz de zona para que sea un vector de amplificación menos efectivo o implementar Limitación de la tasa de respuesta (si su BIND lo admite).

Shane Madden
fuente
Sin embargo, no están consultando mis zonas ... ¿no debería mi servidor descartarlas en lugar de responder en absoluto?
Russell Anthony
44
@RussellAnthony Para las entradas de registro que está viendo, sí, creo que las está eliminando, pero, para un tráfico de ataque exitoso, no se crearía ninguna entrada de registro, por lo que en términos de registros, el uso del ancho de banda es invisible. Si el ataque aún continúa (¿sigue obteniendo nuevas entradas de registro?) Apuesto a que hay un montón de ANYconsultas exitosas junto a estas falladas.
Shane Madden
2
Agregado rate-limit { responses-per-second 1; };y parece haber caído bastante tráfico. No sabía que Bind podría RRL desde dentro de sí mismo.
Russell Anthony
1
Si realmente estaban enviando consultas para registros autorizados, significa que deben conocer el nombre de dominio. En ese caso, no es tan probable que mudarse a una nueva IP ayude, ya que podrían encontrar la nueva dirección IP tan rápido como los usuarios legítimos.
kasperd
66
Solo asegúrese de que su límite de velocidad no se convierta en un vector de ataque DoS: si el atacante agota el límite de respuesta, las cachés legítimas (como OpenDNS y google) también pueden fallar en resolver su nombre.
Jonas Schäfer