So richten Sie eine Zertifizierungsstelle (CA) unter Debian 11 ein und konfigurieren sie

Einführung

Eine Zertifizierungsstelle (CA) bildet eine zentrale Säule einer Public-Key-Infrastruktur (PKI). Sie ist verantwortlich für die Ausstellung, das Management und die Aufhebung digitaler Zertifikate. Diese Zertifikate dienen der Authentifizierung von Personen, Servern und Geräten und gewährleisten eine sichere Kommunikation im digitalen Raum.

Das Einrichten und Konfigurieren einer CA unter Debian 11 ist ein komplexer, jedoch unerlässlicher Prozess. Dieser Leitfaden begleitet Sie Schritt für Schritt durch die notwendigen Maßnahmen und liefert detaillierte Anweisungen, um den reibungslosen Betrieb Ihrer CA zu gewährleisten.

Voraussetzungen

  • Ein Debian 11-Server mit einer festen IP-Adresse
  • Root-Zugriff auf den Server
  • Ein DNS-Eintrag für Ihren CA-Server

Installation der erforderlichen Pakete

Schritt 1: System aktualisieren

apt update
apt upgrade

Schritt 2: CA-Pakete installieren

apt install ca-certificates openssl libssl-dev

Konfiguration der CA

Schritt 3: CA-Verzeichnis erstellen

mkdir /etc/pki/CA

Schritt 4: CA-Konfigurationsdatei erstellen

touch /etc/pki/CA/openssl.cnf

Schritt 5: Konfigurationsdatei bearbeiten

Fügen Sie den folgenden Inhalt in die Datei /etc/pki/CA/openssl.cnf ein:


[ CA_default ]
dir               = /etc/pki/CA
# Das Verzeichnis, in dem CA-Schlüssel, -Zertifikate und -CRLs abgelegt werden
certs             = $dir/certs
# Verzeichnis für die Speicherung ausgestellter Zertifikate
crl_dir          = $dir/crl
# Verzeichnis für die Speicherung von CRLs
database         = $dir/index.txt
# Die Indexdatei, in der Details der ausgestellten Zertifikate abgelegt werden
serial            = $dir/serial
# Datei, die Seriennummern der ausgestellten Zertifikate enthält
unique_subject    = no
# Für jedes Zertifikat werden fortlaufende Seriennummern verwendet
email_in_dn       = no
# E-Mail-Adressen werden nicht in den DN aufgenommen
copy_extensions   = copy
# Erweiterte Schlüsselverwendung und Basiseinschränkungen werden von der CA auf ausgestellte Zertifikate kopiert
default_md        = sha256
# Standardalgorithmus zur Zertifikatssignatur
preserve          = yes
# Private Schlüssel bleiben nach der Zertifikatssignierung erhalten
x509_extensions    = usr_cert
# In ausgestellten Zertifikaten verwendete Erweiterungen
[ usr_cert ]
basicConstraints = CA:FALSE
# Zertifikate, die von dieser CA ausgestellt werden, sind keine CAs
subjectKeyIdentifier = hash
# Fügt einen Subject Key Identifier zu ausgestellten Zertifikaten hinzu
authorityKeyIdentifier = keyid,issuer
# Fügt einen Authority Key Identifier zu ausgestellten Zertifikaten hinzu
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
# Erlaubte Verwendungszwecke für ausgestellte Zertifikate
extendedKeyUsage = serverAuth, clientAuth
# Erweiterte Schlüsselverwendung für ausgestellte Zertifikate
subjectAltName = @alt_names
# Alternative Namen für die ausgestellten Zertifikate
[ alt_names ]
DNS.1 = ca.beispiel.de
# Der DNS-Name des CA-Servers

Erstellung der CA-Schlüssel und des CA-Zertifikats

Schritt 6: CA-Schlüssel generieren

openssl genrsa -out /etc/pki/CA/private/ca.key 4096

Schritt 7: CA-Zertifikat selbst signieren

openssl req -config /etc/pki/CA/openssl.cnf \
  -key /etc/pki/CA/private/ca.key \
  -new -x509 -days 3650 -out /etc/pki/CA/certs/ca.crt

Hinweis: Die Option -days 3650 legt die Gültigkeitsdauer des CA-Zertifikats in Tagen fest.

