Zertifikatsmanagement mit Certmonger

Mit höchster Auszeichnung

Zertifikate werden dazu verwendet, um Benutzer, Services und Hardware mit der Hilfe eines signierten Schlüssels zu verifizieren. Hierfür existieren Public-Key-Infrastrukturen (PKI). Aber wie gelangen die Zertifikate eigentlich auf das Ziel-Gerät? Der Open-Source-Tipp in diesem Monat beschreibt, wie Sie für diese Aufgabe das Tool certmonger verwenden können.
Den Schutz vor Angreifern und Malware hat sich IT-Administrator im März auf die Fahnen geschrieben. So lesen Sie in der Ausgabe, mit welchen Handgriffen Sie ... (mehr)

X.509-Zertifikate [1] bestehen aus einem öffentlichen und einem privaten Schlüssel. Erzeugen Sie eine Zertifikatsanfrage, signieren Sie sie mit dem privaten Schlüssel. Die Datei mit der Zertifikatsanfrage senden Sie dann zur Validierung an eine Certificate Authority (CA) . Wird die Anfrage genehmigt, erhalten Sie einen öffentlichen Schlüssel – das eigentliche Zertifikat –, das Informationen über den Antragsteller beziehungsweise die Appliance oder den Dienst sowie die CA selbst enthält.

Ein Duplikat erzeugen

Mittels OpenSSL, das auf jeder Linux-Distribution verfügbar ist, lässt sich der Vorgang recht einfach nachvollziehen. Zuerst erzeugen Sie einen privaten Schlüssel mit der gewünschten Schlüssellänge:

$ openssl genrsa -out server.key 2048

Bei Bedarf lässt sich der Schlüssel mit einer der Optionen "-des, "-des3" oder "-idea" verschlüsseln, sodass beim Zugriff auf den Schlüssel erst das vergebene Passwort abgefragt wird.

Wer sich für Mathematik interessiert, kann sich die von OpenSSL erzeugten Zahlenkomponenten mit dem folgenden Kommando ansehen:

$ openssl rsa -in mydomain.key -noout -text

Die Zertifikatsanfrage erzeugen Sie ebenfalls mit einem OpenSSL-Kommando:

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

Das OpenSSL-Kommando "req" bietet sehr viele Optionen und fragt die Informationen, die in das Zertifikat aufgenommen werden sollen, interaktiv ab. Hier wird beispielsweise ein SHA-256-Digest festgelegt. Alternativ lässt sich mit der Option "-config" eine Konfigurationsdatei angeben. Beispielsweise könnten in dieser Datei Profile für unterschiedliche Zertifikatstypen liegen.

Das steht in der Zertifikatsdatei

Haben Sie die Zertifikatsanfrage von einer CA bestätigt bekommen, können Sie sich die Zertifikatsdatei mit Hilfe von Open­SSL ansehen:

$ openssl x509 -in /tmp/foo/mydomain.crt -noout -subject -issuer -dates
subject= /C=DE/ST=NRW/L=Dinslaken/O=Red Hat/OU=SEG/CN=tiffy.tuxgeek.de/emailAddress=root@localhost
issuer= /C=DE/ST=NRW/L=Dinslaken/O=Red Hat/OU=SEG/emailAddress=root@localhost
notBefore=Dec 27 10:02:26 2016 GMT
notAfter=Dec 25 10:02:26 2026 GMT
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023