Ich habe mich geirrt. Es gilt zwar:
foo@bar:~ openssl s_server -tls1_2 -cipher ECDHE-RSA-AES256-GCM-SHA384 | grep -i SHA Shared ciphers:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384 Signature Algorithms: RSA+SHA1 Shared Signature Algorithms: RSA+SHA1 Shared Elliptic groups: X25519:P-256:X448:P-521:P-384 CIPHER is ECDHE-RSA-AES256-GCM-SHA384
foo@bar:~ openssl s_client -connect 127.0.0.1:4433 -sigalgs RSA+SHA1 2>/dev/null | grep SHA Peer signing digest: SHA1 New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384 Cipher : ECDHE-RSA-AES256-GCM-SHA384
aber es gibt in OpenSSL diverse Security Level:
foo@bar:~ openssl s_server -tls1_2 -cipher ECDHE-RSA-AES256-GCM-SHA384@SECLEVEL=2 | grep -i SHA ERROR 139855415625536:error:1414F178:SSL routines:tls1_set_server_sigalgs:no shared signature algorithms:../ssl/t1_lib.c:1260:
foo@bar:~ openssl s_client -connect 127.0.0.1:4433 -sigalgs RSA+SHA1 CONNECTED(00000003) 140381272287040:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1536:SSL alert number 40
In Debian ist Security Level 2 derzeit Systemdefault.
Allerdings ist die Empfehlung aus [1] nicht mehr in der derzeit aktuellen Fassung 03 vorhanden:
"Removed SHA-1 deprecation (section 8 of -00)" [2]
[1] https://tools.ietf.org/html/draft-ietf-tls-oldversions-deprecate-00 [2] https://tools.ietf.org/html/draft-ietf-tls-oldversions-deprecate-03
Am 25.04.19 um 18:01 schrieb Damian Lukowski:
Das Dokument empfiehlt die Deaktivierung von SHA1 in TLS 1.2 und verweist dabei auf [1]. Dort ist zu lesen, dass es dabei um signature_algorithms geht, welches von Clients gesetzt wird. RFC5246 schreibt zudem:
If the client provided a "signature_algorithms" extension, then all certificates provided by the server MUST be signed by a hash/signature algorithm pair that appears in that extension.
Man hat als Serverbetreiber also nicht die Möglichkeit das zu deaktivieren.
[1] https://tools.ietf.org/html/draft-ietf-tls-oldversions-deprecate-00