Konfiguration des Webservers

Schritt 8: Apache2 installieren und konfigurieren

apt install apache2

mkdir /etc/apache2/sites-available

touch /etc/apache2/sites-available/ca.conf

vi /etc/apache2/sites-available/ca.conf

Fügen Sie den folgenden Inhalt in die Datei /etc/apache2/sites-available/ca.conf ein:


<VirtualHost *:443>
  SSLEngine on
  SSLCertificateFile /etc/pki/CA/certs/ca.crt
  SSLCertificateKeyFile /etc/pki/CA/private/ca.key
  DocumentRoot /var/www/html/ca
  <Directory /var/www/html/ca>
    Require all granted
  </Directory>
</VirtualHost>

Schritt 9: CA-Webverzeichnis erstellen

mkdir /var/www/html/ca

Schritt 10: CA-Homepage erstellen

echo "Willkommen bei der Zertifizierungsstelle ca.beispiel.de" > /var/www/html/ca/index.html

Aktivierung der CA

Schritt 11: Apache2 neu starten

systemctl restart apache2

Schritt 12: Firewall konfigurieren

ufw allow 443/tcp

Ausstellung von Zertifikaten

Schritt 13: Zertifikatsanforderung erstellen

openssl req -new -sha256 -keyout server.key -out server.csr

Schritt 14: Zertifikat signieren

openssl ca -config /etc/pki/CA/openssl.cnf \
  -in server.csr -out server.crt -days 3650

Hinweis: Passen Sie die Befehle entsprechend den Namen der Zertifikatsanforderung und des Zertifikats an.

Widerruf von Zertifikaten

Schritt 15: Sperrliste generieren

openssl ca -config /etc/pki/CA/openssl.cnf \
  -gencrl -out /etc/pki/CA/crl/ca.crl

Schritt 16: Zertifikat widerrufen

openssl ca -config /etc/pki/CA/openssl.cnf \
  -revoke server.crt

Schritt 17: Sperrliste erneuern

openssl ca -config /etc/pki/CA/openssl.cnf \
  -gencrl -out /etc/pki/CA/crl/ca.crl

Fazit

Die Einrichtung und Konfiguration einer CA unter Debian 11 ist ein grundlegender Schritt zur Stärkung der Sicherheit Ihrer IT-Infrastruktur. Durch das Befolgen der in diesem Leitfaden dargestellten Schritte können Sie eine zuverlässige CA implementieren, die eine sichere Kommunikation und Authentifizierung innerhalb Ihres Netzwerks ermöglicht.

Die kontinuierliche Pflege und Verwaltung Ihrer CA sind unerlässlich, um ihre Integrität und Effizienz zu gewährleisten. Dazu gehören die Überwachung auf kompromittierte Schlüssel, Aktualisierungen der CA-Software und die erforderliche Aufhebung von Zertifikaten.

Häufig gestellte Fragen

1. Welchem Zweck dient eine Zertifizierungsstelle (CA)?

Eine CA ist für die Generierung, Verwaltung und den Widerruf digitaler Zertifikate zuständig, welche für die Authentifizierung digitaler Entitäten eingesetzt werden.

2. Was ist ein digitales Zertifikat?

Ein digitales Zertifikat ist ein elektronisches Dokument, das die Identität einer digitalen Entität (z. B. Person, Server oder Gerät) verifiziert und von einer vertrauenswürdigen Zertifizierungsstelle signiert wird.

3. Warum ist das Einrichten einer CA wichtig?

Mit einer eigenen CA können Sie eine vertrauenswürdige Umgebung für die Generierung und Verwaltung digitaler Zertifikate schaffen, was eine sichere Kommunikation und Authentifizierung in Ihrem Netzwerk ermöglicht.

4. Wie lange ist die Gültigkeitsdauer eines CA-Zertifikats?

Die Gültigkeit eines CA-Zertifikats ist von den jeweiligen CA-Richtlinien abhängig. Es ist ratsam, CA-Zertifikate alle paar Jahre zu erneuern.

5. Wie kann ich ein Zertifikat von einer CA ausstellen lassen?

Um ein Zertifikat von einer CA zu beziehen, ist es notwendig, eine Zertifikatsanfrage zu erstellen.