Transitschutz: DNSSEC und DANE auf Linux-Servern konfigurieren

Die etablierte TLS-Verschlüsselung mit signierten Zertifikaten ist nicht wirklich sicher. Das modernere DANE prüft mittels DNSSEC ohne externen Stempel, ob das vom Server präsentierte Zertifikat echt und damit die verschlüsselte Verbindung beim Mail- und Webseiten-Transport vertrauenswürdig ist. Das lässt sich an einem Vormittag einrichten.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 13 Min.
Von
  • Carsten Strotmann
Inhaltsverzeichnis

TLS, Transport Layer Security, schützt Internetverbindungen per Verschlüsselung vorm Ausspähen. Aber seine Sicherheit hängt direkt von der externer Zertifizierer ab (CAs), die per digitaler Unterschrift für die Echtheit der verwendeten Schlüssel bürgen. Wenn eine solche Certification Authority gehackt wurde, muss man die von ihr unterschriebenen Zertifikate als kompromittiert betrachten und erneuern. Das ist inzwischen leider traurige Realität.

Glücklicherweise lässt sich diese fatale Abhängigkeit mit einem neuen Verfahren auflösen: DANE, DNS-based Authentication of Named Entities, sichert Zertifikate über das Domain Name System ab (DNS). Wie man das für den Mail-Transport nutzen kann beschreibt dieser Beitrag. Wer auf seinen Servern DANE und DNSSEC einsetzt, kann fürderhin selbst unterschriebene Zertifikate einsetzen. Mit der folgenden Anleitung bekommen Admins einen Leitfaden zur Installation auf Linux-Servern. Wer seine Dienste extern hostet, kann auf Anbieter wie dotplex zurückgreifen, die DANE bereits nutzen.

Bis die Mehrheit der Clients DANE beherrscht, muss man leider CA-signierte Zertifikate parallel einsetzen. Die folgenden Beispiele schildern deren Erzeugung und gehen davon aus, dass Sie mit Root-Rechten arbeiten.

Wie man Clients oder ganze Netze so einrichtet, dass sie die DANE-Infos nutzen, schildert der Beitrag Namen-Checker – DNSSEC für Clients und Client-Netze einrichten. Zunächst zum Server: Hier erstellen Sie als Erstes einen geheimen Schlüssel (Private Key) ohne Passwort für ein Zertifikat, das für den Web-Server (www.example.org) und den Mail-Server (mail.example.org) gelten soll:

cd /etc/ssl
openssl genrsa -out example.org.key 3248

Damit wird der RSA-Schlüssel 3248 Bit lang. Abhängig vom Zweck, der Arbeitslast der Server und vom Sicherheitsbedürfnis der Anwendung können Sie die Länge variieren. Dieses Best-Practice-Dokument von BetterCrypto gibt Hilfestellung.

Beim regelmäßigen Erneuern hilft eine für das Erstellen des Zertifikats angelegte Konfigurationsdatei enorm. Mit ihr erzeugen Sie die Signieranfrage:

openssl req -new -nodes -key example.org.key -config— example.org.conf -out example.org.csr