GCM HTTPS가 nginx에서 작동하지 않는 이유는 무엇입니까?

GCM HTTPS가 nginx에서 작동하지 않는 이유는 무엇입니까?

이 둘은 GCM(갈루아/카운터 모드):

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

우리는 웹 서버에 대한 HTTPS 연결을 더욱 안전하게 만들고 싶습니다(자체 서명된 인증서를 보지 마십시오. 지금은 포함되지 않습니다...).

우리는 OpenBSD 5.4 64비트 운영 체제를 사용하고 있으며 openssl ciphers명령은 이 ECDHE-RSA-AES256-GCM-SHA384암호를 지원한다는 것을 보여줍니다. 클라이언트에는 Firefox 30 이상이 있습니다.

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

구성:

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

하지만 Firefox에서는 다음과 같이 말합니다(나는 그것을 내 언어로 번역했습니다..).

www.foo.hu에 대한 연결이 중단되었습니다

그리고SSL 실험실설명하다:

평가 실패: 보안 서버와 통신할 수 없습니다.

  • nginx에서 GCM을 어떻게 설정합니까?
  • 새로운 Firefox가 HTTPS www.foo.hu( ECDHE-RSA-AES256-GCM-SHA384, TLSv1.2)를 통해 연결할 수 없는 이유는 무엇입니까?

www.ssllabs.comHTTPS(TLSv1.2)를 통해 연결되므로 ECDHE-RSA-AES256-GCM-SHA384클라이언트 문제가 아닐 수도 있습니다.

[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 ~] 

답변1

암호 제품군을 변경하는 것이 최고의 솔루션입니다.

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

문제는 Firefox 30에서는 아직 위의 비밀번호를 지원하지 않는다는 것입니다.

관련 정보