Proxy-dnssec & Query-Log

Hallöchen,

ich verwende die aktuelle developer-Version von pihole & pilhole-FTL auf nem rPi3 mit raspbian-stretch. Die eigentliche Namensauflösung übernimmt stubby (->cloudflare DNS via DoT). Sowohl in Stubby als auch pihole ist die DNSSEC validierung ausgeschalten. Da aber cloudflare die Signaturen prüft, habe ich in /etc/dnsmasq.d/02-dnssec.conf ein "proxy-dnssec" eingefügt, sodass laut dnsmasq manual das AD-bit weitergereicht und auch gecached wird.

--proxy-dnssec
Copy the DNSSEC Authenticated Data bit from upstream servers to downstream clients and cache it. This is an alternative to having dnsmasq validate DNSSEC, but it depends on the security of
the network between dnsmasq and the upstream servers, and the trustworthiness of the upstream servers.

Eigentlich müsste dann möglich sein, im Query-Log im Webinterface den DNSSEC-Status korrekt anzeigen zu lassen, insbesondere da durch FTLDNS der Zugriff auf sämtliche dnsmasq Interna möglich sein sollte. Stattdessen wird leider nichts angezeigt.

Das AD-Bit wird auch tatsächlich durchgereicht:

; <<>> DiG 9.10.3-P4-Raspbian <<>> internetsociety.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29244
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1536
;; QUESTION SECTION:
;internetsociety.org. IN A

;; ANSWER SECTION:
internetsociety.org. 300 IN A 46.43.36.212

;; Query time: 132 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun May 20 13:41:13 UTC 2018
;; MSG SIZE rcvd: 83

Leider fehlt bei einem zweiten (gecachten) Abruf das ad-bit entgegen der dnsmasq Dokumentation wieder:

; <<>> DiG 9.10.3-P4-Raspbian <<>> internetsociety.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64830
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;internetsociety.org. IN A

;; ANSWER SECTION:
internetsociety.org. 1504 IN A 46.43.36.212

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun May 20 13:46:09 UTC 2018
;; MSG SIZE rcvd: 64

Leider kann ich das Verhalten nur bestätigen. Auch ich versuchte, dnsmasq das cachen der DNSSEC Info vom davor liegenden unbound beizubringen.
Offensichtlich gibt dnsmasq den ersten request wie erhalten weiter und chached dann aber leider nicht alle Informationen.

Die RFC sagt, dass ad flags bei der Weitergabe eigentlich gelöscht werden sollen, aber proxy-dnssec soll genau dieses überschrieben. Was auch funktioniert ... nur werden die Infos scheinbar nicht gecached.

Ich stelle einen feature request, die DNSSEC Info auch bei proxy-dnssec anzuzeigen.