BEZEICHNUNG
crypto-policies - Überblick über systemweite Krypto-RichtlinienBESCHREIBUNG
Die Sicherheit kryptographischer Komponenten des Betriebssystems bleibt im Laufe der Zeit nicht konstant. Algorithmen, wie kryptographisches Hashen und Verschlüsseln, haben typischerweise eine Lebensdauer, nach der sie als zu riskant oder sogar klar unsicher betrachtet werden. Das bedeutet, das solche Einstellungen aus den Voreinstellungen stufenweise herausgenommen oder komplett deaktiviert werden müssen, falls sie ein nicht reparierbares Problem hervorrufen würden.ABGEDECKTE ANWENDUNGEN
Crypto-policies gelten für die Konfiguration der kryptographischen Kern-Subsysteme und decken die Protokolle TLS, IKE, IPSec, DNSSec und Kerberos ab, d.h. die unterstützten sicheren Kommunikationsprotokolle im grundlegenden Betriebssystem.•BIND-DNS-Nameserver-Daemon
•GnuTLS-TLS-Bibliothek
•OpenJDK-Laufzeitumgebung
•Kerberos 5-Bibliothek
•Libreswan-IPsec- und
IKE-Protokollimplementierung
•NSS-TLS-Bibliothek
•OpenSSH-SSH2-Protokollimplementierung
•OpenSSL-TLS-Bibliothek
•libssh-SSH2-Protokollimplementierung
BEREITGESTELLTE RICHTLINIENSTUFEN
LEGACYDiese Richtlinie stellt die maximale
Kompatibilität mit herkömmlichen Systemen bereit; sie ist
weniger sicher und unterstützt die Protokolle TLS 1.0, TLS
1.1 und SSH2 und neuere. Die Algorithmen DSA, 3DES
und RC4 sind erlaubt, während die Parameter von RSA und
Diffie-Hellman akzeptiert werden, wenn sie größer als
1023 bit sind. Diese Stufe stellt mindestens 64-Bit-Sicherheit bereit.
DEFAULT
•MACs: alle HMAC mit
SHA-1 oder besser und alle modernen MACs ( Poly1305 usw.)
•Kurven: alle Primzahlen >= 255 bit
(einschließlich Bernstein-Kurven)
•Signaturalgorithmen: mit Hash
SHA1 oder besser ( DSA erlaubt)
•TLS-Chiffren: alle
verfügbaren >= 112-bit-Schlüssel, >= 128-bit-Block
(einschließlich RC4 und 3DES)
•Nicht-TLS-Chiffren: wie bei
TLS-Chiffren mit hinzugefügtem Camellia
•Schlüsselaustausch:
ECDHE, RSA, DHE
•DH-Parametergröße:
>= 1023
•RSA-Schlüsselgröße:
>= 1023
•DSA-Parametergröße:
>= 1023
•TLS-Protokolle: TLS
>= 1.0, DTLS >= 1.0
Die Richtlinie DEFAULT ist eine
vernünftige Vorgaberichtlinie gemäß heutigen Standards.
Sie erlaubt die Protokolle TLS 1.0, TLS 1.1, TLS 1.2 und
TLS 1.3 sowie IKEv2 und SSH2. Die Parameter von
Diffie-Hellman werden akzeptiert, falls sie mindestens 1023 bit lang
sind. Die Stufe stellt mindestens 80-Bit-Sicherheit bereit.
NEXT
•MACs: alle HMAC mit
SHA-1 oder besser und alle modernen MACs ( Poly1305 usw.)
•Kurven: alle Primzahlen >= 255 bit
(einschließlich Bernstein-Kurven)
•Signatur-Algorithmen: mit
SHA-1-Hash oder besser (kein DSA)
•TLS-Chiffren: >=
128-bit-Schlüssel, >= 128-bit-Block ( AES, ChaCha20,
einschließlich AES-CBC)
•nicht-TLS-Chiffren: wie bei
TLS-Chiffren mit hinzugefügtem Camellia
•Schlüsselaustausch:
ECDHE, RSA, DHE (kein DHE-DSS)
•DH-Parametergröße:
>= 1023
•RSA-Schlüsselgrößen:
>= 2048
•TLS-Protokolle: TLS
>= 1.0, DTLS >= 1.0
Die NEXT-Richtlinie ist eine
Richtlinie, die für die zukünftige Veröffentlichung des
Betriebssystems vorbereitet wurde, so dass sie leicht getestet werden kann.
Sie erlaubt die Protokolle TLS 1.2 und TLS 1.3 sowie
IKEv2 und SSH2. Die Parameter für RSA und
Diffie-Hellman werden akzeptiert, falls sie größer als
2047 bit sind. Die Stufe stellt mindestens 112-Bit-Sicherheit bereit, mit der
Ausnahme von SHA-1-Signaturen, die für DNSSec und andere
noch verbreitete veraltete Anwendung von SHA-1-Signaturen
benötigt werden.
FUTURE
•MACs: alle HMAC mit
SHA-1 oder besser und alle modernen MACs ( Poly1305 usw.)
•Kurven: alle Primzahlen >= 255 bit
(einschließlich Bernstein-Kurven)
•Signatur-Algorithmen: mit
SHA-1-Hash oder besser (kein DSA)
•TLS-Chiffren: >=
128-bit-Schlüssel, >= 128-bit-Block ( AES, ChaCha20,
einschließlich AES-CBC)
•nicht-TLS-Chiffren: wie bei
TLS-Chiffren mit hinzugefügtem Camellia
•Schlüsselaustausch:
ECDHE, RSA, DHE (kein DHE-DSS)
•DH-Parametergröße:
>= 2048
•RSA-Schlüsselgrößen:
>= 2048
•TLS-Protokolle: TLS
>= 1.2, DTLS >= 1.2
Eine konservative Sicherheitsstufe, von der
angenommen wird, dass sie allen zukünftigen Angriffen in der
nächsten Zeit widerstehen wird. Diese Stufe erlaubt keine Verwendung
der SHA-1-Signaturalgorithmen. Diese Stufe stellt auch einige
(unvollständige) Vorbereitungen für
Post-Quanten-Verschlüsselungsunterstützung in Form von
symmetrischen 256-bit-Verschlüsselungsanforderungen bereit. Die
Parameter für RSA und Diffie-Hellman werden akzeptiert,
wenn sie größer als 3071 bit sind. Die Stufe stellt mindestens
128-bit-Sicherheit bereit.
FIPS
•MACs: alle HMAC mit
SHA-256 oder besser und alle modernen MACs ( Poly1305
usw.)
•Kurven: alle Primzahlen >= 255 bit
(einschließlich Bernstein-Kurven)
•Signatur-Algorithmen: mit
SHA-256-Hash oder besser (kein DSA)
•TLS-Chiffren: >=
256-bit-Schlüssel, >= 128-bit-Block, nur Chiffren mit
authentifizierter Verschlüsselung (AE)
•nicht-TLS-Chiffren: wie bei
TLS-Chiffren mit hinzugefügten nicht-AE-Chiffren und
Camellia
•Schlüsselaustausch:
ECDHE, DHE (kein DHE-DSS, kein RSA)
•DH-Parametergröße:
>= 3072
•RSA-Schlüsselgrößen:
>= 3072
•TLS-Protokolle: TLS
>= 1.2, DTLS >= 1.2
Eine Stufe, die die FIPS
140-2-Anforderungen erfüllt. Diese Richtlinie wird intern vom
Werkzeug fips-mode-setup(8) verwandt, das das System in den FIPS
140-2-Konformitätsmodus umschalten kann. Diese Stufe stellt
mindestens 112-bit-Sicherheit bereit.
EMPTY
•MACs: alle HMAC mit SHA1
oder besser
•Kurven: alle Primzahlen >= 256
bit
•Signatur-Algorithmen: mit
SHA-256-Hash oder besser (kein DSA)
•TLS-Chiffren: >= 128-bit
Schlüssel, >= 128-bit-Block ( AES, einschließlich
AES-CBC)
•nicht-TLS-Chiffren: wie bei
TLS-Chiffren
•Schlüsselaustausch:
ECDHE, DHE (kein DHE-DSS, kein RSA)
•DH-Parametergröße:
>= 2048
•RSA-Parametergröße:
>= 2048
•TLS-Protokolle: TLS
>= 1.2, DTLS >= 1.2
Alle kryptographischen Algorithmen sind
deaktiviert (nur zur Fehlersuche, verwenden Sie das nicht).
KRYPTO-RICHTLINIEN-DEFINITIONSFORMAT
Die Kryptorichtlinien-Definitionsdateien haben eine einfache Syntax, die der Syntax einer INI-Datei Schlüssel = Wert folgt und folgende besondere Eigenschaften hat:•Kommentare werden durch ein
#-Zeichen angezeigt. Alles, was diesem Zeichen auf der Zeile folgt,
wird ignoriert.
•Rückwärtsschrägstrichzeichen
\, denen sofort ein Zeilenendezeichen folgt, stellen eine
Zeilenfortführung dar. Die nachfolgende Zeile wird an die aktuelle
Zeile angehängt, nachdem der Rückwärtsschrägstrich
und das Zeilenendezeichen entfernt wurden.
•Gültige Typen können
entweder dezimale Ganzzahlen, beliebige Zeichenketten oder Listen von
Zeichenketten ohne Leerraumzeichen sein, die durch eine beliebige Anzahl von
Leerraumzeichen getrennt werden.
•mac: Liste der erlaubten
MAC-Algorithmen
•group: Liste der erlaubten
Gruppen oder elliptischen Kurven für den
Schlüsselaustausch
•hash: Liste der erlaubten
kryptographischen Algorithmen für Hashes
(Nachrichtenzusammenfassungen)
•sign: Liste der erlaubten
Signaturalgorithmen
•tls_cipher: Liste der erlaubten
symmetrischen Verschlüsselungsalgorithmen (einschließlich der
Modi) für die Anwendung mit dem TLS-Protokoll
•cipher: Liste der erlaubten
symmetrischen Verschlüsselungsalgorithmen (einschließlich der
Modi) für die Anwendung mit den anderen Protokollen
•key_exchange: Liste der
erlaubten Schlüsselaustauschalgorithmen
•protocol: Liste der erlaubten
TLS- und DTLS-Protokollversionen
•ike_protocol: Liste der
erlaubten IKE-Protokollversionen
•min_tls_version: Niedrigste
erlaubte TLS-Protokollversion
•min_dtls_version: Niedrigste
erlaubte DTLS-Protokollversion
•min_dh_size: Ganzzahlwert der
minimalen Anzahl an Bits der Parameter für den
DH-Schlüsselaustausch
•min_dsa_size: Ganzzahlwert der
minimalen Anzahl an Bits für DSA-Schlüssel
•min_rsa_size: Ganzzahlwert der
minimalen Anzahl an Bits für RSA-Schlüssel
•sha1_in_certs: Wert von 1,
falls SHA1 in Zertifikatssignaturen erlaubt ist und 0 andernfalls (gilt
nur für das GnuTLS Backend)
•-Listeneintrag: Der
Listeneintrag wird aus der in der grundlegenden Datei festgelegten
Liste entfernt.
•+Listeneintrag: Der
Listeneintrag wird am Anfang der in der grundlegenden Datei
festgelegten Liste eingefügt. Die Einfügungen erfolgen in der
Reihenfolge des Auftauchens in der Richtlinienmoduldatei, so dass die
abschließende Reihenfolge in der Liste invertiert sein wird.
•Listeneintrag oder
Listeneintrag +: Der Listeneintrag wird am Ende der in
der grundlegenden Datei festgelegten Liste angehängt.
BEFEHLE
update-crypto-policies(8)Dieser Befehl verwaltet die für die
verschiedenen kryptographischen Backends verfügbaren Richtlinien und
erlaubt es dem Systemverwalter, die aktive Stufe der kryptographischen
Richtlinien zu ändern.
fips-mode-setup(8)
Dieser Befehl erlaubt es dem
Systemadministrator, den System-FIPS-Modus zu aktivieren oder deaktivieren und
auch die kryptographische Richtlinienstufe FIPS anzuwenden, die die
erlaubten Algorithmen und Protokolle auf die in der FIPS 140-2 geforderten
beschränkt.
ANMERKUNGEN
Ausnahmen:•Anwendungen in der Sprache Go
folgen der systemweiten Richtlinie noch nicht.
•GnuPG-2-Anwendungen folgen der
systemweiten Richtlinie nicht.
•DES
•Alle für den Export geeigneten
Chiffre-Suiten
•MD5 in Signaturen
•SSLv2
•SSLv3
•Alle ECC-Kurven kleiner als 224
bit
•Alle
Binärfeld-ECC-Kurven
•DH mit Parametern < 1024
bit
•RSA mit
Schlüsselgrößen < 1024 bit
•Camellia
•ARIA
•SEED
•IDEA
•Reine
Integritäts-Chiffre-Suiten
•TLS
CBC-Modus-Chiffre-Suiten, die SHA-384 HMAC verwenden
•AES-CCM8
•Alle ECC, die inkompatibel zu
TLS 1.3 sind, einschließlich secp256k1
•IKEv1
DATEIEN
/etc/crypto-policies/back-endsDie einzelnen kryptographischen
Backend-Konfigurationsdateien. Normalerweise werden sie auf die im Paket
crypto-policies ausgelieferte Konfiguration verlinkt, außer eine
Konfiguration aus local.d wird hinzugefügt.
/etc/crypto-policies/config
Die aktiv auf dem System gesetzte
Krypto-Richtlinien-Stufe.
/etc/crypto-policies/local.d
Zusätzliche Konfiguration, die von
anderen Paketen ausgeliefert oder vom Systemadministrator erstellt wurde. Die
Inhalte der <back-end>-file.config wird an die Konfiguration vom
Richtlinien-Backend, wie es vom Paket crypto-policies ausgeliefert wurde,
angehängt.
SIEHE AUCH
update-crypto-policies(8), fips-mode-setup(8)AUTOR
Geschrieben von Tomáš Mráz.ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> 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 Übersetzer24.08.2019 | crypto-policies |