
Tenho um servidor DNS que possui duas visualizações, uma para usuários internos e outra para externos (internet por exemplo). Quero configurar o RPZ para que quando usuários internos solicitarem (consultas recursivas externas serão negadas de qualquer maneira) um site de amostra, eles serão redirecionados para outro site (uma página de filtro) mostrando que o acesso não é permitido a este site. Mas o RPZ não está funcionando, a consulta bad.com retorna seu endereço real. Não consigo descobrir o problema.
nomeado.conf.opções:
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; };
};
nomeado.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";
};
filtro.zona:
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
zona filter2:
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 sempre o endereço real de bad.net e bad.com.
Eu estava experimentando e é por isso que existem duas zonas.
Responder1
primeiro registro A correto de:
bad.com A filter.wsi.org
para:
bad.com A 192.168.1.1
ou altere como abaixo:
bad.com CNAME filter.wsi.org
e teste a configuração abaixo:
response-policy {zone "filter";};
Responder2
Encontrei outro problema: você não encontra o registro ns no arquivo de zona rpz.
@ NS 127.0.0.1.
e use ferramentas de ligação para solucionar problemas de 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 verificar se o bind está sendo executado sem erros:
netstat -lntup | grep 53