B1Blog / Kategorie / howto

 

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

11.05.2022 | Johannes Kastl in howto

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.

Weiter lesen ...

Running the Blocky ad-blocking dns-proxy in Kubernetes

21.04.2022 | Johannes Kastl in howto

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.

This article will describe how to setup Blocky within your Kubernetes cluster, how to make it available from the outside and how to start using it. The configuration of Blocky itself is explained in full details in the project’s documentation, and as the installation inside Kubernetes uses the same configuration file, all of it applies also to instances within Kubernetes.

Let’s get started, shall we?

Weiter lesen ...

Getting started with Teleport

30.03.2022 | Johannes Kastl in howto

No, not the Star Trek thing. Teleport from goteleport.com. It is described as ‘The easiest, most secure way to access infrastructure.’ Let’s see what that means, and how to get things rolling.

Weiter lesen ...

Forwarding SSH traffic inside Kubernetes using Traefik

10.03.2022 | Johannes Kastl in howto

Are you running a Gitea or Gitlab instance inside your Kubernetes cluster? And you want to reach it not only via HTTPS, but also via SSH for easier pulling and pushing?

This article describes how to setup Traefik as ingress controller to do that, using Gitea as an example.

Weiter lesen ...

Verschlüsseltes DNS selber machen

23.02.2022 | Jens Meißner in howto

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.

Weiter lesen ...

Der Traefik Ingress Controller

26.01.2022 | Tobias Wolter in howto

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?

Weiter lesen ...

Netzwerk-Probleme beim Upgrade auf Proxmox 7 vermeiden

21.10.2021 | Jens Meißner in howto

Nach dem Upgrade von Proxmox 6 auf Proxmox 7 kommt es teilweise zu Problemen mit dem Netzwerk. Der Host ist in diesen Fällen nach dem abschließenden Reboot nicht mehr erreichbar. Eines dieser Probleme ist im Upgrade-Leitfaden von Proxmox beschrieben - einem anderen soll sich dieser Artikel widmen.

Weiter lesen ...

Let's-Encrypt-Zertifikate für interne Hosts

04.08.2021 | Jens Meißner in howto

Viele Webseiten verwenden Zertifikate von Let’s Encrypt zur Absicherung des Datenverkehrs zwischen Benutzer und Server. Dies hat vor allem zwei Gründe: Zum einen sind diese Zertifikate kostenlos, zum anderen lässt sich die Erneuerung automatisieren, sodass abgelaufene Zertifikate der Vergangenheit angehören. Es gibt allerdings auch einen kleinen Nachteil: Die zur automatisierten Verifikation des Domainnamens in der Regel eingesetzte HTTP-01-Challenge erfordert, dass der Host auf Port 80 aus dem Internet erreichbar ist. Dies ist bei öffentlichen Webseiten kein Problem, für interne Dienste ist die Ausstellung von Zertifikaten auf diesem Weg aber nicht möglich. Neben der HTTP-01-Challenge gibt es noch weitere Challenge-Arten. In diesem Artikel soll gezeigt werden, wie die DNS-01-Challenge genutzt werden kann, um ein Let’s-Encrypt-Zertifikat für einen Intranet-Server auszustellen.

Weiter lesen ...

Pi-KVM nutzen

23.06.2021 | Bernd Müller in howto

Hersteller von Server-Hardware haben unterschiedliche Lösungen, um remote, also ohne Monitor und Tastatur, auf ihre Server zugreifen zu können. Entweder man entscheidet sich für solch einen Hersteller, oder man hat einen „Wildwuchs“ an Hardware und somit unterschiedliche Arten des Remote-Zugriffs. In diese Bresche will Pi-KVM zwar nicht schlagen – aber es ist damit möglich, zur initialen Installation und Einrichtung eine „moderne“ und einheitliche Oberfläche zu nutzen. Weiterhin kann es auf postalischem Weg zu einem Kunden versendet werden und so ohne großen Aufwand Zugriff auf die Remotekonsole bieten.

Weiter lesen ...

Eine Einführung in nftables

19.05.2021 | Jens Meißner in howto

Neben dem älteren und den meisten Linux-Administratoren wohlbekannten iptables gibt es seit einiger Zeit den Paketfilter nftables, der iptables zukünftig komplett ablösen soll. Da nftables gegenüber iptables einige Vorteile bietet, lohnt sich der Umstieg bereits heute.

