Scroll to navigation

UPDATE-CRYPTO-POLI(8)  " UPDATE-CRYPTO-POLI(8)

BEZEICHNUNG

update-crypto-policies - Verwalten der Richtlinien für die verschiedenen kryptographischen Backends

ÜBERSICHT

update-crypto-policies [BEFEHL]

BESCHREIBUNG

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.

BEFEHLE

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.

OPTIONEN

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.

ANWENDUNGSUNTERSTÜTZUNG

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.

RICHTLINIENKONFIGURATION

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.

ANGEPASSTE RICHTLINIEN

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.

DATEIEN

/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.

SIEHE AUCH

crypto-policies(7), fips-mode-setup(8)

AUTOR

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.

24.08.2019 update-crypto-policies