Nginx e openSSL conf para usar os protocolos TLS mais recentes

3

Desde algumas semanas, meu servidor da Web, Niginx, teve um problema com os protocolos TLS versão 1.1 e amp; 1.2:

  • Quando um usuário tenta se conectar ao meu site, o navegador da web e o Nginx escolhem somente o TLS 1.0 para a conexão.

  • no arquivo conf do host virtual Nginx, mencionei o uso do TLS 1.0, 1.1 e 1.2:

ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers               AES256-SHA256:AES256-SHA;
ssl_prefer_server_ciphers on;
  • Versões de pacotes (mais recentes para ambos):

nginx version: nginx/1.4.2 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-cc-opt='-g -O2 -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt= --with-ipv6

OpenSSL 1.0.1e 11 Feb 2013

  • Distribuição do Linux: Debian 7.1 x64

  • Qualys ssl labs resultam

TLS 1.2 Não

TLS 1.1 Não

TLS 1.0 Sim

SSL 3 Não

SSL 2 Não

  • Eu tentei reiniciar, atualizar, anotando. Eu verifiquei o arquivo conf nginx para cada host virtual: todos têm os mesmos parâmetros para ssl_protocols.

Qual é o meu erro?

Obrigado

haflinger

    
por Hafl 06.09.2013 / 18:51

5 respostas

2

Sem bagunçar a versão openssl instalada que acompanha o sistema, você pode tentar criar o nginx com uma versão openssl personalizada. Especifique a seguinte opção ao construir seu pacote nginx. Eu faço isso com meu rpm personalizado e a versão mais recente do openssl.

--with-openssl=/home/mschirrmeister/openssl-1.0.1f

Depois de construir como este, instale apenas o pacote nginx em seu servidor e tente o teste ssllabs novamente. Agora deve mostrar suporte para mais versões.

    
por 13.01.2014 / 17:22
1

desculpe pelo meu mau inglês. Eu tenho a mesma situação e levei muito tempo para descobrir. As primeiras palavras-chave ssl_protocol que nginx read dominam todo o protocolo ssl do servidor em nginx conf.

Altere o valor "ssl_protocol" de toda a configuração do seu servidor (na verdade, apenas o primeiro está ok) para conter o valor "TLSv1.2" pode funcionar.

openssl 1.0.1e está ok. Mas o sistema operacional pode ter duas versões do libssl (a minha possui 0.9.8 e 1.0.1e). Então o seu nginx pode estar vinculado ao libssl 0.9.8.

Tente compilar o nginx com a versão mais recente especificada openssl source code.

    
por 20.01.2017 / 10:18
0

Eu acho que você tem que usar

ssl_protocols             TLSv1.2 TLSv1.1 TLSv1;

não

ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
    
por 17.04.2015 / 01:54
0

Aqui está o que eu normalmente uso para configuração SSL com nginx:

ssl on;
ssl_certificate /etc/nginx/ssl/<domain>/server.crt;
ssl_certificate_key /etc/nginx/ssl/<domain>/server.key;

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 !RC4";

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
    
por 17.04.2015 / 03:24
-1

Está funcionando config para servidores prod, tente:

ssl_session_timeout  10m;
ssl_ciphers      RC4:HIGH:!aNULL:!MD5:!kEDH;
ssl_session_cache shared:SSL:10m;
ssl_prefer_server_ciphers on;

E execute novamente o Qualys ssl.

    
por 07.09.2013 / 23:19