Discussion:
DNS over TLS support op de xs4all dns servers
(te oud om op te antwoorden)
Miquel van Smoorenburg
2018-10-03 11:19:40 UTC
Permalink
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).

Het is standaard DNS-over-TLS op TCP poort 853 zoals
gedefinieerd in RFC7858.

De hostname van het TLS certificaat (de CN) is resolver.xs4all.nl.

* niet dat het een niet-ondersteunde dienst is, maar het is wel
een nieuwe dienst waar we nog ervaring mee op moeten doen.

Mike.
nobody
2018-10-03 13:54:47 UTC
Permalink
Post by Miquel van Smoorenburg
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).
Het is standaard DNS-over-TLS op TCP poort 853 zoals
gedefinieerd in RFC7858.
De hostname van het TLS certificaat (de CN) is resolver.xs4all.nl.
* niet dat het een niet-ondersteunde dienst is, maar het is wel
een nieuwe dienst waar we nog ervaring mee op moeten doen.
Mike.
Hier klinkt applaus.
Luuk
2018-10-03 18:25:50 UTC
Permalink
Post by Miquel van Smoorenburg
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).
Het is standaard DNS-over-TLS op TCP poort 853 zoals
gedefinieerd in RFC7858.
De hostname van het TLS certificaat (de CN) is resolver.xs4all.nl.
* niet dat het een niet-ondersteunde dienst is, maar het is wel
een nieuwe dienst waar we nog ervaring mee op moeten doen.
Mike.
Hoe kan ik in mijn modem* aangeven dat ie via TLS die DNS-queries mag
gaan doen?

*mijn modem:FRITZ!Box 7581 FRITZ!OS: 06.85-50446 PLUS
Miquel van Smoorenburg
2018-10-03 22:23:11 UTC
Permalink
Post by Luuk
Post by Miquel van Smoorenburg
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).
Hoe kan ik in mijn modem* aangeven dat ie via TLS die DNS-queries mag
gaan doen?
*mijn modem:FRITZ!Box 7581 FRITZ!OS: 06.85-50446 PLUS
Vziw staat er een RFE uit richting AVM, maar dat zal nog wel
even duren.

Mike.
Rob
2018-10-04 06:01:16 UTC
Permalink
Post by Miquel van Smoorenburg
Post by Luuk
Post by Miquel van Smoorenburg
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).
Hoe kan ik in mijn modem* aangeven dat ie via TLS die DNS-queries mag
gaan doen?
*mijn modem:FRITZ!Box 7581 FRITZ!OS: 06.85-50446 PLUS
Vziw staat er een RFE uit richting AVM, maar dat zal nog wel
even duren.
Het is ook een beetje de vraag hoeveel zin het heeft om DNS over TLS
te doen tussen een DSL router en de eigen ISP. De reden om dit soort
dingen te doen is meestal dat de eigen ISP niet te vertrouwen is en
dan verbeter je het helemaal niet als je dan vervolgens wel hun resolver
gebruikt. DNS over TLS zou je dan willen doen naar een externe partij
als resolver die je meer vertrouwt dan je ISP.

Ook zou het nut kunnen hebben om in je DSL router een resolver te hebben
die DNS over TLS doet van/naar de interne clients, als je unencrypted WiFi
wilt doen of op een andere manier verdenkt dat er een man-in-the-middle
zit tussen je portable spullen en je eigen router. Maar daarvoor hoeft
de router richting internet (en de ISP) helemaal geen TLS te supporten.
nobody
2018-10-04 08:58:43 UTC
Permalink
Post by Miquel van Smoorenburg
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).
.
.