Weiter lesen ...

OpenStack und Nvidia Grafikkarten – Nachtrag

14.04.2021 | Bernd Müller in howto

Im Herbst 2020 beschrieb ich, wie eine Nvidia-Grafikkarte an eine virtuelle Maschine weitergereicht werden kann. Ein Treiber-Update verspricht nun Abhilfe, wenn auch - noch nicht - in allen Fällen.

Weiter lesen ...

Automatische Netzwerkkonfiguration mit IPv6 in OpenStack

18.03.2021 | Sebastian Biedler in howto

Die Bedeutung von IPv6 nimmt auch im privaten Cloudumfeld stetig zu. IPv6 bietet neben einem Ausweg aus der Adressknappheit von IPv4 auch Möglichkeiten zur automatischen Netzwerkkonfiguration. Eine dieser Möglichkeiten ist die Präfix-Delegation, um nachgelagerte Router und Netzwerke mit ihrer Konfiguration zu versorgen – wie OpenStack dieses Feature umsetzt, zeige ich in diesem Artikel.

Weiter lesen ...

Let's play the cluster game

10.02.2021 | Tim Schmeling in howto

We reached the end of a three-part series on installing, configuring and handling a loadbalancer in front of two webservers. We already looked at haproxy [1], including installation and configuration, as well as the installation and configuration of a cluster based on pacemaker/corosync [2].

Weiter lesen ...

Clustering made easy with pacemaker/corosync

27.01.2021 | Tim Schmeling in howto

In the first part of this series, you learned how to set up your webservers and the loadbalancer. Now, let’s move on with how to plan, build and configure a cluster with high availability.

Weiter lesen ...

Loadbalancing made easy with haproxy

13.01.2021 | Tim Schmeling in howto

This is the start of a three-part series showing you how to install, configure and handle a loadbalancer in front of two webservers. We will also learn how to integrate a cluster taking ownership of the components running on each node.

Weiter lesen ...

None but your Business — Privatsphäre im Internet mit selbstgehosteten Open-Source-Tools unter Linux

02.12.2020 | Thilo Mull in howto

Das Internet ist ein offenes Meer, in dem viele Ohren schwimmen. Diese versuchen aus unterschiedlichen Gründen, an allem zu lauschen, was da an ihnen vorbeizieht. Im Folgenden werden ein paar Tools vorgestellt, mit denen dafür gesorgt wird, dass die eigenen Daten auch die eigenen Daten bleiben.

Weiter lesen ...

Let you entertain you! - Eigene Dienste unter Linux hosten

28.10.2020 | Thilo Mull in howto

Im Jahr 2020 ist es selbstverständlich, dass digitale Werkzeuge in nahezu allen Lebensbereichen Einzug halten, um etwa Daten, Bilder oder Texte zu teilen, gemeinsam Termine zu planen oder sich einfach zu unterhalten. Ebenso besteht für den eigenen Bedarf manchmal das Bedürfnis, seine Musik-, Film- oder E-Book-Sammlung zu sortieren um dann ggf. über Wlan oder das Internet darauf zuzugreifen. Für all diese Bedürfnisse gibt es, zum Großteil kostenfreie, Angebote von großen Firmen, auf die viele Menschen gerne zurückgreifen. Allerdings gibt es eine Reihe von Gründen, die dagegen sprechen, diesen Diensten seine Daten anzuvertrauen. Welche das sind und wie Sie die meisten dieser Dienste mit ein wenig Aufwand durch Open-Source-Lösungen ersetzen können, lesen Sie im folgenden Artikel.

Weiter lesen ...

Accessing Java Web Start based Server Remote Boards using Firefox

30.09.2020 | Uwe Grawert in howto

Accessing most server remote boards requires the browser to support Java, also known as Java Web Start (JWS). Unfortunately Java Web Start has been deprecated starting from Java version 9. Also current Firefox versions do not support Java anymore.

This makes accessing server remote boards increasingly difficult with current browsers. To make life a little easier, and by the help of Docker, we can still use an old Java version supporting Java Web Start together with an old browser version of Firefox to access Java based server remote boards.

Weiter lesen ...

OpenStack und Nvidia Grafikkarten

