Linux openssl-Befehl
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 Unterbefehlcommand_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 angeben2048bits: 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
- 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).
- Passwortstärke: Verwenden Sie beim Verschlüsseln ein starkes Passwort.Gültigkeitsdauer des Zertifikats: Erneuern Sie abgelaufene Zertifikate regelmäßig.
- Zufallszahlengenerierung: Stellen Sie sicher, dass das System genügend Entropie für kryptografische Operationen hat.: Verwenden Sie beim Verschlüsseln ein starkes Passwort
- Gültigkeitsdauer des Zertifikats: Aktualisieren Sie abgelaufene Zertifikate regelmäßig
- 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
- Ein 4096-Bit-RSA-Schlüsselpaar generieren
- Ein selbstsigniertes Zertifikat mit 2 Jahren Gültigkeit erstellen
- Eine Textdatei verschlüsseln und sie mit demselben Passwort entschlüsseln
- 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.
Andere Erweiterungen