[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

  • unbound.diff.gz
    3.3 KB · Aufrufe: 34
... 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.
 
Screenshot

Hallo,

anbei der Screenshot.

Grüße,

Jörg
 

Anhänge

  • Timeserver.jpg
    Timeserver.jpg
    96.3 KB · Aufrufe: 69
Danke. Bei der 7170 können diese Server leider nicht eingetragen werden.
 
...
- 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
 
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

  • freetz_unbound_1.6.7.patch.zip
    3.5 KB · Aufrufe: 17
  • Like
Reaktionen: SinusX und Micha0815
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.