Ho lavorato per ottenere supporto HTTP2 in esecuzione su un server Nginx da un po 'di tempo. A questo punto sono bloccato a selezionare le cifre da supportare. Spero che tu possa aiutarmi a capire questo.
Prima di iniziare a far funzionare HTTP2, ho reso un hobby ottenere i migliori punteggi possibili in SSLlabs pur mantenendo il supporto per la maggior parte dei browser. Pertanto, ho supportato solo crittografie a 256 bit e non ho elencato alcun codice a 128 bit.
Da quando ho attivato HTTP2, ho perso il supporto per Firefox su Windows (e probabilmente anche su altri browser / piattaforme). Nota che sto bene avendo perso il supporto per Java, XP e Android 2.3 in base alle simulazioni del browser SSLlabs, in quanto si tratta di un server privato.
Secondo SSLlabs, le versioni 45 e 46 di Firefox su Windows non riescono a connettersi al server. Il messaggio visualizzato è: Server negoziato HTTP / 2 con la suite nella blacklist. Secondo i risultati, queste versioni di Firefox avranno selezionato il cipher TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
.
Una rapida ricerca mi ha portato a questo argomento su ServerFault che ha spiegato che RFC specifica una lista nera di cifre.
Questa è la lista di cifratura che avevo configurato:
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:kEDH+AESGCM:CAMELLIA256:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK:!CAMELLIA+RSA:!AES128:@STRENGTH;
Sono portato a credere che TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
sia più strong di TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(che è usato da Firefox nella mia attuale configurazione), poiché ha una maggiore preferenza per Nginx se aggiungo @STRENGTH
alla direttiva ssl_ciphers. Tuttavia, il primo è elencato nella lista nera e il secondo non lo è.
Sono consapevole che ci sono già alcuni argomenti qui su quali cifrari dovrebbero essere scelti per ottenere il miglior supporto. Tuttavia, con questo post sto cercando di capire meglio perché alcune delle suite di cifratura elencate sopra sono in blacklist e non ci sono molti codici a 128 bit.