Linux openssl-Befehl

Vollständige Linux-Befehle


OpenSSL ist ein leistungsstarkes Open-Source-Kryptografie-Toolkit, das verschiedene Verschlüsselungsalgorithmen, Zertifikatsverwaltungsfunktionen und SSL/TLS-Protokollimplementierungen bereitstellt. Es ist das De-facto-Standardwerkzeug für die Handhabung von Verschlüsselungsaufgaben in Linux-Systemen.

Die Hauptfunktionen von OpenSSL umfassen:

  • SSL-Zertifikate erstellen und verwalten
  • Dateien verschlüsseln/entschlüsseln
  • Schlüsselpaare generieren
  • SSL-Verbindungen testen
  • Hashwerte berechnen
  • Verifizierung digitaler Signaturen

Grundlegende Syntax

Das grundlegende Syntaxformat des openssl-Befehls ist:

openssl command [command_options] [command_args]

Wobei:

  • commandcommand: Der auszuführende OpenSSL-Unterbefehl (z. B. genrsa, req, x509 usw.)
  • command_optionsoptions: Optionen für den Unterbefehl
  • command_argsarguments: Argumente für den Unterbefehl

Häufige Unterbefehle und Beispiele

1. RSA-Schlüsselpaar generieren

Generieren Sie einen privaten 2048-Bit-RSA-Schlüssel:

openssl genrsa -out private.key 2048

Extrahieren Sie den öffentlichen Schlüssel aus dem privaten Schlüssel:

openssl rsa -in private.key -pubout -out public.key

Erklärung der Parameter:

  • -out-out: Ausgabedatei angeben
  • 2048bits: Schlüssellänge (Bits)
  • -pubout-pubout: Öffentlichen Schlüssel ausgeben

2. Selbstsigniertes Zertifikat erstellen

CSR (Certificate Signing Request) generieren:

openssl req -new -key private.key -out cert.csr

Selbstsigniertes Zertifikat generieren (365 Tage gültig):

openssl req -x509 -new -key private.key -days 365 -out cert.crt

Erklärung der Parameter:

  • -new-new: Neue Anfrage erstellen
  • -key-key: Datei des privaten Schlüssels angeben
  • -days-days: Gültigkeitsdauer des Zertifikats (Tage)
  • -x509-x509: Zertifikat im X.509-Format ausgeben

3. Dateiverschlüsselung und -entschlüsselung

Eine Datei mit AES-256-CBC verschlüsseln:

openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.enc

Die Datei entschlüsseln:

openssl enc -d -aes-256-cbc -in encrypted.enc -out decrypted.txt

Erklärung der Parameter:

  • -aes-256-cbc-aes-256-cbc: AES-256-CBC-Algorithmus verwenden
  • -salt-salt: Ein zufälliges Salt hinzufügen, um die Sicherheit zu erhöhen
  • -in-in: Eingabedatei
  • -out-out: Ausgabedatei
  • -d-d: Entschlüsselungsmodus

4. Datei-Hashwert berechnen

SHA-256-Hash berechnen:

openssl dgst -sha256 filename.txt

MD5-Hash berechnen:

openssl dgst -md5 filename.txt

5. SSL-Verbindung testen

Testen Sie das SSL-Zertifikat eines Remote-Servers:

openssl s_client -connect example.com:443 -showcerts

Erklärung der Parameter:

  • -connect-connect: Host und Port angeben
  • -showcerts-showcerts: Server-Zertifikatskette anzeigen

Erweiterte Nutzung

1. Zertifikat im PKCS#12-Format erstellen

Verpacken Sie das Zertifikat und den privaten Schlüssel in eine PKCS#12-Datei:

openssl pkcs12 -export -in cert.crt -inkey private.key -out cert.p12

2. Zertifikatinformationen anzeigen

Detaillierte Zertifikatinformationen anzeigen:

openssl x509 -in cert.crt -text -noout

3. Zertifikatskette überprüfen

Überprüfen Sie die Integrität der Zertifikatskette:

openssl verify -CAfile ca.crt cert.crt

Sicherheitsaspekte

  1. Schlüsselschutz: Die Datei des privaten Schlüssels sollte mit geeigneten Berechtigungen (z. B. 600) versehen werden, um eine Offenlegung zu vermeiden.Algorithmusauswahl: Vermeiden Sie die Verwendung unsicherer Algorithmen (z. B. MD5, SHA1).
  2. Passwortstärke: Verwenden Sie beim Verschlüsseln ein starkes Passwort.Gültigkeitsdauer des Zertifikats: Erneuern Sie abgelaufene Zertifikate regelmäßig.
  3. Zufallszahlengenerierung: Stellen Sie sicher, dass das System genügend Entropie für kryptografische Operationen hat.: Verwenden Sie beim Verschlüsseln ein starkes Passwort
  4. Gültigkeitsdauer des Zertifikats: Aktualisieren Sie abgelaufene Zertifikate regelmäßig
  5. ZufallszahlengenerierungStellen Sie sicher, dass das System über ausreichend Entropie für kryptografische Operationen verfügt.

Häufig gestellte Fragen

F1: Wie überprüfe ich die OpenSSL-Version?

openssl version

F2: Wie generiere ich sicherere ECC-Schlüssel?

openssl ecparam -genkey -name secp384r1 -out ecc.key

F3: Wie konvertiere ich Zertifikatsformate?

Von PEM nach DER konvertieren:

openssl x509 -in cert.pem -outform der -out cert.der

Praktische Übungen

  1. Ein 4096-Bit-RSA-Schlüsselpaar generieren
  2. Ein selbstsigniertes Zertifikat mit 2 Jahren Gültigkeit erstellen
  3. Eine Textdatei verschlüsseln und sie mit demselben Passwort entschlüsseln
  4. Die SSL-Zertifikatsinformationen von Websites überprüfen, die Sie häufig verwenden

Durch die Beherrschung des openssl-Befehls werden Sie in der Lage sein, verschiedene verschlüsselungs- und sicherheitsbezogene Aufgaben zu bewältigen und eine solide Grundlage für Systemsicherheit und Verwaltungsarbeit zu legen.


Vollständige Linux-Befehle

Andere Erweiterungen