Como habilito o TLS 1.1 e 1.2 para conexões SSL no meu servidor Ubuntu 12.04? Estou usando a seguinte versão da biblioteca nginx e openssl.
$ ./nginx -v
nginx version: nginx/1.2.3
$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun 4 07:26:06 UTC 2013
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"
Respostas:
Primeiro, você precisa ativar o SSL / TLS no seu
nginx.conf
:As duas
listen
linhas habilitam o SSL na sua conexão IPv4 e IPv6. Se você não possui IPv6, pode deixar de fora a segundalisten
linha.Presumo que o seu certificado de servidor está em
/etc/ssl
. Se você usar outro caminho, altere as duas últimas linhas.Isso permite diferentes versões do TLS. Todos os navegadores atuais podem usar o TLS1.2. Para navegadores mais antigos, escrevi um pequeno tutorial sobre como ativar configurações seguras .
A primeira linha define as cifras que seu nignx deve usar. A segunda linha prefere os conjuntos de criptografia no lado do servidor (e não no cliente). Então você pode usar cifras fortes (er).
Se estiver pronto, seu nginx deve usar o TLS1.2. Se desejar, você pode adicionar seu site a um corredor da fama do TLS1.2 e ter orgulho. ;)
No entanto, existem vários métodos para melhorar as configurações. Sigo este guia em alemão para uma configuração segura do nginx .
fonte
Existem vários avisos de segurança que foram abordados nas versões subseqüentes do nginx. Se você ainda está (seis meses após o ocorrido?) Nessa situação, considere seriamente atualizar; As configurações de TLS não importam se o servidor da web é inseguro. Veja http://nginx.org/en/security_advisories.html para obter detalhes.
Se, por algum motivo, você DEVE executar esta versão do nginx, as informações disponíveis sobre a ativação de conjuntos de cifras fortes com o nginx (ou Apache) aqui provavelmente ajudarão: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / configurando-apache-nginx-e-openssl-for-forward-secretecy
fonte
Eu acredito que existem três opções.
Primeiro, não faça nada e use a versão do Ubuntu 12 do OpenSSL. Acredito que o TLS 1.1 agora seja suportado, mas você ainda não terá o TLS 1.2.
Segundo, construa e mantenha seu próprio PPA . Existem algumas instruções para substituir o pacote de distribuição por pacote personalizado? Por questões de integridade, não há Arquivos de Pacotes Pessoais existentes para Ubuntu e OpenSSL que ofereçam os protocolos completos.
Terceiro, é atualizar para uma versão posterior do Ubuntu, como o Ubuntu 14. Estou tentando determinar se o Ubuntu 14 permite todos eles no momento. Veja os protocolos Ubuntu 14, OpenSSL e TLS? .
fonte