Bind RPZ sem efeito com Views

2

Eu tenho um servidor DNS que tem duas visões, uma para usuários internos e outra para externo (internet, por exemplo). Eu quero configurar RPZ para que quando os usuários internos solicitar (consultas negativas recursivas serão negados de qualquer maneira) um site de exemplo, eles serão redirecionados para outro site (uma página de filtro), mostrando que o acesso não é permitido para este site. Mas RPZ não está funcionando, consulta para bad.com retorna seu endereço real. Não consigo descobrir o problema.

named.conf.options:

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

 forwarders {
    8.8.8.8;
 };


    response-policy {zone "filter" recursive-only no;};

    //========================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys.  See https://www.isc.org/bind-keys
    //========================================================================
#   dnssec-validation auto;

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

named.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";


acl internal {172.17.116/24; 192.168.20/24; 127/8;};

view "internal" {
    match-clients {internal;};
    recursion yes;
    zone "wsi.org" {
        type master;
        file "/etc/bind/internal.zone";
    };

    zone "filter" {
        type master;
        file "/etc/bind/filter.zone";
    };



    include "/etc/bind/named.conf.default-zones";
};

view "external" {
    match-clients {any;};
    recursion no;
    zone "wsi.org" {
        type master;
        file "/etc/bind/external.zone";
    };

    zone "filter" {
        type master;
        file "/etc/bind/filter2.zone";
    };


    include "/etc/bind/named.conf.default-zones";
};

filter.zone:

TTL 604800
@   IN  SOA wsi.org. root.wsi.org. (
                  3     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL

bad.com A   filter.wsi.org
bad.net A   filter.wsi.org

filter2 zone:

TTL 604800
@   IN  SOA wsi.org. root.wsi.org. (
                  3     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL

bad.com A   filter.wsi.org
bad.net CNAME   rpz-passthru

nslookup mostra o endereço real de bad.net e bad.com sempre.

Eu estava experimentando e é por isso que existem duas zonas.

    
por Mehran 21.10.2016 / 17:23

2 respostas

3

primeiro corrija um registro de:

bad.com A   filter.wsi.org 

para:

bad.com A   192.168.1.1

ou alterar como abaixo:

bad.com CNAME   filter.wsi.org

e teste a configuração abaixo:

response-policy {zone "filter";};
    
por 21.10.2016 / 20:24
0

Eu encontrei outro problema que você não defind ns registro no arquivo de zona rpz.

@   NS    127.0.0.1.

e use ferramentas de vinculação para solucionar problemas na sua configuração. Para verificar a sintaxe de configuração:

named-checkconf

e para verificar a sintaxe do arquivo de zona:

named-checkzone filter /etc/bind/filter.zone

e para verificação, o bind está sendo executado sem errror:

netstat -lntup | grep 53
    
por 22.10.2016 / 18:32