Por que o GCM HTTPS não funciona com o nginx?

5

Como esses dois estão usando o GCM ( Galois / Counter Mode) :

www.ssllabs.com: ECDHE-RSA-AES256-GCM-SHA384
www.google.com: ECDHE-RSA-AES128-GCM-SHA256

Queríamos tornar a conexão HTTPS do nosso servidor mais segura (não olhe para o certificado auto-assinado, que não conta agora ...).

Estamos usando um sistema operacional OpenBSD 5.4 de 64 bits, e o comando openssl ciphers diz que ele suporta a cifra ECDHE-RSA-AES256-GCM-SHA384 . No lado do cliente, há pelo menos o Firefox 30.

Então, aqui está como nós configuramos o servidor HTTPS:

# generate self signed certificate
    openssl genrsa -aes256 -out /etc/ssl/private/server.key 4096
    openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/private/server.csr
    openssl x509 -sha512 -req -days 365 -in /etc/ssl/private/server.csr -signkey /etc/ssl/private/server.key -out /etc/ssl/server.crt

A configuração:

vi /etc/nginx/nginx.conf
    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers   on;

Mas o Firefox diz (traduzi do meu idioma ...):

A connection to the www.foo.hu is interrupted

e ssllabs diz:

Assessment failed: Failed to communicate with the secure server

  • Como podemos definir o GCM no nginx?
  • Por que um novo Firefox não pôde se conectar via HTTPS a www.foo.hu ( ECDHE-RSA-AES256-GCM-SHA384 , TLSv1.2)?

Ele pode se conectar a www.ssllabs.com via HTTPS ( ECDHE-RSA-AES256-GCM-SHA384 , TLSv1.2), então talvez não seja um problema do lado do cliente?

[user@localhost ~] openssl s_client -connect www.foo.hu:443
CONNECTED(00000003)
depth=0 C = HU, CN = www.foo.hu
verify error:num=18:self signed certificate
verify return:1
depth=0 C = HU, CN = www.foo.hu
verify return:1
---
Certificate chain
 0 s:/C=HU/CN=www.foo.hu
   i:/C=HU/CN=www.foo.hu
---
Server certificate
-----BEGIN CERTIFICATE-----
.... here goes the cert..
-----END CERTIFICATE-----
subject=/C=HU/CN=www.foo.hu
issuer=/C=HU/CN=www.foo.hu
---
No client certificate CA names sent
---
SSL handshake has read 2137 bytes and written 389 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: ...bla-bla
    Session-ID-ctx: 
    Master-Key: ...bla-bla
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
...bla-bla

    Start Time: 1404296744
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
read:errno=0
[user@localhost ~] 
    
por evachristine 02.07.2014 / 12:39

1 resposta

3

A alteração do pacote de criptografia foi a solução final.

ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256;

O problema é que o Firefox 30 não suporta a cifra mencionada ainda.

    
por 03.07.2014 / 11:08