Benutzer-Werkzeuge

Webseiten-Werkzeuge


server_und_serverdienste:stubby_dns_over_tls_-_dns_daten_verschluesseln

Subby und Unbound, DNS over TLS - DNS Daten verschlüsseln

Stubby

Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! 🙏


Zum frei verfügbaren Apt-Repository
GITLAB:

Nicht jeder möchte vielleicht seine DNS Daten dem Provider zur Verfügung stellen. Um dies zu unterbinden, muss man seine DNS Daten verschlüsseln. Um das ganze nicht selbst mit Zertifikat und Co. aufwendigst konfigurieren zu müssen, bedient man sich seines zentralen DNS Servers. In unserem Beispiel hier kommt Bind zum Einsatz. Der Bind DNS Server muss auf jedem Client als zu abfragender DNS eingetragen sein. Vorzüglich mit DHCP.

Verwendetes System: Ubuntu 22.04 und Raspbian 11
DNS Service: Bind
DNS Anbieter: dot.ffmuc.net → Doku

Voraussetzung für dieses Setup ist ein bereits sauber funktionierender Bind DNS-Server.

Installation und Konfiguration

apt install stubby -y

Danach ist der DNS-Service von FFMUC in die stubby.yml einzupflegen. Die Standardkonfiguration empfehle ich dir wegzukopieren:

mv /etc/stubby/stubby.yml /etc/stubby/stubby.yml_orig

Diesen Inhalt kannst du übernehmen:

stubby.yml
resolution_type: GETDNS_RESOLUTION_STUB
dns_transport_list:
  - GETDNS_TRANSPORT_TLS
tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
tls_query_padding_blocksize: 128
edns_client_subnet_private : 1
round_robin_upstreams: 1
idle_timeout: 10000
listen_addresses:
  - 127.0.2.2@10053
dnssec: GETDNS_EXTENSION_TRUE
upstream_recursive_servers:
  - address_data: 5.1.66.255
    tls_auth_name: "dot.ffmuc.net"        
  - address_data: 185.150.99.255
    tls_auth_name: "dot.ffmuc.net"

Nun noch in den Bind-Options Stubby als DNS-Forwarder eintragen:

nano /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
       
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        forwarders {
                127.0.2.2 port 10053;
                };
        forward only;
        
       # hier steht noch weitere Config...


};

Dienste neu Starten. Fertig. Und schon werden alle deine DNS-Anfragen nach außerhalb verschlüsselt.

systemctl restart named stubby.service
systemctl status  named stubby.service

Unbound

Solltest du mit Stubby Probleme haben, wie z.B. Antwortzeiten mit 5-7 Sekunden, dann versuche die an Unbound. Ich hatte hier nach langer Zeit genau das Problem das ich mit Stubby auf einmal sehr lange Antwortzeiten produzierte. Warum, bin ich leider nie dahinter gekommen. Lösung war Unbound.

apt install unbound

Unbound bringt seinen eigenen DNS-Resolverservice mit. Sofern du bereits Systemd-Resolved benutzt, kannst du den Resolver von Unbound deaktivieren. In dem Zuge kannst du auch gleich Stubby abschalten, falls du diesen vorher auch so wie ich, verwendet hast:

systemctl disable --now stubby.service
systemctl disable unbound-resolvconf.service

Unter Ubuntu 24.04 kommt Unbound mit einer fast 0-Config ans Tageslicht. Du kannst die folgende Config gerne 1:1 von mir hier übernehmen. Die veränderbare Config sollte unter /etc/unbound/unbound.conf.d/<name>.config abgelegt werden. Mit meiner Config gehe ich davon aus das bereits ein DNS-Server wie Bind auf dem Server läuft. Unbound wird nur als Proxy/Forwarder verwendet. Aus diesem Grund binde ich Unbound auch auf 127.0.2.2 auf dem Port 10053.

mydnsprovider.conf
server:
   hide-identity: yes
   hide-version: yes
   use-caps-for-id: yes
   aggressive-nsec: yes
   ip-address: 127.0.2.2@10053
   tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
 
forward-zone:
   name: "."
   forward-tls-upstream: yes
 
   # Freifunk München
   forward-addr: 5.1.66.255@853#dot.ffmuc.net
   forward-addr: 195.30.94.28@853#dot.ffmuc.net
 
   # Digitale Gesellschaft (CH) DNS Server
   forward-addr: 185.95.218.42@853#dns.digitale-gesellschaft.ch
   forward-addr: 185.95.218.43@853#dns.digitale-gesellschaft.ch

Zu guter letzt ist das Service noch zu restarten:

systemctl restart unbound
server_und_serverdienste/stubby_dns_over_tls_-_dns_daten_verschluesseln.txt · Zuletzt geändert: von 127.0.0.1