Bij mij werkt het het resolven (met Unbound 1.80) maar als ik met
Post by Miquel van Smoorenburg
Internet Protocol Version 4, Src: 192.168.xxx.xx, Dst: 194.109.6.66
Transmission Control Protocol, Src Port: 41276, Dst Port: 853, Seq: 456, Ack: 3957, Len: 31
Secure Sockets Layer
TLSv1.2 Record Layer: Encrypted Alert
Content Type: Alert (21)
Version: TLS 1.2 (0x0303)
Length: 26
Alert Message: Encrypted Alert
Undecoded byte number: 40 (0x0020+8)
[Expert Info (Note/Undecoded): Undecoded byte number: 40 (0x0020+8)]
[Undecoded byte number: 40 (0x0020+8)]
<Message: Undecoded byte number: 40 (0x0020+8)>
[Severity level: Note]
[Group: Undecoded]
Undecoded byte number: 41 (0x0020+9)
[Expert Info (Note/Undecoded): Undecoded byte number: 41 (0x0020+9)]
[Undecoded byte number: 41 (0x0020+9)]
<Message: Undecoded byte number: 41 (0x0020+9)>
[Severity level: Note]
[Group: Undecoded]
4 3.007321 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=3956121579 TSecr=3321242169
5 3.008172 192.168.xxx.xx 194.109.6.66 TLSv1.2 406 Client Hello
6 3.026147 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [ACK] Seq=294 Ack=1449 Win=32128 Len=0 TSval=3956121598 TSecr=3321242174
7 3.026224 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [ACK] Seq=294 Ack=2897 Win=35072 Len=0 TSval=3956121598 TSecr=3321242174
8 3.026338 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [ACK] Seq=294 Ack=3671 Win=37888 Len=0 TSval=3956121598 TSecr=3321242174
9 3.030198 192.168.xxx.xx 194.109.6.66 TLSv1.2 206 Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
10 3.033803 192.168.xxx.xx 194.109.6.66 TLSv1.2 182 Application Data
11 3.093468 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [ACK] Seq=456 Ack=3753 Win=37888 Len=0 TSval=3956121665 TSecr=3321242180
12 3.096146 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [ACK] Seq=456 Ack=3852 Win=37888 Len=0 TSval=3956121668 TSecr=3321242191
13 3.096716 192.168.xxx.xx 194.109.6.66 TCP 121 41502 → 853 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=3956121668 TSecr=0 WS=128
14 3.096862 192.168.xxx.xx 194.109.6.66 TLSv1.2 144 Encrypted Alert
15 3.097196 192.168.xxx.xx 194.109.6.66 TCP 113 41500 → 853 [FIN, ACK] Seq=487 Ack=3852 Win=37888 Len=0 TSval=3956121669 TSecr=3321242191
17 3.099642 192.168.xxx.xx 194.109.6.66 TCP 101 41500 → 853 [RST] Seq=487 Win=0 Len=0
18 3.099711 192.168.xxx.xx 194.109.6.66 TCP 101 41500 → 853 [RST] Seq=487 Win=0 Len=0
19 3.099809 192.168.xxx.xx 194.109.6.66 TCP 101 41500 → 853 [RST] Seq=488 Win=0 Len=0
Miquel van Smoorenburg
2018-10-04 11:04:15 UTC
Permalink
Post by nobody
Bij mij werkt het het resolven (met Unbound 1.80) maar als ik met
Post by Miquel van Smoorenburg
Internet Protocol Version 4, Src: 192.168.xxx.xx, Dst: 194.109.6.66
Transmission Control Protocol, Src Port: 41276, Dst Port: 853, Seq: 456, Ack: 3957, Len: 31
Secure Sockets Layer
TLSv1.2 Record Layer: Encrypted Alert
Content Type: Alert (21)
Dat is een packet dat aan jouw kant gegenereerd wordt. Misschien kan
je logging aanzetten om te zien of de software er iets over logt.

Wilde gok: staat de CA name goed ingesteld (resolver.xs4all.nl).

lMike.
nobody
2018-10-04 12:34:49 UTC
Permalink
Post by Miquel van Smoorenburg
Post by nobody
Bij mij werkt het het resolven (met Unbound 1.80) maar als ik met
Post by Miquel van Smoorenburg
Internet Protocol Version 4, Src: 192.168.xxx.xx, Dst: 194.109.6.66
Transmission Control Protocol, Src Port: 41276, Dst Port: 853, Seq: 456, Ack: 3957, Len: 31
Secure Sockets Layer
TLSv1.2 Record Layer: Encrypted Alert
Content Type: Alert (21)
Dat is een packet dat aan jouw kant gegenereerd wordt. Misschien kan
je logging aanzetten om te zien of de software er iets over logt.
Wilde gok: staat de CA name goed ingesteld (resolver.xs4all.nl).
lMike.
Dank je Mike en ik heb dat aangepast maar dan werkt het niet meer. Ik
heb OpenSLL 1.1.0h opstaan wat een voorwaarde is voor het gebruik van
een CA naam.

Mijn Unbound config regels:

# XS4all DNS forward-zone naar upstream resolver
forward-zone:
name: "."
forward-tls-upstream: yes
forward-addr: ***@853#resolver.xs4all.nl
forward-addr: ***@853#resolver.xs4all.nl

