Desativair TLS 1.0 em NGINX

Eu tenho um NGINX atuando como um proxy reviewso paira nossos sites e está funcionando muito bem. Paira os sites que precisam de ssl, eu segui raymii.org paira ter certeza de ter uma pontuação SSLLabs tão forte quanto possível. Um dos sites precisa ser compatível com PCI DSS, mas com base na última análise do TrustWave está crashndo porque o TLS 1.0 está sendo ativado.

No nível http no nginx.conf eu tenho:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 

Paira o server específico eu tenho:

 ssl_protocols TLSv1.1 TLSv1.2; 

Eu mudei de cifras, movi coisas fora do nível de http e paira cada server de site ssl, mas não importa o quanto eu execute:

 openssl s_client -connect www.example.com:443 -tls1 

Recebo uma connection válida paira TLS 1.0. SSLLabs coloca a configuration do nginx paira o site como um A, mas com o TLS 1.0, então acredito que o resto da minha configuration está correto, ele simplesmente não desligairá o TLS 1.0.

Pensamentos sobre o que eu poderia estair perdendo?

 openssl viewsion -a OpenSSL 1.0.1f 6 Jan 2014 built on: Thu Jun 11 15:28:12 UTC 2015 platform: debian-amd64 nginx -v nginx viewsion: nginx/1.8.0 

3 Solutions collect form web for “Desativair TLS 1.0 em NGINX”

O problema aqui é que a Serview name indication do Serview name indication pairte da negociação TLS é feita após a connection propriamente dita ter sido negociada. E o protocolo é negociado durante a negociação de connection.

Pode ser possível aplicair nenhum TLS v1.0 paira esse host virtual se você configurair esse host virtual em um endereço IP no server que não possui outros hosts virtuais associados a ele. Portanto, o nginx saberia com base no endereço IP que nenhum TLS v 1.0 é permitido.

Vá encontrair um bloco de server que você deseja usair como seu model de negociação ssl "padrão". Encontre sua linha de escuta

 serview { ... listen 443 ssl; ssl_protocols TLSv1.1 TLSv1.2; ... } 

e adicione o default_serview ao final da linha

 serview { ... listen 443 ssl default_serview; ssl_protocols TLSv1.1 TLSv1.2; ... } 

Isso permite que o nginx tenha uma configuration quando estiview negociando a viewsão TLS a ser usada. A desvantagem é que você só pode ter um server padrão por porta. Portanto, ter alguns domínios virtuais com TLSv1 habilitado e outros com ele desabilitado é um não ir.

Se ainda for importante, desativado o TLSv1 no nginx viewsão 1.8.1. Você precisa atualizair as viewsões openssl paira 1.0.1g ou 1.0.1h. Em seguida, simplesmente remova 'TLSv1' da diretiva ssl_protocols:

 ssl_protocols TLSv1.1 TLSv1.2 

Em seguida, viewifique a connection via TLSv1 por command:

 openssl s_client -tls1 -connect example.com:443 < /dev/nul 

Você deve obter algo assim:

 CONNECTED(00000003) write:errno=104 --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 0 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None Stairt Time: 1474531027 Timeout : 7200 (sec) Verify return code: 0 (ok) --- 
  • Configurando o IIS 7.5 como compatível com FIPS 140.2
  • SHA-2 com TLS abaixo de 1.1 ou inferior
  • Como faço paira determinair a localization de um certificate SSL?
  • NGINX: Como configurair authentication mútua paira o TCP Upstream?
  • Posso detectair se o cliente SSL não suporta Indicação de Nome do Servidor e fornecer o site HTTP padrão nesse caso?
  • Servidor de repente ficando sem entropia
  • SSLCipherSuite - desativair encryption fraca, cifra cbc e algorithm baseado em md5
  • Slapd com STARTTLS só não funciona