[Patch] Unbound DNSSEC Validierender Resolver

wernerj

Neuer User
Mitglied seit
22 Sep 2006
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe den Unbound Patch aus Trac auf den aktuellen Stand gebracht.
Änderungen:
- Es wird nicht mehr DLV (DNSSEC Lookaside Validation) benutzt, sondern mit Hilfe des DNS-Rootkeys validiert (sei Juni ist DNSSEC bei den Root-Server aktiv, deswegen ist DLV nicht mehr nötig...)
- rc.unbound entsprechend angepasst, so dass der root-key an die passende Stelle kopiert wird.
- Das Web-Frontend aus dem älteren Patch in trac habe ich auch gleich mit integriert.

Bei mir funkioniert die DNSSEC-Validierung in folgendem Setup:
- Dnsmasq forwarded alle DNS-Anfragen an unbound. Dazu unter "zusätzlich diese Upstream Nameserver nutzen (durch Leerzeichen getrennt): " die lokale IP und Port von unbound eintragen (also 192.168.178.1#533) und die Option "Durch AVM/Provider zugewiesene Upstream Nameserver nutzen" deselektieren.
- Unbound muss automatisch gestartet werden, ansonsten hat man kein DNS nach dem Reboot
- Damit DNSSEC funkioniert, benötigt die Fritz-Box die korrekte Systemzeit! Beim booten hat die Box dann folgendes Problem: sie will die Namen der Time-Server resolven, das geht aber noch nicht da das DNS noch nicht geht weil bei unbound die DNSSEC Validierung (bzw. eigentlich das holen der aktuellen Root-Signaturen) wg. der falschen Systemzeit fehlschlägt. Das ist dann ein klassischer Deadlock... Dafür gibt es zwei Lösungen entweder unbound so konfigurieren, dass er auch ohne DNSSEC arbeitet (val-permissive-mode: yes im config eintragen, aber dann braucht man DNSSEC eigentlich auch gar nicht aktivieren) oder für die Time-Server statt DNS-Namen einfach die IP-Adressen eintragen (im normalen fritz.box Webfrontend die IPs von den PTB-Servern eintragen: "192.53.103.108 192.53.103.103 192.53.103.104").

Ob DNSSEC funktioniert kann man ganz einfach unter linux testen mit dem Kommandos (funkioniert natürlich nur für DNSSEC signierte Domains wie z.B. isc.org):
dig -p 533 @192.168.178.1 www.isc.org +dnssec (Anfrage direkt an Unound welcher an Port 533 lauscht)
dig @192.168.178.1 www.isc.org +dnssec (Anfrage über dnsmasq, welcher ja nur die Anfrage an unbound weiterreicht)

Die Ausgabe sollte dann folgendermaßen aussehen (wichtig ist das bei flags der Wert "ad" für authenticated data vorkommt):

; <<>> DiG 9.7.1-P2 <<>> @192.168.178.1 www.isc.org +dnssec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21206
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 13

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

;; ANSWER SECTION:
www.isc.org. 528 IN A 149.20.64.42
www.isc.org. 528 IN RRSIG A 5 3 600 20101115233208 20101016233208 31518 isc.org. HcMfYvpUUP0u4tO9YfbQ/2tBGvB+1d9tikMdEY+Xc6USsTYaU3jBNZG0 BMJhMhy7vdVU1WOkciY7JhFC+6nZcXqwrJrbThY+S5DnKzXr3qIS4qTX 7JX9l3U4AiIoJQ2YVJrY4mkzSnzvynyRbDyv1TMyXjwh7Pk0UGxRlD9L IzA=

Um im Browser zu sehen ob DNSSEC funktioniert kann man bei Firefox die Erweiterung DNSSEC Validator installieren.

Wer mehr über DNSSEC wissen will, sollte sich den Artikel in einer der letzten c'ts zu Gemüte führen.

Grüße,

Jörg
 

Anhänge

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,754
Punkte für Reaktionen
10
Punkte
38
... im normalen fritz.box Webfrontend die IPs von den PTB-Servern eintragen: "192.53.103.108 192.53.103.103 192.53.103.104")....
Könntest Du ein Screenshot des "normalen fritz.box Webfrontend" posten, wo man die IPs der PTB-Server eintragen kann? Danke.
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,754
Punkte für Reaktionen
10
Punkte
38
Danke. Bei der 7170 können diese Server leider nicht eingetragen werden.
 

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
7,754
Punkte für Reaktionen
10
Punkte
38
...
- Damit DNSSEC funkioniert, benötigt die Fritz-Box die korrekte Systemzeit!
...
Ich habe Unbound DNSSEC auf meiner 7240 getestet und es funktioniert auch, so wie in diesem Thread beschreiben.

Lediglich mit multid hatte ich ein Problem festgestellt:
Mit dem Freetz-Patch habe ich chronyd entfernt. Da ich die Box am Kabelmodem ausgetauscht habe, hatte die 7240 sofort nach dem Booten, kein Internetzugang (erst nach dem Reset des Kabelmodems). Nach dem Reset des Kabelmodems, hat die Box zwar Internetzugang, aber multid (ohne -t) kann die Zeit nicht mehr holen. Mit chronyd gibt es dieses Problem nicht, denn chronyd kann auch zu einem späteren Zeitpunkt (nach dem Reset des Kabelmodems), die Zeit aus dem Internet (automatisch) holen. Entgegen einigen Beiträgen hier im Form, wird mit chronyd, die Box nicht heiss, das syslog wird nicht voll geschrieben und der Speicherverbrauch bzw. die Prozessorbelastung sind auch nicht hoch:
Code:
7394     1 root     S     1308   [B][COLOR="Red"]2%   0%[/COLOR][/B] /sbin/chronyd -f /var/tmp/chrony.conf
 

adn77

Neuer User
Mitglied seit
27 Mai 2005
Beiträge
13
Punkte für Reaktionen
2
Punkte
3
Ich habe mal den Patch von wernerj aufgegriffen und an das aktuelle Unbound-1.6.7 angepasst.
In dieser Konfiguration arbeitet Unbound als DNSSEC Resolver mit QName Minimization.

Klappt auf meiner 7490 sehr gut. Man sollte per Cron gelegentlich die root.hints updaten.
Ausführlicher beschrieben auf meinem Blog: http://blog.loetzimmer.de/2017/11/fritzbox-7490-mit-freetz-fur-unbound.html
 

Anhänge

  • Like
Reaktionen: SinusX und Micha0815

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,874
Beiträge
2,027,622
Mitglieder
350,998
Neuestes Mitglied
Jubudu