change allow-transfer default to "none"

Changed the default value for 'allow-transfer' to 'none'; zone
transfers now require explicit authorization.

Updated all system tests to specify an allow-transfer ACL when needed.

Revised the ARM to specify that the default is 'none'.
This commit is contained in:
Evan Hunt
2024-06-05 10:50:06 -07:00
parent 74cbaf46c9
commit c3d3d12911
75 changed files with 80 additions and 4 deletions
+1 -1
View File
@@ -207,7 +207,7 @@ options {\n\
/* zone */\n\
allow-query {any;};\n\
allow-query-on {any;};\n\
allow-transfer {any;};\n\
allow-transfer {none;};\n\
# also-notify <none>\n\
check-integrity yes;\n\
check-mx-cname warn;\n\
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
allow-query { any; };
allow-new-zones yes;
recursion no;
@@ -23,6 +23,7 @@ options {
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-query { any; };
allow-transfer { any; };
recursion no;
allow-new-zones yes;
dnssec-validation no;
@@ -23,6 +23,7 @@ options {
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-query { any; };
allow-transfer { any; };
recursion no;
allow-new-zones yes;
dnssec-validation no;
+2
View File
@@ -25,6 +25,8 @@ options {
};
view main in {
allow-transfer { any; };
zone example.net {
type primary;
file "example.net.db";
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -24,6 +24,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
ixfr-from-differences yes;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
ixfr-from-differences yes;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
allow-transfer { any; };
notify no;
notify-delay 0;
recursion no;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { fd92:7065:b8e:ffff::2; };
allow-transfer { any; };
notify no;
notify-delay 0;
recursion no;
+1
View File
@@ -27,6 +27,7 @@ options {
provide-ixfr no;
listen-on { 10.53.0.3; };
listen-on-v6 { fd92:7065:b8e:ffff::3; };
allow-transfer { any; };
notify no;
notify-delay 0;
recursion no;
+1
View File
@@ -26,6 +26,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { fd92:7065:b8e:ffff::4; };
allow-transfer { any; };
notify no;
notify-delay 0;
recursion no;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation yes;
check-names primary ignore;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation yes;
check-names master ignore;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
heartbeat-interval 1;
recursion no;
dnssec-validation no;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
heartbeat-interval 1;
recursion no;
dnssec-validation no;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -23,6 +23,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -27,6 +27,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
notify-delay 0;
@@ -28,6 +28,7 @@ options {
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
recursion no;
allow-transfer { any; };
notify yes;
try-tcp-refresh no;
notify-delay 0;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
notify-delay 0;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation no;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation no;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
provide-ixfr no;
+1
View File
@@ -64,6 +64,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-policy "test";
dnssec-validation no;
+1
View File
@@ -49,6 +49,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-policy "none";
dnssec-validation no;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation no;
@@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
dnssec-validation yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
};
@@ -28,6 +28,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
};
@@ -20,6 +20,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
notify yes;
startup-notify-rate 5;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
notify yes;
dnssec-validation no;
@@ -34,6 +34,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
notify yes;
dnssec-validation no;
+1
View File
@@ -20,6 +20,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-responses no;
dnssec-validation no;
+1
View File
@@ -20,6 +20,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.10; };
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-responses no;
recursion yes;
+1
View File
@@ -20,6 +20,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-responses no;
recursion yes;
+1
View File
@@ -25,6 +25,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
notify yes;
minimal-responses no;
recursion yes;
+1
View File
@@ -20,6 +20,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-responses no;
recursion yes;
+1
View File
@@ -25,6 +25,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.5; };
listen-on-v6 { none; };
allow-transfer { any; };
ixfr-from-differences yes;
notify-delay 0;
notify yes;
+1
View File
@@ -21,6 +21,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
allow-transfer { any; };
forward only;
forwarders { 10.53.0.3; };
minimal-responses no;
+1
View File
@@ -21,6 +21,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
allow-transfer { any; };
minimal-responses no;
recursion yes;
dnssec-validation yes;
+1
View File
@@ -25,6 +25,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.8; };
listen-on-v6 { none; };
allow-transfer { any; };
notify yes;
minimal-responses no;
recursion yes;
+1
View File
@@ -25,6 +25,7 @@ options {
session-keyfile "session.key";
listen-on { 10.53.0.9; };
listen-on-v6 { none; };
allow-transfer { any; };
notify yes;
minimal-responses no;
recursion yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify no;
@@ -28,6 +28,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
max-stale-ttl 3600;
@@ -28,6 +28,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
max-stale-ttl 3600;
@@ -28,6 +28,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
max-stale-ttl 20;
@@ -28,6 +28,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
max-stale-ttl 20;
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
dnssec-validation no;
recursion no;
notify no;
@@ -25,6 +25,8 @@ options {
};
view "in" {
allow-transfer { any; };
zone "example." {
type primary;
file "example-in.db";
@@ -26,6 +26,7 @@ options {
listen-on { 10.53.0.1; };
listen-on tls ephemeral { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
notify yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
notify yes;
@@ -21,6 +21,7 @@ options {
listen-on { 10.53.0.3; };
listen-on tls ephemeral { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
@@ -21,6 +21,7 @@ options {
listen-on { 10.53.0.3; };
listen-on tls ephemeral { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
notify yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
notify yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify no;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion yes;
dnssec-validation no;
notify yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
+1
View File
@@ -25,6 +25,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.8; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify no;
+1 -1
View File
@@ -255,7 +255,7 @@ status=$((status + tmp))
n=$((n + 1))
echo_i "check that a multi-message uncompressable zone transfers ($n)"
$DIG axfr . -p ${PORT} @10.53.0.4 | grep SOA >axfr.out
$DIG axfr . -p ${PORT} @10.53.0.4 | grep SOA >axfr.out || tmp=1
if test $(wc -l <axfr.out) != 2; then
echo_i "failed"
status=$((status + 1))
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify yes;
@@ -19,6 +19,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
recursion no;
dnssec-validation no;
notify no;
+1
View File
@@ -21,6 +21,7 @@ options {
listen-on-v6 { none; };
recursion no;
dnssec-validation no;
allow-transfer { any; };
};
zone "example" {
+4 -2
View File
@@ -3054,8 +3054,7 @@ for details on how to specify IP address lists.
This specifies which hosts are allowed to receive zone transfers from the
server. :any:`allow-transfer` may also be specified in the :any:`zone`
statement, in which case it overrides the :any:`allow-transfer`
statement set in :namedconf:ref:`options` or :any:`view`. If not specified, the
default is to allow transfers to all hosts.
statement set in :namedconf:ref:`options` or :any:`view`.
The transport level limitations can also be specified. In particular,
zone transfers can be restricted to a specific port and/or DNS
@@ -3068,6 +3067,9 @@ for details on how to specify IP address lists.
allows outgoing zone transfers to any host using the TLS transport
over port 853.
If :any:`allow-transfer` is not specified, then the default is
``none``; outgoing zone transfers are disabled.
.. warning::
Please note that incoming TLS connections are