Was wollen wir?
AD-Blocker / Content Filter / Encrypted DNS besser kennenlernen und verstehen wie es zusammenhängt und funktioniert.
Warum wollen wir das?
Die DNS Funktionen zu benutzen ist recht einfach und wird in den meisten Fällen und für die meisten Anwender auch einfach so funktionieren. Freunde und Hobbyisten der Paketorientierten Vermittlung von Informationen mittels Ethernet, können aber mit den Informationen Ihr eigenes Netzwerk ggf. besser planen und Umsetzen.
Hier gibt es dazu für das Thema DNS eine Aufschlüsselung und Hintergründe.
Und wie geht das genau?
Vorweg:
Der Artikel ist mit Hilfe einer UDM-SE unter UniFIOS 4.2.8 und Network 9.1.116 entstanden. Beide sind zur Zeit early access und damit "Beta". Ubiquiti verändert immer mal wieder ihren DNS Ansatz und ändert "unter der Haube" auch mal grundlegende Mechaniken. Das Ergebnis nach außen ist aber mehr oder minder konstant. Wo es sinnvoll ist versuche ich darauf hinzuweisen.
Irgendwelche manuellen Firewall Einstellungen die die Kommunikation verhindern
finden hier keine Beachtung und liegen in den sachkundigen Händen des
Anwenders.
Ohne ALLES:
Auf UniFiOS läuft ein dnsmasq Server (https://thekelleys.org.uk/dnsmasq/doc.html), der sowohl als DNS- als auch als DHCP- Server fungiert. Als DNS Server liefert er lokale IP-Adressen zurück, die aus den individuellen Client Einstellungen (Client Devices → Settings → Local DNS Record), den globalen DNS Einträgen (Einstellungen → Routing → DNS), oder aus den DHCP Server Informationen bestehen. Alle nicht lokal auflösbaren Anfragen werden automatisch an die im WAN-Interface konfigurierten DNS-Server weitergeleitet. Unabhängig davon ob diese manuell eingetragen wurden oder dynamisch über DHCP bzw. PPPoE bezogen werden. Soweit also mehr oder minder das gleiche verhalten wie jeder andere Router. dnsmasq gilt dabei als stabil und wird auch von vielen anderen Herstellern standardmäßig benutzt.
Encrypted DNS (ehemals DNS-Shild):
Für Encrypted DNS kommt der dnscrypt-proxy (https://github.com/DNSCrypt/dnscrypt-proxy) vom Dnscrypt Projekt zum Einsatz. Sobald dieser eingeschaltet ist werden die DNS Server vom WAN Interface komplett ignoriert und die DNS Anfragen vom DNSMasq stattdessen auf den dnscrypt-proxy weitergeleitet. Dieser verschlüsselt dann die Anfrage und schickt sie an die eingestellten DNS Server. Aktuell wird Encrypted für ALLE Vlans global verwendet wenn aktiviert. Unter https://raw.githubusercontent.com/DNSCrypt/dnscr…ic-resolvers.md sind alle aktuellen Server aufgelistet und wenn vorhanden mit ein paar Informationen und Links zu den Betreibern angereichert. Es gibt hier hier durchaus auch DNS Server die bereits AD/SPAM/ADULT Filter mitbringen.
AD Blocker:
In den Security Einstellungen lässt sich für jedes VLAN ein AD-Blocker aktivieren. Der DNS Traffic von jeweiligen VLAN wird dann über interne Firewall Regeln auf einen eigenen DNS Server umgeleitet. Der aus der Docker Welt bekannte CoreDNS (https://coredns.io) lauscht dafür auf auf 127.0.01 (localhost) bzw. 2001:db8:1000::1/128 (nicht öffentlich iP, aus dem DOKU Bereich, auch auf "Localhost" gebunden) auf Port 1053 und nimmt für das VLAN dann alle DNS Anfragen an. Er führt dazu die Lokalen DNS Namen in einer Whitelist und die AD liste (/usr/share/ubios-udapi-server/utm/ads.list) in einer Blocklist . Gültige Domains werden dann wie gewohnt zu dem Lokalen dnsmasq weitergeleitet.
Wichtig zu wissen ist hierbei das sobald eine DNS Anfrage den Router erreicht diese umgebogen wird. Egal was am Client als DNS eingetragen ist. Damit kann von einem Client nicht mal eben ein andere DNS benutzt werden der nicht im gleichen VLAN liegt. Für alle die z.B einen ADGuard oder PIHole betreiben wollen ist das wohl Elementar drauf zu achten und ggf. auf den UniFi eignen AD Blocker zu verzichten.
History:
In früheren Versionen war die Blocklist auch über dnsmasq realisiert, dazu lief pro Vlan eine eigener dnsmasq Instanz in einem virtuellen IP Raum (LIUNX Names Space, 203.0.113.0/24, 2001:db8::/32 IP sind nicht öffentlich, sind eigentlich für Doku Zwecke reserviert).
Reporting:
In früheren Versionen nicht mehr als ein "X Anfragen wurden geblockt
spuckt die Flow Ansicht in "Insights" nun mehr Informationen aus.
Und da gibt es auch in den Deteils gleich die Möglichekit eine
Domain wieder zu erlauben. (Sie erscheinen dann normal in den Firewall Rules auf)
Content Filter:
In den Netzwerkeinstellungen kann ein Content Filter eingeschaltet werden. Dieser kommt in den Stufen "Family" und "Work". Analog zum AD Blocker wird hier auch wieder für das VLAN der Traffic über den CoreDNS mittels Iptables umgeleitet. Die Anfragen gehen dann allerdings nach EXTERN zu den DNS Servern von https://cleanbrowsing.org. Der Family Filter nennt sich dann dort auch "Family Filter", der Work Filter heißt dort dann "Adult Filter"
Family Filter | Blocks access to all adult, pornographic and explicit sites. It also blocks proxy and VPN domains that are used to bypass the filters. Mixed content sites (like Reddit) are also blocked. Google, Bing and Youtube are set to the Safe Mode. Malicious and Phishing domains are blocked. (e.g., family-filter-dns.cleanbrowsing.org, 185.228.168.168) |
Adult Filter | Blocks access to all adult, pornographic and explicit sites. It does not block proxy or VPNs, nor mixed-content sites. Sites like Reddit are allowed. Google and Bing are set to the Safe Mode. Malicious and Phishing domains are blocked. (e.g., adult-filter-dns.cleanbrowsing.org, 185.228.168.10) |
Wichtig!
Auch mit mit Encrypted DNS werden die Anfragen unverschlüsselt
zu cleanbrowsing weitergeleitet, hier wird das Encrypted DNS bisher umgangen.
Noch nen DNS
Auf allen Interfaces läuft auf Port 20201 noch eine zweite dnsmasq Instanz.
mit einer ähnlichen Config wie der der "normale" DNS. Der DNS wird aber
offensichtlich nur in bestimmten fällen angesteuert. Das schaut für mich
mach WanFailover aus die ich aber nicht weiter Untersuchen kann da ich
Simpel wie es ist kein zweiten Internet Anschluss habe So weit siehst aber danach aus
im falle eines WAN Ausfall localen DNS Traffic noch zu ermöglichen.
bzw. testen zu können.
zu guter letzt
AD wie auch Contentfilter werden nur aus den aktivierten localen VLANs wirksam. Das bedeutet vor allem das Anfragen ans DNS von
VPN Verbindungen diese auch auch IMMER unterlaufen. Die VPN Netze sind nicht Auswählbar und finden auch in den Configs files
keine Beachtung.
Comments 10