Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German) Deutsche Dokumentation
  • Search

B6 Privacy mit unbound / DNS over TLS

Dokumentation, Tipps und Tricks.
Post Reply
  • Print view
Advanced search
4 posts • Page 1 of 1
Author
Message
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

B6 Privacy mit unbound / DNS over TLS

  • Quote

Post by pietinger » Sun Dec 13, 2020 12:39 am

(Dieser Post ist Teil einer Installation-Anleitung. Falls nicht schon geschehen lies bitte: Installation Guide for Paranoid Dummies)



B.6 Privacy mit unbound / DNS over TLS

Auch wenn viele auf den "dnsmasq" schwören, ist m.M. der "unbound" für einen Desktop geeigneter. Falls Dir die Überschrift wenig sagt, lies doch:
https://de.wikipedia.org/wiki/DNS_over_TLS

Edit 2023-04-26: WikiPedia hat mal wieder umfangreich gelöscht. Die Liste mit den freien DNS-Servern ist weg ... :evil:

Hier findest Du auch öffentliche DNS-Server, die behaupten nicht zu zensieren und zu protokollieren. Im folgenden werde ich zwei Beispiel-Server daraus verwenden. Entscheide Dich selbst für Dir geeignet erscheinende DNS-Server. Ich habe unbound nicht als Ad-blocker konfiguriert, da ich dafür den privoxy verwende. Du kannst natürlich die Konfiguration von unbound entsprechend erweitern.

Der Artikel in unserem Gentoo Wiki ist (Stand:heute) noch etwas dürftig:
https://wiki.gentoo.org/wiki/Unbound

Dafür gebe ich Dir aber zwei hervorragende Links zum Thema:
https://www.privacy-handbuch.de/handbuch_93c.htm
https://dnsprivacy.org/

Wenn Du DHCP im Einsatz hast, konfiguriere es so, dass es die /etc/resolv.conf NICHT überschreibt ! Ich empfehle nach wie vor für private Zwecke eine statische IP-Adresse zu verwenden (macht das Leben einfacher).

Wenn Du eine FireWall im Einsatz hast, ergänze diese um folgende Freigaben (setze die IP-Adresse(-n) Deiner auserwählten DNS-Server ein):

Code: Select all

ip_dnssec1="185.95.218.42"      # free dns-server: Digitale Gesellschaft (CH)
ip_dnssec2="185.95.218.43"      # free dns-server: Digitale Gesellschaft (CH)
[...]
# accept dnssec
iptables -A OUTPUT      -d ${ip_dnssec1} -p tcp --dport 853 -j ACCEPT
iptables -A OUTPUT      -d ${ip_dnssec2} -p tcp --dport 853 -j ACCEPT
1. Wir holen uns den stable unbound:

Code: Select all

# emerge -pv unbound
2. Danach editierst Du die /etc/unbound/unbound.conf. Ich habe hier - beispielhaft - obige DNS-Server eingetragen. Ändere dies auf die von Dir gewünschten (ansonsten kannst Du einfach von hier rauskopieren).
Edit 2022-03-29: Falls "unbound" zentral für mehrere Clients im Einsatz ist, solltest Du die Option "num-threads: 2" prüfen und ggf. höher setzen. Für einen lokalen Einsatz genügt aber auch "num-threads: 1" vollkommen.

Code: Select all

server:
        verbosity: 1
        num-threads: 2
        interface: 127.0.0.1
        port: 53
        so-reuseport: yes
        cache-min-ttl: 300
        cache-max-ttl: 86400
        do-ip4: yes
        do-ip6: no
        do-udp: yes
        do-tcp: yes
        use-systemd: no
        do-daemonize: yes
        # By default everything is refused, except for localhost.
        # access-control: 127.0.0.0/8 allow
        use-syslog: yes
        # file to read root hints from.
        # get one from https://www.internic.net/domain/named.cache
        # root-hints: ""
        hide-identity: yes
        hide-version: yes
        harden-short-bufsize: yes
        harden-large-queries: yes
        harden-glue: yes
        harden-dnssec-stripped: yes
        harden-below-nxdomain: yes
        harden-referral-path: yes
        harden-algo-downgrade: yes
        qname-minimisation: yes
        qname-minimisation-strict: no
        aggressive-nsec: yes
        use-caps-for-id: yes
        prefetch: yes
        rrset-roundrobin: yes
        minimal-responses: yes
        # File with trusted keys for validation. Specify more than one file
        # with several entries, one file per entry.
        # Zone file format, with DS and DNSKEY entries.
        # Note this gets out of date, use auto-trust-anchor-file please.
        # trust-anchor-file: "/etc/dnssec/root-anchors.txt"
        tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt"

