Esta pagina se ve mejor con JavaScript habilitado

DNS RPZ

 ·  🎃 kr0m

Falsear resoluciones DNS puede resultarnos de utilidad, por ejemplo para filtrar tráfico en la red, publicar parcialmente una zona en Internet con las entradas de los servicios públicos y el resto de entradas privadas en nuestro DNS interno.

Compilamos Bind:

emerge -av net-dns/bind

Añadimos una zona RPZ:

vi /etc/bind/named.conf

zone "srpz.zone" {
    type master;
    file "/etc/bind/db.srpz.local";
    allow-query { any; };
    allow-update { none; };
};

Añadimos entradas a la zona RPZ:

vi /etc/bind/db.srpz.local

$TTL    604800
@       IN      SOA     localhost.local. hostmaster.local. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

@                       IN NS   localhost.local.
yahoo.com       IN      A       1.1.1.1

En la sección options añadimos la opción response-policy, el bindeo del servicio, el filtrado de querys y los forwarders de Google:

vi /etc/bind/named.conf

options {
    response-policy { zone "srpz.zone"; };

    allow-query {
        any;
    };

    allow-query-cache {
        any;
    };

    allow-recursion {
        any;
    };

    listen-on { any; };

    forwarders {
        8.8.8.8;
        8.8.4.4;
    };

Reiniciamos el servicio:

/etc/init.d/named restart

Compronbamos que funciona correctamente:

dig @SERVER_IP +short google.es

172.217.19.227
dig @SERVER_IP +short yahoo.com
1.1.1.1

Como podemos observar funciona tanto el forward como la zona RPZ.

Si te ha gustado el artículo puedes invitarme a un RedBull aquí