16.09.2020 | Bernd Müller in howto

Grafikkarten berechnen bestimmte Aufgaben effektiver als Prozessoren. Rechenintensive Anwendungen wie KI und Deep Learning profitieren davon besonders. Nvidia stellt auf genau diese Anwendungsfälle spezialisierte Highend-Grafikkarten her, die in virtuellen Umgebungen parallel in mehreren virtuellen Maschinen betrieben werden können. Das lässt sich der Hersteller aber auch dementsprechend teuer bezahlen. Von Lizenzkosten für die benötigte Software ganz zu schweigen. Der Kauf einer solche Karte will also wohlüberlegt sein. Es stellt sich die Frage: Geht das nicht auch mit aktueller Gaming Hardware?

Weiter lesen ...

Create virtual machines with a grain of salt

02.09.2020 | Mattias Giese in howto

Salt [1] is not only useful for configuration management or infrastructure automation in general but also a flexible platform to build your own specialized solutions on top. This blog post shows how easy it is to leverage Salt from within your own Python code and how it helped us to simplify and enhance a complex deployment process based on Xen-Hypervisors [5] and virtual machines.

Weiter lesen ...

From Docker to podman: On the why and how

19.08.2020 | Mattias Giese in howto

When Docker was released it felt like a revelation to developers and admins. For the first time a user space utility combined some old but very nifty kernel features in an easy-to-use package. But after some time, weaknesses of the Docker architecture were observed and alternatives to it emerged. In this article, we take a quick look at one of these alternatives and showcase its use with a popular internal use case at B1 Systems.

Weiter lesen ...

Check tcp connections and firewall rules across networks using nc

05.08.2020 | Tim Schmeling in howto

Larger companies have a big network with different network segments. Often they have active components like routers and firewalls inside the network to avoid bad traffic and unauthorized connections. If you now like to implement a new (open source) software, which needs a connection to another server, you have to ensure that the connection is possible. You have two options for solving this problem. We’ll look into both of them.

Weiter lesen ...

How to make git show information in your bash prompt

29.07.2020 | Johannes Kastl in howto

In a previous blogpost we learned how to use git and bash aliases and also use bash completion. Another nifty feature is showing some git information in your bash prompt. This blogpost will show you how.

Weiter lesen ...

How to use bash completion for your own git aliases

22.07.2020 | Johannes Kastl in howto

If you are like me, you will likely work on several different projects on a daily basis - and all of them will be stored in git.

Sure, git is easy to use. But typing the same set of commands multiple times, every day, can be quite annoying. Fortunately, using bash and git together allows to create some user-defined shortcuts.

Weiter lesen ...

BigBlueButton - Selbst gehostete Videokonferenzen

17.06.2020 | Thilo Mull in howto

Videokonferenzen erfreuen sich gerade in Coronazeiten großer Beliebtheit, passen aber auch so ins 21. Jahrhundert, in dem Meetings auch online abgehalten werden können. Die Open Source Videokonferenzplattform BigBlueButton zeigt, wie dies auch mit eigenem Hosting unabhängig und datenschutzkonform möglich ist.

Weiter lesen ...

Locking your screen when you remove your U2F device

10.06.2020 | Johannes Kastl in howto

Universal Second Factor (U2F) devices were invented as a second factor for websites using two factor authentication. The website sends a challenge, the U2F device responds if its button is pressed. A small LED starts blinking, you press your button and thus confirm the usage.

But you cannot only use U2F devices for websites. Using PAM’s pam_u2f module, you can plug it into any service that uses PAM. This was described in my previous article.

If you want to use your U2F device to unlock your running session, you need to treat it like a key. So, when you leave your desk to grab a cup of coffee, you need to take your key with you. You should of course lock your screen when you leave your desk, too. But wait – couldn’t you combine these steps? Lock your screen by removing your U2F device?

Weiter lesen ...

Having fun with U2F devices

03.06.2020 | Johannes Kastl in howto

Inspired by a recent article series in the German magazin c’t (1, 2, 3), I got my hands on two simple U2F devices to find out if their usage might help my work pattern.

Imagine sitting in public transportation and having to retype your (root) password for each and every sudo call you issue. Imagine having to retype your password each time your screen lock engages. Imagine just having to touch a small button on a USB device instead.

Weiter lesen ...
Col 2