Configuração do servidor – A segurança é reduzida ou comprometida se poucas opções de criptografia SSL forem incluídas?

Configuração do servidor – A segurança é reduzida ou comprometida se poucas opções de criptografia SSL forem incluídas?

Quando insiro a versão do meu servidor (NGINX 1.16.0) e a versão OpenSSL (1.0.2k) noGerador de configuração SSL MozillaRecebo uma longa lista de cifras SSL.

Por exemplo,

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

No entanto, quando eu visitoCipherli.stfornece apenas duas cifras SSL para Nginx.

ssl_ciphers EECDH+AESGCM:EDH+AESGCM;

Ter menos cifras disponíveis reduz ou compromete a segurança? Se eu oferecer menos opções de criptografia aos clientes, isso melhorará o desempenho ou ajustará alguma outra característica importante?

Responder1

Uma das vantagens do TLS (e do SSL antes disso) é que o servidor e o cliente podem (e geralmente devem) negociar e concordar com uma cifra que eles suportam mutuamente quando uma conexão segura é iniciada.

A razão para isso é principalmente a compatibilidade: permite uma introdução gradual de novas cifras em vez de quebrar a conectividade entre clientes e servidores que ainda não suportam essa nova cifra.
Isso é o que aconteceria quando apenas uma cifra fosse utilizada, sem negociação. Então, quando uma parte decide abandonar uma cifra antiga e atualizar para uma nova e faz isso sem coordenar com as outras partes, a conectividade é interrompida. Em uma única organização, coordenar uma atualização simultânea de servidores e clientes já é uma tarefa árdua, embora possível, na Internet em geral, uma atualização tão grande é, obviamente, quase impossível.

Assim: a negociação de cifras é boa. (Para compatibilidade, pelo menos.)

Ter menos cifras disponíveis reduz ou compromete a segurança?

Não. Onúmero de cifrasnão determina a segurança.

São as próprias cifras que fornecem a segurança.

Embora algumas cifras sejam relativamente mais seguras que outras (algoritmos diferentes ou o mesmo algoritmo com comprimentos de chave mais longos e a capacidade de fornecersegurança diretapode tornar alguns mais seguros do que outros) e outros são fracos ou mesmo quebrados,não há benefício adicional de segurança em suportar apenas algumas e não todas as cifras que atendem aos seus requisitos de segurança.

(Com a pequena ressalva de que cada cifra que você suporta também precisa vir com uma implementação em software. Assim, mais cifras == mais código == maior probabilidade de bugs e erros de implementação...)

Se eu oferecer menos opções de criptografia aos clientes, isso melhorará o desempenho ou ajustará alguma outra característica importante?

Não, embora cifras diferentes tenham estatísticas de desempenho e casos de uso significativamente diferentes, com exceção da advertência acima sobre como menos cifras significam menos código e um risco menor em explorações de dia zero,onúmero de cifrasvocê oferece suporte ao lado do servidor não afeta o desempenhode qualquer forma relevante. Não há benefício adicional de desempenho no suporte apenas a algumas e não a todas as cifras que atendem aos seus requisitos de segurança.

Menos cifras suportadas significam menos compatibilidade.(Porque você normalmente restringe os servidores às cifras mais recentes e mais fortes que os clientes mais antigos podem não suportar e/ou que podem ser muito caras do ponto de vista computacional para eles.)
Registre as strings do User-Agent e faça um inventário sobre qual será o impacto quando você atualizar seu configurações de segurança de servidores web referenciando uma tabela comoCapacidades do agente de usuário do SSL Lab antecipadamente.

informação relacionada