← Back to context

Comment by LoganDark

4 hours ago

This is why throwing an extra DNS server on the network doesn't truly work. You have to actually remove the DNS protocol from existence entirely and perform TLS inspection if you want to filter effectively. This of course requires you to install a certificate authority on all devices connected to the network. Otherwise devices and applications will get around you with stuff like this, or DoT/DoH.

TLS inspection is starting to reach general availability but it's pricey. You could probably set something up if you own your router. The only vendor I know offering it OOTB is Ubiquiti/UniFi and only on their more expensive enterprise units that advertise "NeXT AI Cybersecurity". I have a hunch there is no actual AI or even ML involved, but this is the world we live in now.

Can one not just use their router's firewall to drop all DNS queries which do not originate from your PiHole?

  • Only if there a) is a DNS request, b) it does not use DNS over HTTPs.

    PiHole is not and never has been a reliable way to guarantee anything, regardless of how you configure it - just gets the low-hanging fruit. Plenty of devices hard-code their own DNS servers ("smart" TVs are a good example) and will happily ignore whatever DHCP gives them if they have a route to the internet.

  • This does work for unencrypted DNS and DoT over port 853, but it fails for DoT over any other port and DoH, which looks just like a website visit. You can't tell whether a website is acting as a DoH server without TLS inspection, and you can't differentiate between multiple domains on the same IP address either (unless a client is stupid enough to use SNI). Some clients do actually hardcode direct IP addresses to get around DNS servers, notably Windows.

    • >notably Windows

      At least they're honest, using host <spynet2.microsoft.com> to replicate Apple's <smoot.> & <security.> subdomains.

      >This does work for unencrypted DNS and DoT over port 853, but it fails for DoT over any other port and DoH

      My task for today is to learn more about this (I'm only doing the unencryptedDNS part) and then implement an entire subnet that is whitelist-only (for all DNS). I think what you wrote will help solve this better, thanks.

      3 replies →