update-crypto-policies - Verwalten der Richtlinien für die
verschiedenen kryptographischen Backends
ÜBERSICHT
update-crypto-policies [BEFEHL]
update-crypto-policies(8) wird zum Setzen der anwendbaren
Richtlinie für die verschiedenen kryptographischen Backends wie
SSL/TLS-Bibliotheken verwandt. Dies wird die Standardrichtlinie sein, die
von den Backends verwandt wird, außer der Anwendungsbenutzer
konfiguriert dies anders.
Die verfügbaren Richtlinien sind in der Handbuchseite
crypto-policies(7) beschrieben.
Die gewünschte Systemrichtlinie wird in
/etc/crypto-policies/config ausgewählt und dieses Werkzeug
wird die individuellen Richtlinienanforderungen für alle Backends
konfigurieren, die diese Konfiguration unterstützen. Nachdem dieses
Werkzeug aufgerufen wurde, wird dem Administrator gewährleistet, dass
alle Anwendungen, die die unterstützten Backends einsetzen, einer
Richtlinie folgen, die das konfigurierte Profil einhält.
Beachten Sie, dass die obige Gewährleistung soweit reicht,
wie die Anwendungen konfiguriert wurden, dieser Standardrichtlinie zu folgen
(die Details hängen vom Backend ab, weitere Informationen finden Sie
nachfolgend).
Die erstellten Backend-Richtlinien werden in
/etc/crypto-policies/back-ends abgelegt. Folgende Backends werden
derzeit unterstützt:
•GnuTLS-Bibliothek
•OpenSSL-Bibliothek
•NSS-Bibliothek
•OpenJDK
•Libkrb5
•BIND
•OpenSSH
•Libreswan
•libssh
Anwendungen und Sprachen, die sich auf diese Backends
abstützen, werden auch den Systemrichtlinien folgen. Beispiele sind
Httpd, Nginx, PHP und andere.
Es wird im Allgemeinen empfohlen, das System neu zu starten,
nachdem die System-Kryptorichtlinien mit dem Befehl
»update-crypto-policies --set« geändert wurden, damit
diese vollständig Wirkung zeigen können, da deren
Konfigurationsdateien beim Starten der Anwendungen geladen werden.
Andernfalls müssen die Anwendungen, die vor der Ausführung des
Befehls gestartet wurden, neu gestartet werden, um die aktualisierte
Konfiguration zu laden.
Im Werkzeug »update-crypto-policies« sind die
folgenden Befehle verfügbar:
•--show: Zeigt die derzeit angewandte
Kryptorichtlinie.
•--is-applied: Kehrt erfolgreich zurück,
falls die derzeit konfigurierte Richtlinie bereits angewandt wird.
•--set: Setzt die aktuelle Richtlinie und
überschreibt die Konfigurationsdatei.
Die folgenden Optionen sind im Werkzeug
update-crypto-policies verfügbar:
•--no-check: Standardmäßig
führt dieses Werkzeug eine Plausibilitätsprüfung durch,
ob die konfigurierte Richtlinie durch die unterstützten Werkzeuge
akzeptiert wird. Diese Option deaktiviert diese Prüfungen.
•--no-reload: Standardmäßig
führt dieses Werkzeug dazu, dass einige laufende Anwendungen ihre
konfigurierte Richtlinie neu laden. Diese Option führt zum
Überspringen des Neuladens.
Anwendungen im Betriebssystem, die eine Vorgabekonfigurationsdatei
bereitstellen, die eine kryptographische Richtlinienzeichenkette
enthält, werden nach und nach angepasst, um diese Richtlinien zu
unterstützen.
Wenn eine Anwendung eine Konfigurationsdatei bereitstellt,
müssen folgende Änderungen durchgeführt werden, damit
diese die systemweiten Richtlinien anwendet:
•Anwendungen, die GnuTLS verwenden: Falls eine
Anwendung die Konfiguration von Chiffren-Prioritäten über eine
Zeichenkette erlaubt, sollte die besondere Prioritätszeichenkette
»@SYSTEM« sämtliche andere Prioritätszeichenketten
ersetzen. Anwendungen, welche die Standard-Bibliothekseinstellungen verwenden,
folgen automatisch dieser Richtlinie. Anwendungen, die der Richtlinie folgen,
erben die Einstellungen für Chiffre-Suiten-Voreinstellungen, TLS- und
DTLS-Protokollversionen, erlaubten elliptischen Kurven und
Beschränkungen für kryptographische Schlüssel.
•Anwendungen, die OpenSSL verwenden: Falls eine
Anwendung die Konfiguration der »ciphersuite«-Zeichenkette
erlaubt, sollte die besondere Chiffrenzeichenkette »PROFILE«
sämtliche andere Chiffrenzeichenketten ersetzen. Anwendungen, welche
die Standard-Bibliothekseinstellungen verwenden, folgen automatisch dieser
Richtlinie. Anwendungen, die der Richtlinie folgen, erben die Einstellungen
für Chiffre-Suiten-Voreinstellungen. Standardmäßig liest
die OpenSSL-Bibliothek eine Konfigurationsdatei, wenn sie initialisiert wird.
Falls die Anwendung das Laden der Konfigurationsdatei nicht außer Kraft
setzt, dann setzt die Richtlinie auch die minimale TLS-Protokollversion und
die Standard-Chiffren-Suite-Voreinstellung über diese Datei. Falls die
Anwendung lange läuft, wie ein Httpd-Server, muss sie neu gestartet
werden, um die Konfigurationsdatei neu zu laden, nachdem die Richtlinie
geändert wurde. Andernfalls kann die geänderte Richtlinie nicht
wirksam werden.
•Anwendungen, die NSS verwenden: Anwendungen, die
NSS verwenden, werden standardmäßig die Krypto-Richtlinien
laden. Sie erben die Einstellungen für Chiffre-Suiten-Voreinstellungen,
TLS- und DTLS-Protokollversionen, erlaubten elliptischen Kurven und
Beschränkungen für kryptographische Schlüssel. Beachten
Sie, dass die NSS-Richtlinie standardmäßig durchgesetzt wird,
anders als bei OpenSSL und GnutTLS; um Anwendungen daran zu hindern, der
Richtlinie zu folgen, muss die Umgebungsvariable NSS_IGNORE_SYSTEM_POLICY vor
der Ausführung der Anwendung auf 1 gesetzt werden.
•Anwendungen, die Java verwenden: Es wird keine
besondere Behandlung benötigt. Anwendungen, die Java verwenden, werden
standardmäßig die Krypto-Richtlinien laden. Diese Anwendungen
werden dann die Einstellungen für Chiffre-Suiten-Voreinstellungen, TLS-
und DTLS-Protokollversionen, erlaubten elliptischen Kurven und
Beschränkungen für kryptographische Schlüssel erben. Um
OpenJDK-Anwendungen daran zu hindern, der Richtlinie zu folgen, sollte die
Datei <java.home>/jre/lib/security/java.security bearbeitet werden,
damit sie security.useSystemPropertiesFile=false enthält. Alternativ
können Sie eine Datei erstellen, die die außer Kraft gesetzten
Werte für jdk.tls.disabledAlgorithms,
jdk.certpath.disabledAlgorithms enthält und den Ort der Datei an
Java auf der Befehlszeile mittels -Djava.security.properties=<Pfad zur
Datei> übergeben.
•Anwendungen, die libkrb5 verwenden: Es wird keine
besondere Behandlung benötigt. Anwendungen werden
standardmäßig der Krypto-Richtlinie folgen. Diese Anwendungen
erben dann die erlaubten Verschlüsselungstypen für Tickets sowie
die kryptographischen Schlüsselbeschränkungen für das
PKINIT-Protokoll. Systemweit kann die Verwendung der Richtlinie vermieden
werden, indem der Link /etc/krb5.conf.d/crypto-policies gelöscht
wird.
•BIND: Diese Anwendung erbt die Menge der
ausgeschlossenen Algorithmen. Um die Verwendung der Richtlinie zu vermeiden,
entfernen Sie die Direktive zum Einschluss der Richtlinie in der Datei
named.conf.
•OpenSSH: Sowohl Server- als auch Client-Anwendung
folgt den Chiffren-Voreinstellungen, den Schlüsselaustauschalgorithmen
sowie den GSSAPI-Schlüsselaustauschalgorithmen. Um für einen
Client die Verwendung der Richtlinie zu vermeiden, setzen Sie die globale
ssh_config mit einer benutzerspezifischen Konfiguration in ~/.ssh/config
außer Kraft. Siehe
ssh_config(5) für weitere
Informationen. Um die Verwendung der Richtlinie für einen Server zu
vermeiden, entfernen Sie den Kommentar in der Zeile, die CRYPTO_POLICY=
enthält, in der Datei /etc/sysconfig/sshd.
•Libreswan: Sowohl Server als auch Client erben
die ESP- und IKE-Voreinstellung, falls sie nicht in der Konfigurationsdatei
der Verbindung außer Kraft gesetzt sind. Beachten Sie, dass die
Krypto-Richtlinien aufgrund von Einschränkungen von Libreswan auf die
Unterstützung von IKEv2 beschränkt ist. Um die Verwendung der
Richtlinie zu vermeiden, fügen Sie einen Kommentar in Zeile, die
/etc/crypto-policies/back-ends/libreswan.config in /etc/ipsec.conf einbindet,
ein.
•Anwendungen, die libssh verwenden: Sowohl Server-
als auch Client-Anwendungen, die libssh verwenden, werden
standardmäßig die Krypto-Richtlinien laden. Sie erben die
Voreinstellungen für die Chiffren, den Schlüsselaustausch, die
Nachrichtenauthentifizierung und die Signaturalgorithmen.
Eine der unterstützten Profile sollte in
/etc/crypto-policies/config gesetzt werden und anschließend sollte
dieses Skript ausgeführt werden.
Falls beim Auswerten Fehler auftreten, werden keine Richtlinien
aktualisiert.
Die angepassten Richtlinien können zwei Formen annehmen.
Die erste Form ist eine vollständig angepasste Richtliniendatei, die
vom Werkzeug »update-crypto-policies« genauso wie die im Paket
ausgelieferten Richtlinien unterstützt wird.
Die zweite Form kann eine untergeordnete Richtlinie oder ein
Richtlinienanpasser genannt werden. Diese Form verändert Aspekte der
zugrundeliegenden Richtlinie, indem Algorithmen oder Protokolle entfernt
oder hinzugefügt werden. Die untergeordnete Richtlinie kann bei der
Befehlszeile »update-crypto-policies --set« an die
zugrundeliegende Richtlinie angehängt werden, indem sie durch das
»:«-Zeichen abgetrennt wird. Es können mehrere
untergeordnete Richtlinien angehängt werden.
Nehmen wir an, Sie haben eine untergeordnete Richtlinie NO-SHA1,
die die Unterstützung für SHA1-Hashes entfernt und die
untergeordnete Richtlinie GOST, die Unterstützung für
verschiedene Algorithmen aktiviert, die im russischen GOST-Standard
definiert sind. Sie können die Richtlinie »DEFAULT« mit
deaktivierter SHA1-Unterstützung und aktiviertem GOST durch
Ausführung folgenden Befehls setzen:
update-crypto-policies --set DEFAULT:NO-SHA1:GOST
Dieser Befehl erstellt die Konfiguration, die die Anpassung der
Richtlinie DEFAULT mit den in untergeordneten NO-SHA1- und GOST-Richtlinien
festgelegten Änderungen ist, und wendet diese an.
/etc/crypto-policies/config
Diese Datei enthält die aktuelle Systemrichtlinie.
Sie sollte eine Zeichenkette enthalten, die eine der in der Seite
crypto-policies(7) aufgeführten Profile ist (z.B.
DEFAULT).
/etc/crypto-policies/back-ends
Enthält die erstellten Richtlinien in getrennten
Dateien und in einem Format, das von den unterstützten Backends
verstanden wird.
/etc/crypto-policies/local.d
Enthält zusätzliche Dateien, die an die
erstellten Richtliniendateien angehängt werden sollen. Die vorhandenen
Dateien müssen der $app-XXX.config-Dateibenennung folgen, wobei XXX ein
beliebiger Kennzeichner ist. Um beispielsweise eine Zeile an die von GnuTLS
erstellte Richtlinie anzuhängen, erstellen Sie eine Datei
gnutls-extra-line.config in local.d. Diese wird an die erstellte gnutls.config
während der Ausführung von update-crypto-policies
angehängt. Diese Außerkraftsetzungen funktionieren nur
für die Backends gnutls, bind, java (openjdk) und krb5.
Geschrieben von Nikos Mavrogiannopoulos.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer.