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.