Some operational questions about TSIG / XoT

Michael De Roover isc at nixmagic.com
Sat Mar 8 06:35:37 UTC 2025


Hi all,

Currently I'm reading a couple of articles about TSIG and XoT, to better understand how XFR 
between networks can be done securely. For this, I am currently looking at these resources:

- https://www.ietf.org/rfc/rfc9103.html[1]
- https://dnsprivacy.org/encrypted-zone-transfer/[2]
- https://bind9.readthedocs.io/en/stable/chapter7.html#tsig[3]

Not directly related:
- https://kb.isc.org/docs/aa-00851#example-3-adding-a-second-server[4]
Perhaps the footnote "Further information on TSIG" could use a re-reference to Chapter 7.5? 
Nonetheless, this is how I found the TSIG documentation.

Currently, the network configuration would be three LANs that talk to each other over two VPNs 
(WireGuard). The primary LAN has 3 name servers, 1 primary and 2 secondaries. Only ns1 is 
expected to perform XFR, maybe ns2 if need be. Not sure how that affects operational 
availability vs. security.

The secondary LAN is a more fleshed out version of a road warrior setup, it is what I take with 
me for travel. This has one or two name servers at most. Each of these networks has a local 
zone, for which it is a local primary and secondary for the other.

The third network is just something internal to my laptop, so it can be a child of either of the 
previous networks, or whatever else that laptop connects to (via double NAT).

They each communicate with each other via a gateway / set of VRRP gateways, over the 
WireGuard tunnels. During XFR receipt, the receiving DNS server sees the XFR as if it's coming 
from that local gateway. This is.. not ideal.

So that's where TSIG or XoT would come into play. So far, it seems that TSIG is just a signed 
plaintext transfer, while XoT would encapsulate the whole thing in TLS. Both of them seem to 
have their merits, but would XoT be necessary if WireGuard is encrypting the "public" part of the 
connection anyway?

Another thing I noticed in VRRP in particular, is that by default it uses anycast and just passes 
on the secret itself in plain to all network members. So anyone with a packet sniffer can just.. 
well, sniff it and pull a "look at me, I am the gateway now". Unicast is possible but not default 
and seemingly only for keepalived. How's the situation here with TSIG? Are the transactions only 
given a signature, or the shared secret itself?

As far as XoT is concerned, I like that it adds another layer of encryption, but that would have to 
be self-signed. Also, how's that for troubleshooting? I'd rather not have to deal with the pain in 
the rear of TLS MiTM during such times. So far I think I'm more inclined towards just having 
WireGuard deal with that, and leave everything else transparent to me. But any amount of 
anycast or secrets exposure would be a dealbreaker here.

What are your thoughts on this?

N.B.: I liked this note in the views article: "DNS servers are social creatures and like to have 
company, so the operator of this network has decided to add a second DNS server."

Your work on the ARM is amazing Suzanne, and indeed we/they are :)

-- 
Met vriendelijke groet,
Michael De Roover

Mail: isc at nixmagic.com
Web: michael.de.roover.eu.org

--------
[1] https://www.ietf.org/rfc/rfc9103.html
[2] https://dnsprivacy.org/encrypted-zone-transfer/
[3] https://bind9.readthedocs.io/en/stable/chapter7.html#tsig
[4] https://kb.isc.org/docs/aa-00851#example-3-adding-a-second-server
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/bind-users/attachments/20250308/803ccca2/attachment.htm>


More information about the bind-users mailing list