Zonder #resolver.xs4all.nl werkt het wel maar krijg ik die alert.
Post by Miquel van Smoorenburg
error: ssl handshake failed crypto error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Ik voeg dan de volgende config regel toe (boven forward-zone), dan start
Unbound niet meer.

tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
of
tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt"
Post by Miquel van Smoorenburg
/etc/unbound/unbound.conf.d/unbound-pihole.conf:91: error: syntax error
Het werkt zonder verificatie ik moet nog uitzoeken waarom
ca-certificates.crt niet geaccepteerd wordt.
nobody
2018-10-04 13:13:12 UTC
Permalink
Post by nobody
Ik voeg dan de volgende config regel toe (boven forward-zone), dan start
Unbound niet meer.
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
Post by Miquel van Smoorenburg
/etc/unbound/unbound.conf.d/unbound-pihole.conf:91: error: syntax error
Het werkt zonder verificatie ik moet nog uitzoeken waarom
ca-certificates.crt niet geaccepteerd wordt.
Nou nou, dat was even zoeken. Na zo'n 70 verschillende instelling
geprobeerd te hebben de oorzaak gevonden waarom ca-certificates.crt niet
geaccepteerd werd en de melding "syntax error" is ook niet echt informatief.

Nu blijkt dat deze regel zo hoog mogelijk in de het config bestand moet
komen te staan en mijn probleem was dat ik een andere actieve
forward-zone nog boven de ca-certificate regel had staan.

Ik krijg nu weer Alerts i.p.v helemaal geen resolv en die error melding
is er nog steeds.
Post by nobody
error: ssl handshake failed crypto error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
nobody
2018-10-04 14:33:11 UTC
Permalink
Post by nobody
Ik voeg dan de volgende config regel toe (boven forward-zone), dan start
Unbound niet meer.
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
.
.
Zo, ik ben er even klaar mee en zet mijn eigen config weer terug.

Ik heb nu als laatste getest met Quad9 of daar ook de melding kreeg van
Ubound. Met Quad9 is er geen error melding maar nog wel die Alert, en
wat ik gelezen heb is dat niet ernstig.
[1538663106] unbound[4129:0] error: ssl handshake failed crypto error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
[1538663106] unbound[4129:0] notice: ssl handshake failed 194.109.6.66 port 853
Ik heb zelfs domain-s toegevoegd in /etc/services maar dat mocht ook
niet baten.

Trouwens je kunt een verkort schrijfwijze gebruiken en een poortnummer
forward-addr: 194.109.6.66#resolver.x4sall.nl
nobody
2018-10-10 08:11:49 UTC
Permalink
Post by nobody
Post by nobody
Ik voeg dan de volgende config regel toe (boven forward-zone), dan start
Unbound niet meer.
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
knip
Post by nobody
niet baten.
Trouwens je kunt een verkort schrijfwijze gebruiken en een poortnummer
forward-addr: 194.109.6.66#resolver.x4sall.nl
Heeft verder nog iemand DNS over TLS uitgeprobeerd bij Xs4all?
Ik draai Pi-hole met Unbound en daar is het eenvoudig in te richten ook
als je alleen Unbound draait.

Bij mij werkte het uiteindelijk maar ik kreeg meldingen op het
certificaat wat gebruikt wordt.

Wat is jullie ervaringen ermee?

Hieronder de posting van Mike van 3 oktober jl.
Post by nobody
Sinds vandaag staat experimenteel* DNS-over-TLS aan op de
xs4all DNS servers voor klanten (de resolvers / recursors).
Het is standaard DNS-over-TLS op TCP poort 853 zoals
gedefinieerd in RFC7858.
De hostname van het TLS certificaat (de CN) is resolver.xs4all.nl.
* niet dat het een niet-ondersteunde dienst is, maar het is wel
een nieuwe dienst waar we nog ervaring mee op moeten doen.
Mike.
nobody
2018-10-12 19:17:20 UTC
Permalink
Ik ben hier nog een keer mee bezig geweest en het lijkt mij het
certificaat van Let's Encrypt het voorzaakt.
Uiteindelijk is het certificaten nog steeds zelf ondertekend wat dus
deze melding kan veroozaken.

Van de Let's Encrypt site:

Our roots are kept safely offline. We issue end-entity certificates to
subscribers from the intermediates in the next section.

Active
ISRG Root X1 (self-signed)

