chg: usr: Enable minimal ANY answers by default

ANY queries are widely abused by attackers doing reflection attacks as
they return the largest answers.  Enable minimal ANY answers by default
to reduce the attack surface of the DNS servers.

Closes #5723

Merge branch '5723-change-minimal_any-default-to-yes' into 'main'

See merge request isc-projects/bind9!11505
This commit is contained in:
Ondřej Surý 2026-01-29 04:29:45 +01:00
commit 40bffcc8a6
30 changed files with 34 additions and 5 deletions

View file

@ -154,7 +154,7 @@ options {\n\
message-compression yes;\n\
min-ncache-ttl 0; /* 0 hours */\n\
min-cache-ttl 0; /* 0 seconds */\n\
minimal-any false;\n\
minimal-any yes;\n\
minimal-responses no-auth-recursive;\n\
notify-source *;\n\
notify-source-v6 *;\n\

View file

@ -21,6 +21,7 @@ options {
listen-on-v6 { fd92:7065:b8e:ffff::2; };
recursion no;
dnssec-validation no;
minimal-any no;
};
zone "." {

View file

@ -20,6 +20,7 @@ options {
recursion yes;
dnssec-validation no;
server-id "ns3";
minimal-any no;
};
zone "." {

View file

@ -21,6 +21,8 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
minimal-any no;
minimal-responses no;
recursion no;
notify yes;
dnssec-validation yes;

View file

@ -22,11 +22,12 @@ options {
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
allow-transfer { any; };
minimal-any no;
minimal-responses no;
recursion no;
notify yes;
dnssec-validation yes;
notify-delay 1;
minimal-responses no;
};
key rndc_key {

View file

@ -24,11 +24,12 @@ options {
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
allow-transfer { any; };
minimal-any no;
minimal-responses no;
recursion no;
notify yes;
dnssec-validation yes;
session-keyfile "session.key";
minimal-responses no;
};
key rndc_key {

View file

@ -26,8 +26,9 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
recursion yes;
minimal-any no;
minimal-responses no;
recursion yes;
{% if accept_expired %}
dnssec-accept-expired yes;

View file

@ -24,6 +24,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.5; 127.0.0.1; };
listen-on-v6 { none; };
minimal-any no;
recursion yes;
minimal-responses no;
servfail-ttl 0;

View file

@ -21,6 +21,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.6; };
listen-on-v6 { none; };
minimal-any no;
recursion yes;
notify yes;
disable-algorithms . { @ALTERNATIVE_ALGORITHM@; };

View file

@ -23,6 +23,7 @@ options {
pid-file "named.pid";
listen-on { 10.53.0.9; };
listen-on-v6 { none; };
minimal-any no;
recursion yes;
dnssec-validation yes;
forward only;

View file

@ -32,6 +32,7 @@ options {
attach-cache "globalcache";
max-recursion-queries 100;
request-zoneversion yes;
minimal-any no;
};

View file

@ -21,4 +21,5 @@ options {
listen-on-v6 { none; };
recursion no;
dnssec-validation no;
minimal-any no;
};

View file

@ -23,6 +23,7 @@ options {
listen-on-v6 { none; };
recursion no;
dnssec-validation no;
minimal-any no;
};
zone "." {

View file

@ -28,6 +28,7 @@ options {
responselog yes;
request-nsid yes;
request-zoneversion yes;
minimal-any no;
};
// Don't break tests which depend on ans10 by requesting

View file

@ -27,6 +27,7 @@ options {
statistics-file "named.stats";
max-udp-size 4096;
responselog no;
minimal-any no;
};
zone "." {

View file

@ -32,6 +32,7 @@ options {
prefetch 0;
querylog yes;
edns-udp-size 4096;
minimal-any no;
};

View file

@ -23,6 +23,7 @@ options {
dnssec-validation no;
dual-stack-servers { fd92:7065:b8e:ffff::7; };
qname-minimization off;
minimal-any no;
};

View file

@ -22,6 +22,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-any no;
minimal-responses no;
dnssec-validation no;
};

View file

@ -22,6 +22,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation yes;

View file

@ -22,6 +22,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation yes;

View file

@ -29,6 +29,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify yes;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation no;

View file

@ -22,6 +22,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify no;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation yes;

View file

@ -29,6 +29,7 @@ options {
ixfr-from-differences yes;
notify-delay 0;
notify yes;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation yes;

View file

@ -24,6 +24,7 @@ options {
allow-transfer { any; };
forward only;
forwarders { 10.53.0.3; };
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation yes;

View file

@ -22,6 +22,7 @@ options {
listen-on { 10.53.0.7; };
listen-on-v6 { none; };
allow-transfer { any; };
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation yes;

View file

@ -27,6 +27,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify yes;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation no;

View file

@ -27,6 +27,7 @@ options {
listen-on-v6 { none; };
allow-transfer { any; };
notify yes;
minimal-any no;
minimal-responses no;
recursion yes;
dnssec-validation no;

View file

@ -30,6 +30,7 @@ options {
notify no;
dnssec-validation no;
allow-query { any; };
minimal-any no;
};
zone "allowed" {

View file

@ -30,6 +30,7 @@ options {
notify no;
dnssec-validation no;
allow-query { any; };
minimal-any no;
recursion yes;
allow-recursion { any; };
empty-zones-enable false;

View file

@ -2093,7 +2093,7 @@ Boolean Options
necessarily the smallest available RRset.) Additionally,
:any:`minimal-responses` is turned on for these queries, so no
unnecessary records are added to the authority or additional
sections. The default is ``no``.
sections. The default is ``yes``.
.. namedconf:statement:: notify
:tags: transfer