remote-control:
        control-enable: no

forward-zone:
        name: "."
        forward-tls-upstream: yes
        forward-addr: 185.95.218.42@853
        forward-addr: 185.95.218.43@853
3. Danach testen wir ob alles läuft. Zuerst machen wir eine herkömmliche Abfrage (bei mir ist momentan der Router als DNS-Server eingetragen) und danch eine über unbound. Diese wiederholen wir, um den Cache-Effekt zu sehen (Query Time):

Code: Select all

# /etc/init.d/unbound start

# dig gentoo.org

; <<>> DiG 9.16.6 <<>> gentoo.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 544
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;gentoo.org.                    IN      A

;; ANSWER SECTION:
gentoo.org.             5681    IN      A       89.16.167.134

;; Query time: 10 msec
;; SERVER: 192.168.2.1#53(192.168.2.1)
;; WHEN: So Dez 13 00:42:32 CET 2020
;; MSG SIZE  rcvd: 55


# dig @localhost gentoo.org

; <<>> DiG 9.16.6 <<>> @localhost gentoo.org
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8967
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;gentoo.org.                    IN      A

;; ANSWER SECTION:
gentoo.org.             7200    IN      A       89.16.167.134

;; Query time: 253 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: So Dez 13 00:43:14 CET 2020
;; MSG SIZE  rcvd: 55


# dig @localhost gentoo.org

; <<>> DiG 9.16.6 <<>> @localhost gentoo.org
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16266
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;gentoo.org.                    IN      A

;; ANSWER SECTION:
gentoo.org.             7193    IN      A       89.16.167.134

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: So Dez 13 00:43:21 CET 2020
;; MSG SIZE  rcvd: 55
Falls Du eine FW im Einsatz hast, solltest Du jetzt diese Pakete auch mit "iptables -L -v -n" sehen.

4. Wenn alles funktioniert hat, stellen wir unsere /etc/resolv.conf auf unseren unbound um:

Code: Select all

nameserver 127.0.0.1
options trust-ad
5. Falls Du D.) AppArmor einsetzt, kopiere gleich das entsprechende Profil für unbound aus D.6 in Dein /etc/apparmor.d Verzeichnis.

6. Aktiviere unbound für den nächsten Systemstart mit:

Code: Select all

# rc-update add unbound default
7. Führe einen Reboot durch und prüfe als erstes einen "normalen" dig. Wenn alles funktioniert, dann entferne in Deiner FireWall die bisherigen Freigaben für Port 53 ... da obsolet ... ;-)

.
Last edited by pietinger on Wed Apr 26, 2023 2:38 pm, edited 17 times in total.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

Test it

  • Quote

Post by pietinger » Wed Dec 16, 2020 10:49 pm

Ich vergaß ein paar Links damit Du das auch testen kannst (benötigt javascript):

Folgender Link sollte von Deinem Browser nicht mehr geöffnet werden können:
https://www.dnssec-failed.org

Hier kannst Du prüfen ob DNSSEC funktioniert (nur für IPv4 halt); Domain signature validation (DNSSEC) sollte ein grünes Häkchen haben:
https://internet.nl/connection

Zuletzt noch ein DNSSEC resolver algorithm test:
https://rootcanary.org/test.html
(Hier musst Du ein wenig warten; möglicherweise wird zuerst alles mit rot angezeigt; warte noch länger !)
Last edited by pietinger on Wed Dec 21, 2022 2:50 pm, edited 3 times in total.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

  • Quote

