So, ich habe etwas geforscht.
Danke für's Mitdenken :)

Zusammenfassend reden wir vom AD Bit und vom DO Bit.
AD: Authenticated DATA (also DNSSEC validierte Daten)
DO: DNSSEC ok (zusätzliche DNSSEC Infos (z.B. RRSIG Records)
    darf in der Antwort nicht gesetzt sein, wenn die Daten nicht validiert sind

Diese Bits können in der Query und in der Response gesetzt sein.

Der derzeit einzig zuverlässige Weg, an das AD Bit in der Response zu
kommen, scheint also zu sein, das DO Bit in der Query zu setzen und die
ggf. überschüssigen RRSIGs einfach zu ignorieren.

TLDR;

RFC6840 (Clarifications and Implementation Notes for DNS Security (DNSSEC) von 
2013
sagt, daß das AD Bit in der Query gesetzt werden kann, damit der
Resolver weiß, daß der Client das AD Bit auch in der Antwort verstehen
wird. Somit kann der Resolver dem Client den Validierungsstatus
mitteilen, ohne den ganzen anderen DNSSEC Kram auch noch zu schicken
(der Client braucht die RRSIGs gar nicht):

    5.7.  Setting the AD Bit on Queries

    The semantics of the Authentic Data (AD) bit in the query were
    previously undefined.  Section 4.6 of [RFC4035] instructed resolvers
    to always clear the AD bit when composing queries.

    This document defines setting the AD bit in a query as a signal
    indicating that the requester understands and is interested in the
    value of the AD bit in the response.  This allows a requester to
    indicate that it understands the AD bit without also requesting
    DNSSEC data via the DO bit.

Das impliziert anscheinend, daß man früher (und jetzt auch, je nachdem,
welchen Resolver man nutzt), wenn man den Validierungsstatus haben
wollte, das DO Bit in der Query setzen musste.  Steht vermutlich auch
irgendwo in einer RFC.

Und wenn man die RRSIGs haben möchte, dann genügt es *nicht*, das DO Bit
zu setzen, sondern man muss explizit nach den RRSIGs fragen, falls der
Resolver sie nicht selbsttätig schickt.

RFC4035 Section 5

Wenn man Zeit hat, kann man das ja mal weiterverfolgen.
Scheint also noch im Rahmen des Ermessens zu liegen, was der
systemd-resolved hier macht.

           DO q->r   AD q->r   RRSIG

Bind9.11      0->0      0->0      -
              0->0      1->1      -
              1->1      0->1      RRSIG

systemd       0->0      0->0      -
              0->0      1->0      -
              1->1      0->1      RRSIG

Der derzeit einzig zuverlässige Weg, an das AD Bit in der Response zu
kommen, scheint also zu sein, das DO Bit in der Query zu setzen und die
ggf. überschüssigen RRSIGs einfach zu ignorieren.

Wie bin ich drauf gekommen? Ich stutzte über

    dig mx DOMAIN

welches mir kein AD Bit lieferte. Aber

    exim -be '${lookup dnsdb{dnssec_strict,mx=DOMAIN}} 
secure:$lookup_dnssec_authenticated'

sagte mir, daß es secure ist.

--
Heiko

Attachment: signature.asc
Description: PGP signature

Antwort per Email an