Hello,

I recently moved a few zones from "auto-dnssec maintain" to
"dnssec-policy ..." to prepare for simpler/automatic key rotation in the
future.

For the time being I have configured my policy with separate KSK and ZSK
and unlimited key life times to replicate the old setup as closely as
possible.  I also had a few old and outdated keys lying around, and
would like to keep those, so my policy has "purge-keys 0".  All other
policy settings are default.

The setup is mostly working as expected - which is great.  But there is
one issue which has suprised me, and which is slightly annoying since it
tends to set off a few security warnings:  All the key related files are
now touched by BIND once an hour, whether they are modified or not.
Which they obviously nevery should be, given my current policy.

This is particularily surprising wrt the deleted keys. But it's equally
unnecessary with the current keys. And touching those is actually more
annoying since it's an unexpected file system operation with real
security implications.  Or at least it feels that way...

I guess an example illustrates the issue best:

bjorn@louie:/etc/bind/dnssec/dyn.mork.no$ ls -l
total 48
-rw-r--r-- 1 bind bind  535 Apr 24 09:37 Kdyn.mork.no.+005+00318.key
-rw------- 1 bind bind 1058 Apr 24 09:37 Kdyn.mork.no.+005+00318.private
-rw-r--r-- 1 bind bind  520 Apr 24 09:37 Kdyn.mork.no.+005+00318.state
-rw-r--r-- 1 bind bind  711 Apr 24 09:37 Kdyn.mork.no.+005+36391.key
-rw------- 1 bind bind 1822 Apr 24 09:37 Kdyn.mork.no.+005+36391.private
-rw-r--r-- 1 bind bind  590 Apr 24 09:37 Kdyn.mork.no.+005+36391.state
-rw-r--r-- 1 bind bind  342 Apr 24 09:37 Kdyn.mork.no.+013+32300.key
-rw------- 1 bind bind  187 Apr 24 09:37 Kdyn.mork.no.+013+32300.private
-rw-r--r-- 1 bind bind  447 Apr 24 09:37 Kdyn.mork.no.+013+32300.state
-rw-r--r-- 1 bind bind  398 Apr 24 09:37 Kdyn.mork.no.+013+63342.key
-rw------- 1 bind bind  215 Apr 24 09:37 Kdyn.mork.no.+013+63342.private
-rw-r--r-- 1 bind bind  571 Apr 24 09:37 Kdyn.mork.no.+013+63342.state
bjorn@louie:/etc/bind/dnssec/dyn.mork.no$ date
Sun Apr 24 10:28:22 BST 2022
bjorn@louie:/etc/bind/dnssec/dyn.mork.no$ cat Kdyn.mork.no.+005+00318.key
; This is a zone-signing key, keyid 318, for dyn.mork.no.
; Created: 20170611145248 (Sun Jun 11 15:52:48 2017)
; Publish: 20170611145248 (Sun Jun 11 15:52:48 2017)
; Activate: 20170611145248 (Sun Jun 11 15:52:48 2017)
; Inactive: 20181012184500 (Fri Oct 12 19:45:00 2018)
; Delete: 20181022195000 (Mon Oct 22 20:50:00 2018)
dyn.mork.no. IN DNSKEY 256 3 5 
AwEAAbDpSVlCP78U04SDDQEN9jzs/bgr2ms2Xr5bgkWKvueBPE80I7Su 
b94K/0SgHK83F6BFfkBhk6uGYt5SqlQIz4dyFltCCfue/2JZNYmAGq2g 
gFp1vKQvOiTmejf4sh+ATC8VnRbW4Kkx2mlJHcv2cy/tqR8VygMLfNvZ uzwPEnJB
bjorn@louie:/etc/bind/dnssec/dyn.mork.no$ cat Kdyn.mork.no.+005+00318.state 
; This is the state of key 318, for dyn.mork.no.
Algorithm: 5
Length: 1024
KSK: no
ZSK: yes
Generated: 20170611145248 (Sun Jun 11 15:52:48 2017)
Published: 20170611145248 (Sun Jun 11 15:52:48 2017)
Active: 20170611145248 (Sun Jun 11 15:52:48 2017)
Retired: 20181012184500 (Fri Oct 12 19:45:00 2018)
Removed: 20181022195000 (Mon Oct 22 20:50:00 2018)
DNSKEYChange: 20220405085059 (Tue Apr  5 09:50:59 2022)
ZRRSIGChange: 20220405085059 (Tue Apr  5 09:50:59 2022)
DNSKEYState: hidden
ZRRSIGState: hidden
GoalState: hidden
bjorn@louie:/etc/bind/dnssec/dyn.mork.no$ ls -l
total 48
-rw-r--r-- 1 bind bind  535 Apr 24 10:37 Kdyn.mork.no.+005+00318.key
-rw------- 1 bind bind 1058 Apr 24 10:37 Kdyn.mork.no.+005+00318.private
-rw-r--r-- 1 bind bind  520 Apr 24 10:37 Kdyn.mork.no.+005+00318.state
-rw-r--r-- 1 bind bind  711 Apr 24 10:37 Kdyn.mork.no.+005+36391.key
-rw------- 1 bind bind 1822 Apr 24 10:37 Kdyn.mork.no.+005+36391.private
-rw-r--r-- 1 bind bind  590 Apr 24 10:37 Kdyn.mork.no.+005+36391.state
-rw-r--r-- 1 bind bind  342 Apr 24 10:37 Kdyn.mork.no.+013+32300.key
-rw------- 1 bind bind  187 Apr 24 10:37 Kdyn.mork.no.+013+32300.private
-rw-r--r-- 1 bind bind  447 Apr 24 10:37 Kdyn.mork.no.+013+32300.state
-rw-r--r-- 1 bind bind  398 Apr 24 10:37 Kdyn.mork.no.+013+63342.key
-rw------- 1 bind bind  215 Apr 24 10:37 Kdyn.mork.no.+013+63342.private
-rw-r--r-- 1 bind bind  571 Apr 24 10:37 Kdyn.mork.no.+013+63342.state
bjorn@louie:/etc/bind/dnssec/dyn.mork.no$ date
Sun Apr 24 10:38:58 BST 2022