Bron: https://letsencrypt.org/certificates/
unknown
2018-10-12 20:24:27 UTC
Permalink
Post by nobody
Ik ben hier nog een keer mee bezig geweest en het lijkt mij het
certificaat van Let's Encrypt het voorzaakt.
Uiteindelijk is het certificaten nog steeds zelf ondertekend wat dus
deze melding kan veroozaken.
Our roots are kept safely offline. We issue end-entity certificates to
subscribers from the intermediates in the next section.
Active
ISRG Root X1 (self-signed)
Bron: https://letsencrypt.org/certificates/
Is uiteindelijk niet élk root-certificaat self-signed? Jouw setup heeft
kennelijk de Let's Encrypt root niet in z'n lijst van "common roots" staan.
--
robert
nobody
2018-10-13 01:00:54 UTC
Permalink
Post by unknown
Post by nobody
Ik ben hier nog een keer mee bezig geweest en het lijkt mij het
certificaat van Let's Encrypt het voorzaakt.
Uiteindelijk is het certificaten nog steeds zelf ondertekend wat dus
deze melding kan veroozaken.
Our roots are kept safely offline. We issue end-entity certificates to
subscribers from the intermediates in the next section.
Active
ISRG Root X1 (self-signed)
Bron: https://letsencrypt.org/certificates/
Is uiteindelijk niet élk root-certificaat self-signed? Jouw setup heeft
kennelijk de Let's Encrypt root niet in z'n lijst van "common roots" staan.
Dat was allemaal goed en ik heb het gevonden waarom het niet goed ging.

Er zit nl. een schrijffout in de onderstaande config gedeelte. Tig keren
overheen gekeken. :-(
Post by unknown
# XS4all DNS forward-zone naar upstream resolver
name: "."
forward-tls-upstream: yes
forward-addr: 194.109.6.66#resolver.x4sall.nl
forward-addr: 194.109.9.99#resolver.xs4all.nl
Bij 194.109.6.66 heb ik resolver.x4s4all.nl i.p.v. resolver.xs4all.nl
staan en dan klopt dus de domeinnaam niet meer met die in het certificaat.

Ik vond het al raar dat het naar een aantal pogingen ineens geen fout
meer gaf en was waarschijnlijk Unbound overgegaan op de tweede regel
omdat de eerste geen IP adres teruggaf.

Blij dat dit probleem nu opgelost is en het liet mij niet los waarom het
nu niet werkte.

Mike het werk nu ook hier!
Marco Davids
2018-12-19 11:50:15 UTC
Permalink
Mijn oog viel hier nu pas op.

Dank Xs4All (Mike) voor dit experiment.

Verder heb ik precies dezelfde ervaring als hieronder:

--
Marco
Post by nobody
Post by Miquel van Smoorenburg
Wilde gok: staat de CA name goed ingesteld (resolver.xs4all.nl).
lMike.
Dank je Mike en ik heb dat aangepast maar dan werkt het niet meer. Ik
heb OpenSLL 1.1.0h opstaan wat een voorwaarde is voor het gebruik van
een CA naam.
# XS4all DNS forward-zone naar upstream resolver
name: "."
forward-tls-upstream: yes
Zonder #resolver.xs4all.nl werkt het wel maar krijg ik die alert.
Post by Miquel van Smoorenburg
error: ssl handshake failed crypto error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Ik voeg dan de volgende config regel toe (boven forward-zone), dan start
Unbound niet meer.
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
of
tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt"
Post by Miquel van Smoorenburg
/etc/unbound/unbound.conf.d/unbound-pihole.conf:91: error: syntax error
Het werkt zonder verificatie ik moet nog uitzoeken waarom
ca-certificates.crt niet geaccepteerd wordt.
Miquel van Smoorenburg
2018-12-19 15:10:47 UTC
Permalink
Post by Marco Davids
Mijn oog viel hier nu pas op.
Dank Xs4All (Mike) voor dit experiment.
Een certificate verification/validation error?

In de rest van de thread staat dat de persoon die dat postte het
uiteindelijk wel werkend heeft gekregen - hij had een typo
in de config ergens gemaakt.

Ik heb gecheck met

gnutls-cli --print-cert --verify-hostname resolver.xs4all.nl 194.109.6.66:853
gnutls-cli --print-cert --verify-hostname resolver.xs4all.nl 194.109.9.99:853

.. en dan krijg ik geen certificate verification error.

Mike.

Loading...