Post by pietinger » Thu Jan 21, 2021 12:14 pm

Aktuell wurden Sicherheitslücken im DNSMASQ gefunden: https://www.jsof-tech.com/disclosures/dnspooq/ und https://www.jsof-tech.com/wp-content/up ... epaper.pdf

(Deutsch: Heise -> https://www.heise.de/news/DNSpooQ-Siche ... 30266.html )

Das könnte aber jedem DNS-Server passieren - auch dem von uns verwendeten unbound. Deshalb möchte ich noch einmal eindringlich auf das AA-Profil für unbound in D.6 hinweisen.
Top
pietinger
Moderator
Moderator
Posts: 6617
Joined: Tue Oct 17, 2006 5:11 pm
Location: Bavaria

unbound im Server Einsatz

  • Quote

Post by pietinger » Sun Oct 16, 2022 8:42 pm

unbound im Server Einsatz

Ein Freund fragte mich ob ich denn auch für seine Firewall ein Loopback NAT (*) konfigurieren könnte, da er einen Webserver hat, der auch vom Internet aus erreichbar ist. Wenn er aber intern (=von seinem LAN aus) im Browser diese (seine eigene) Seite (mit dem echten Namen) ansurft, geht das (natürlich) nicht, da unbound ihm ja die externe IP-Adresse liefert.

(* siehe kurz hier: https://en.wikipedia.org/wiki/Network_A ... airpinning ; NEIN, ich empfehle das NICHT !)

Da er aber eh' unbound als zentralen caching DNS resolver nutzt, habe ich ihm stattdessen DNS spoofing empfohlen. Mir hat diese Seite dabei sehr geholfen:
https://dnswatch.com/dns-docs/UNBOUND/

Ich muß hinzufügen, es ist ein kleines Heim-Netzwerk. Für größere Netze emfehle ich das nicht. Hier sollte man eher ein Split DNS machen, oder in diese Richtung schauen (Nein, ich habe es mir nicht angetan):
https://unbound.docs.nlnetlabs.nl/en/la ... g/rpz.html

Wenn Du also unbound zentral auf einem Server hast, der für mehre Kisten zuständig ist (und in den Clients die "resolv.conf auf diesen zeigst), dann kannst Du die Konfiguration vom ersten Post so erweitern/ergänzen (BEISPIEL):

Code: Select all

server:

    interface: 0.0.0.0

    access-control: 10.0.0.0/8      allow
    access-control: 172.16.0.0/12   allow
#   access-control: 192.168.0.0/16  allow
    access-control: 127.0.0.1       allow
    access-control: 0.0.0.0         deny
    
    private-address: 10.0.0.0/8
    private-address: 172.16.0.0/12
#   private-address: 192.168.0.0/16
    private-domain: "mylan"

# "Abuse" unbound as DNS server

    local-zone: "mylan." static

    local-data: "firewall.mylan.    IN A 10.0.0.1"
    local-data: "laptop.mylan.      IN A 10.0.0.2"
    local-data: "desktop.mylan.     IN A 10.0.0.3"
    local-data: "intserver.mylan.   IN A 172.16.0.2"
    local-data: "webserver.mylan.   IN A 172.16.0.3"
    local-data-ptr: "10.0.0.1  firewall.mylan"
    local-data-ptr: "10.0.0.2  laptop.mylan"
    local-data-ptr: "10.0.0.3  desktop.mylan"
    local-data-ptr: "172.16.0.2 intserver.mylan"
    local-data-ptr: "172.16.0.3 webserver.mylan"
    
### If your webserver is reachable from outside and has a valid internet name use DNS spoofing

    local-data: "realwebservername.realdomain.org. IN A 172.16.0.3"
Meiner Meinung muss für so ein kleines Netz keine Optimierung der unbound-Konfiguration gemacht werden. Falls es bei Dir wirklich nötig sein sollte, hilft Dir diese Seite sicherlich weiter: https://unbound.docs.nlnetlabs.nl/en/la ... mance.html

.
Top
Post Reply
  • Print view

4 posts • Page 1 of 1

Return to “Deutsche Dokumentation”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy