nginx raccomandato ssl_ciphers

6

Sto cercando qualche consiglio su come impostare i codici per nginx con SSL.

Cosa consiglieresti per un buon compromesso tra sicurezza e compatibilità al momento?

Ho fatto delle ricerche ma le soluzioni a volte sono molto diverse e si confondono.

  • Ad esempio, questo sito link consiglia solo:

    AES256+EECDH:AES256+EDH
    

    Significa che se questi non possono essere usati, ci sarà un errore? Non è un po 'troppo restrittivo allora?

  • Mozilla raccomanda elenchi molto più grandi:

    In questi, AES128 sembra essere preferibile rispetto a AES256 poiché ho capito che l'ordine conta, corretto?

    Non è meglio AES256 se è disponibile? Perché non li mettono prima?

    ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
    
    ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
    
  • Questo post consiglia un elenco piuttosto piccolo rispetto a Mozilla:

    Qual è la differenza tra ECDH qui Vs. ECDHE con Mozilla?

     ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
    
  • Comodo consiglia di nuovo qualcosa di diverso:

    ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
    

Bene, sono un po 'perso. Ho trovato questo post ( Recommended ssl_ciphers per sicurezza, compatibilità - Perfect Forward secretary ), ma non aiuta poiché ci sono anche molte versioni e non è facile ordinarle.

Qualche consiglio?

Grazie

    
posta Michael 06.12.2014 - 02:27
fonte

2 risposte

2

La guida TLS di Mozilla Server Side a cui ti sei collegato è un'ottima risorsa da seguire per le scelte di ciphersuite. Le scelte di Ciphersuite cambieranno man mano che emergeranno nuove vulnerabilità in TLS e Mozilla sembra fare un buon lavoro aggiornando le raccomandazioni.

AES-128 è generalmente preferito perché la gente pensa che sia più grande è meglio . Sia AES-128 che AES-256 sono sicuri contro gli attacchi noti e c'è un costo non trascurabile delle prestazioni per l'utilizzo di AES-256 su AES-128.

ECDHE usa i tasti effimeri mentre ECDH no. Pertanto, ECDHE fornisce perfetto segreto diretto mentre ECDH no.

    
risposta data 06.12.2014 - 02:54
fonte
2

Ho il seguente nel mio nginx /etc/nginx/perfect-forward-secrecy.conf, che mi dà un voto A sui laboratori SSL. Il tuo certificato dovrebbe essere SHA256 però.

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL
 !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !MEDIUM !RC4";
ssl_dhparam /my/path/to/dh4096.pem;

Dal momento che i browser più aggiornati supportano TLS, personalmente ho disabilitato SSLv3 a causa della vulnerabilità di Poodle e non volendo eseguire crittografi basati su RC4.

    
risposta data 06.12.2014 - 08:35
fonte

Leggi altre domande sui tag