Is this expected or am I doing something wrong?  And if this is
expected, then why?

FWIW, I am running the Debian stable BIND packagae, which should be
pretty much a plain recent 9.16:

bjorn@louie:~$ named -V
BIND 9.16.27-Debian (Extended Support Version) <id:96094c5>
running on Linux x86_64 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17)
built by make with '--build=x86_64-linux-gnu' '--prefix=/usr' 
'--includedir=/usr/include' '--mandir=/usr/share/man' 
'--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' 
'--disable-option-checking' '--disable-silent-rules' 
'--libdir=/usr/lib/x86_64-linux-gnu' '--runstatedir=/run' 
'--disable-maintainer-mode' '--disable-dependency-tracking' 
'--libdir=/usr/lib/x86_64-linux-gnu' '--sysconfdir=/etc/bind' 
'--with-python=python3' '--localstatedir=/' '--enable-threads' 
'--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' 
'--with-gost=no' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-libidn2' 
'--with-json-c' '--with-lmdb=/usr' '--with-gnu-ld' '--with-maxminddb' 
'--with-atf=no' '--enable-ipv6' '--enable-rrl' '--enable-filter-aaaa' 
'--disable-native-pkcs11' '--enable-dnstap' 'build_alias=x86_64-linux-gnu' 
'CFLAGS=-g -O2 -ffile-prefix-map=/build/bind9-wQCDJA/bind9-9.16.27=. 
-fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing 
-fno-delete-null-pointer-checks -DNO_VERSION_DATE -DDIG_SIGCHASE' 
'LDFLAGS=-Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
compiled by GCC 10.2.1 20210110
compiled with OpenSSL version: OpenSSL 1.1.1k  25 Mar 2021
linked to OpenSSL version: OpenSSL 1.1.1n  15 Mar 2022
compiled with libuv version: 1.40.0
linked to libuv version: 1.40.0
compiled with libxml2 version: 2.9.10
linked to libxml2 version: 20910
compiled with json-c version: 0.15
linked to json-c version: 0.15
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
linked to maxminddb version: 1.5.2
compiled with protobuf-c version: 1.3.3
linked to protobuf-c version: 1.3.3
threads support is enabled

default paths:
  named configuration:  /etc/bind/named.conf
  rndc configuration:   /etc/bind/rndc.conf
  DNSSEC root key:      /etc/bind/bind.keys
  nsupdate session key: //run/named/session.key
  named PID file:       //run/named/named.pid
  named lock file:      //run/named/named.lock
  geoip-directory:      /usr/share/GeoIP



Bjørn
-- 
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to