it-swarm.com.de

So deaktivieren Sie CBC-Modus-Chiffren

Gibt es eine einfache Möglichkeit im Blacklist-Stil, CBC-Modus-Cipher-Suites in Apps zu deaktivieren, die eine OpenSSL-Cipher-Suite-Liste verwenden? Ich hoffe auf etwas im Stil von !RC4, jedoch, !CBC hat keine Auswirkung und erlaubt weiterhin Suiten wie TLS_DHE_RSA_WITH_AES_128_CBC_SHA256.

Die einzige Lösung, die ich bisher gefunden habe, ist die Verwendung einer viel ausführlicheren Whitelist, die nur Nicht-CBC-Chiffren enthält. Gibt es eine einfachere Alternative?

15
Synchro

Gemäß der Liste der Chiffrierzeichenfolgen in der Dokumentation (man chiffriert) gibt es keine Zeichenfolge, die alle CBC-Chiffren beschreibt. Dies bedeutet, dass es keine einfache Möglichkeit gibt, alle diese (und nur diese) mit einem einfachen !CBC o.ä.

3
Steffen Ullrich

Mit !SHA1:!SHA256:!SHA384 Können Sie alle Chiffren im CBC-Modus deaktivieren. Es gibt einige Nicht-CBC-Fehlalarme, die ebenfalls deaktiviert werden (RC4, NULL), aber Sie möchten sie wahrscheinlich trotzdem deaktivieren.

Beachten Sie, dass GCM und CHACHA20 Chiffren zwar SHA* In ihrem Namen haben, sie jedoch nicht deaktiviert sind, da sie ihren eigenen MAC-Algorithmus verwenden. Die SHA* In ihrem Namen stehen für die PRF, nicht die MAC

15
imgx64

Ich habe in den letzten Tagen ziemlich viel Zeit damit verbracht, eine perfekte Liste für ssllabs zu erstellen. Zum Teil dank dessen funktioniert Folgendes:

SSLCipherSuite ALL:!RSA:!CAMELLIA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SHA1:!SHA256:!SHA384
5
Bill Cheswick

Es gibt keine Möglichkeit, dies direkt zu tun, Sie können es jedoch ein wenig skripten.

Angenommen, Ihre anfängliche Cipher Suites-Zeichenfolge lautet !3DES:HIGH. (Sie sollten wahrscheinlich zunächst eine bessere Cipher Suites-Zeichenfolge haben, aber das ist ein guter Ausgangspunkt und wird diese Antwort nicht zu sehr durcheinander bringen.)

Mach das jetzt:

$ openssl ciphers '!3DES:HIGH' \
    | sed -e 's/:/\n/g' \
    | grep -v GCM \
    | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/:!/g' -e 's/^/!/'

Erläuterung pro Zeile:

  1. Beginnen Sie mit dem Satz von Chiffren, die Sie "wirklich" wollen
  2. Teilen Sie die : - getrennte Liste in eine Verschlüsselungssuite für eine Zeile auf
  3. Entfernen Sie alles, was nicht explizit GCM sagt
  4. Lesen Sie die gesamte Datei auf einmal ein, ersetzen Sie Zeilenumbrüche durch :! Und fügen Sie ganz am Anfang einen ! Hinzu

Nehmen Sie nun diese Ausgabe und platzieren Sie sie an der Vorderseite Ihrer Cipher Suite-Zeichenfolge. Werfen Sie Ihr Original nicht weg, da Sie diesen Prozess möglicherweise später erneut ausführen möchten, wenn sich die Zeichenfolge Ihrer ersten Cipher Suites ändert oder wenn OpenSSL oder sogar die Standardliste HIGH neue Chiffren hinzugefügt werden.

1