howto

Verschlüsseltes DNS selber machen – Teil 2

In meinem Artikel im Februar habe ich ein Setup vorgestellt, in welchem der DNS-Loadbalancer dnsdist und der Resolver unbound verwendet wurden, um einen DoH- und DoT-Server zu betreiben. Die Kombination der beiden Programme ist notwendig, da der in Debian 11 Bullseye enthaltenen Version von unbound Funktionen fehlen und dnsdist selbst kein Resolver ist. Mit dem Knot-Resolver gibt es im Repository von Debian ein Programm, welches beide Rollen übernehmen kann. Dieser Artikel zeigt, wie der Knot-Resolver als DoH- und DoT-Server eingerichtet wird.

mehr lesen

Konfiguration von Traefik mit CRDs

Wie bereits in Teil 1 der Artikelreihe zu Traefik angedeutet, kann man Traefik nicht nur über Annotationen und über Parameter von Deployment bzw. Chart konfigurieren, sondern auch mit Custom Resource Definitions (CRDs). Hierbei wird die sogenannte dynamische Konfiguration von Traefik dann nicht mehr über Annotationen an den zu verwaltenden Objekten wie einem Ingress gemacht, sondern statisch als eigenständiges Objekt, welches unabhängig konfiguriert wird.

Ob man das als Vorteil oder Nachteil sieht, hängt stark von der eigenen Benutzung und auch der Designphilosophie des (hoffentlich vorhandenem) Code Repository ab. CRDs zu benutzen ist bestimmt nicht gerade zielführend mit einer kleinen k3s-Instanz, die eine handvoll Dienste nach außen verfügbar macht. Mit steigender Komplexität ist es aber weder trivial noch ratsam, die Logik komplett in der Hand von Annotationen zu lassen.

mehr lesen

How to run your own DNS resolver (using DNS-over-HTTPS) in Kubernetes using cloudflared

We recently had a blog post on how to secure your DNS traffic using DNS-over-TLS or DNS-over-HTTPS (German only). The article gave an introduction on how to run dnsdist as a local resolver on Debian11. In this case, dnsdist would accept queries using DNS-over-TLS (DoT) or DNS-over-HTTPS (DoH).

This surely is the right solution for those scenarios, where your clients are capable of speaking DoT or DoH natively. But what if they don’t? In this case you can create your own resolver that listens on the “usual” aka unencrypted DNS ports. The DNS traffic on your local network is then unencrypted, which might or might not be acceptable depending on your threat analysis. Once the requests have reached your local resolver, it will forward them using DoH to a server of your choice. Which one to pick is up to you, a list of available servers can be found at DNSprivacy.org.

In this article, we will run our own resolver in Kubernetes using a helm chart for cloudflared. Despite the name, it can be used with many different endpoints, not just the ones from Cloudflare.

mehr lesen

Running the Blocky ad-blocking dns-proxy in Kubernetes

Blocky is a dns-proxy capable of blocking undesired content, i.e. ads or malware. It supports blocklist-based filtering, supports new DNS protocols like DoH (DNS-over-HTTPS) or DoT (DNS over TLS) and a gazillion of other features. It is being provided as a docker image, and while docker is a fascinating piece of software, who choses to run things in plain Docker when you can do so in Kubernetes? While not everyone might be running Kubernetes at home, with k3s this is really easy. And it uses the same Kubernetes resources you see in data centers and edge locations and windparks and cars and whatnot.

mehr lesen

Verschlüsseltes DNS selber machen

Seit einiger Zeit gibt es Bestrebungen, die Namensauflösung kryptographisch abzusichern. Dafür existiert auf der einen Seite mit DNSsec eine Technik, die eigene Zone zu signieren und so gefälschte DNS-Antworten zu verhindern. Auf der anderen Seite existieren mit DNS over TLS (DoT) und DNS over HTTPS (DoH) zwei Techniken, mit denen die Anfragen zwischen Client und Resolver verschlüsselt werden können. Standardmäßig funktioniert die Namensauflösung komplett unverschlüsselt und kann beispielsweise vom Internet Service Provider oder dem Betreiber eines öffentlichen WLANs mitgelesen oder sogar verändert werden. Mit der Verschlüsselung kann das Mitlesen von DNS-Abfragen auf der Netzwerkverbindung zwischen Client und Resolver verhindert werden, zwischen Resolver und Nameserver bleibt sie unverschlüsselt. Auf dieser Verbindung ist eine Zuordnung der Anfragen zu einem Client in der Regel nicht möglich, weiterhin können viele Anfragen direkt aus dem Resolver-Cache beantwortet werden. Meist sind es jedoch große Konzerne, welche die dafür nötigen Resolver zur Verfügung stellen. Damit wird das eigentlich dezentrale DNS letztendlich doch wieder an wenigen Stellen zentralisiert.

Das muss aber nicht sein, denn der Betrieb eines eigenen Resolvers für DoT und DoH ist möglich. Die folgende Anleitung zeigt, wie das geht.

mehr lesen

Der Traefik Ingress Controller

Sollte man sich schon mal k3s, die kleine Kubernetes-Distribution von Rancher Labs, angeschaut oder allgemein in der Kubernetes-Dokumentation über die zusätzlichen Controller gestolpert sein, so wird man vielleicht schonmal “Traefik” gelesen haben und sich fragen: was ist das eigentlich?

mehr lesen
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.