Kompletten Traffic über eigenen DNS oder Proxy zwingen
-
Hallo zusammen,
ich habe da mal eine Frage zum Thema Jugendschutz.
Ich nutze eine pfSense, um das Netzwerk in einem Kinderheim zu schützen. Ich habe in unserem Netzwerk einen Server, auf dem mehrere virtuelle Maschinen laufen. Eine der Maschinen ist der AdGuard Home, der dafür sorgt, dass die Kinder nicht „unbewusst“ auf diverse Seiten landen. Nun ist es aber auch so, dass jedes Kind/Jugendlicher auch ein eigenes Handy/Tablet hat. Damit ist auch jeder in der Lage an seinem eigenen Gerät den DNS zu ändern und somit unseren Filter zu umgehen.
Jetzt meine Frage:
Kann ich pfSense dazu nutzen, einfach jeden Verkehr, der über unser LAN/WLAN nach außen geht, über unseren DNS zu jagen? Egal, was man an den Endgeräten für einen DNS eingestellt hat?
Ich danke schon einmal im Voraus.
-
@tutanchamun
Ja, du kannst mit einer NAT Portforwarding Regel sämtliche DNS-Anfragen auf die pfSense oder einen beliebigen DNS Server umleiten.
Zusätzlich solltest du DoT (853) und DoH blockieren. Letzteres kann pfBlockerNG mit speziellen Listen weitgehend gründlich erledigen. -
@tutanchamun Um @viragomann da kurz zu ergänzen:
Die orangenen Punkte wird wahrscheinlich deine AdGuard Home Installation schon abfangen? Eventuell nachschauen wäre da vielleicht nicht schlecht, wenn man ohnehin "diverse Seiten" für Kinder filtert, wäre SafeSearch auch noch ein Punkt.
Anyway im DNSBL Part von pfBlockerNG dann DNSBL SafeSearch anklicken, im unteren Bereich ist dann der Block mit DoH/DoT/DoQ beheimatet, der hier dann die bekannteren (alle natürlich nicht, wie auch) DNS Services listet. Dort kann man dann diese wegblocken. Allerdings müsste der AdGuardHome dann auch die pfSense als Upstream DNS verwenden, damit das funktioniert. Wenn AGH das schon selbst kann und übernimmt, nevermind, dann muss man hier an der Stelle nichts ergänzen.
Wichtig wäre dann ausgehend noch TCP 853 wie gesagt zu blocken, DoH/DoQ kann man sonst nur via DNS Blocking abfangen, das das via TCP/UDP 443 läuft und sich als Web Traffic tarnt.
Ansonsten was den Redirect angeht:
Beispiel: LAN mit 192.168.1.0/24 und AdGuardHome (AGH) mit 192.168.1.23
Port Forwarding erstellen auf dem LAN (wir wollen ja internen Traffic umschreiben) zu "any" DNS Server (also egal welchem public DNS) soll umgeschrieben werden auf die IP des AGH aber nur wenn der Traffic nicht vom AGH selbst kommt. Also alles außer AGH DNS Traffic bitte auf den AGH schicken.Das erzeugt dann auch eine Regel auf dem LAN, die man mit einigen anderen noch ergänzt um die Sache abzurunden:
So was passiert da?
- erlaube den AGH auf jeden DNS (im Falle, dass der AGH als Resolver agiert und die DNS Anfragen sauber via ROOT Zone etc. auflöst - wäre SEHR zu empfehlen!).
- erlaube den AGH auf jeden DNS via DoT (DNS over TLS, TCP Port 853 - hat aber zur Folge, dass jeder DNS Traffic an einen einzelnen Forwarder geschickt wird. Das ist zwar verschlüsselt, aber aus mehreren Gründen eigentlich nicht zu empfehlen).
- das ist die Regel, die vom Port Forwarding angelegt wird. An dieser Stelle theoretisch "nutzlos", da LAN->LAN Kommunikation nicht über die pfSense läuft und daher hier gar nicht aufschlägt, wir behalten sie aber hier für den Fall, dass hinter dem LAN bspw. noch weitere Netze über einen internen Switch/Core Router angeschlossen sind.
- Wir blocken via Reject (intern ist reject block vorzuziehen, da schneller) alle Anfragen nach draußen via Port 53 - sicherheitshalber. Sollte jemand an unserer Port Forward Regel herumspielen und sie versehentlich ausschalten geht dann kein DNS mehr für die Clients aber das ist dann reparierbar. Ansonsten könnten Sie währenddessen wieder frei auf jeden DNS zugreifen
- Dito für DoT - interne Clients sollen kein DoT benutzen, daher hier blocken via reject.
- Hier würden jetzt sonstige Regeln kommen, in unserem Beispiel ist nur noch die default "allow any" Regel jetzt übrig.
Das sollte das Szenario eigentlich ganz gut abdecken, wenn mir kein Fehler reingerutscht ist.
Cheers