Como configurar o HTTPS - SSL Configuration Generator ajudará

Estamos falando da ferramenta de configuração SSL que a Mozilla desenvolveu.

Sob o corte - sobre seus recursos e outros utilitários para configurar sites.


Fotos - Lai Man Nung - Unsplash

Por que preciso de um gerador


Antes de prosseguir para a história sobre os recursos da ferramenta, vamos falar sobre seu objetivo. Ao trabalhar com HTTPS, a criptografia é usada em quatro casos : durante a troca de chaves, em certificados SSL , ao enviar mensagens e compilar uma soma de hash ( resumo ).

Cada um deles usa conjuntos diferentes de algoritmos, com os quais o cliente e o servidor concordam. Eles escolhem uma cifra assimétrica para um "aperto de mão", uma cifra simétrica para codificar mensagens e um algoritmo de hash para o resumo.

Por exemplo, o conjunto de cifras ECDHE-ECDSA-CHACHA20-POLY1305 significa que a troca de chaves ocorre de acordo com o protocolo Diffie-Hellman sobre curvas elípticas ( ECDHE ). Nesse caso, chaves efêmeras (únicas) são usadas para estabelecer apenas uma conexão. A autoridade de certificação assinou o certificado usando o algoritmo de assinatura digital da curva elíptica ( ECDSA ), e o algoritmo ChaCha20 em linha é usado para criptografar mensagens. O POLY1305, que calcula um autenticador de 16 bytes, é responsável por sua integridade.

Uma lista completa de todas as combinações disponíveis de algoritmos pode ser encontrada na página wiki do Mozilla .

Existem ferramentas especiais na rede para configurar os métodos criptográficos usados ​​pelo servidor. Essa funcionalidade possui o SSL Configuration Generator , desenvolvido no Mozilla.

Como ele é


A Mozilla oferece três configurações recomendadas para servidores usando TLS:

  • Moderno - para trabalhar com clientes que usam o TLS 1.3 sem compatibilidade com versões anteriores.
  • Intermediário - configuração recomendada para a maioria dos servidores.
  • Descontinuado - o acesso ao serviço é realizado usando clientes ou bibliotecas antigas, como IE8, Java 6 ou OpenSSL 0.9.8.

Por exemplo, no primeiro caso, o gerador usa o algoritmo de criptografia AES128 / 256 , o algoritmo de hash SHA256 / 384 e o modo de operação de cifra de bloco simétrico do GCM . Aqui está um exemplo de um conjunto de criptografia: TLS_AES_256_GCM_SHA384.

No segundo caso, o número de cifras usadas é muito maior, pois muitas delas foram excluídas do TLS 1.3 para aumentar a segurança. Além disso, o conjunto de cifras TLS 1.3 não descreve o tipo de certificado e o mecanismo de troca de chaves. Portanto, na configuração intermediária, existe um protocolo Diffie-Hellman com chaves efêmeras e RSA .

Com base nesses requisitos, o SSL Configuration Generator cria um arquivo de configuração (OpenSSL). Ao construir, você pode escolher o software de servidor necessário: Apache, HAProxy, MySQL, nginx, PostgreSQL e cinco outros. Aqui está um exemplo de uma configuração moderna para o Apache:

# generated 2019-07-04, https://ssl-config.mozilla.org/#server=apache&server-version=2.4.39&config=modern # requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers <VirtualHost *:80> RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] </VirtualHost> <VirtualHost *:443> SSLEngine on SSLCertificateFile /path/to/signed_cert_and_intermediate_certs SSLCertificateKeyFile /path/to/private_key # enable HTTP/2, if available Protocols h2 http/1.1 # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds) Header always set Strict-Transport-Security "max-age=63072000" </VirtualHost> # modern configuration, tweak to your needs SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2 SSLHonorCipherOrder off SSLSessionTickets off SSLUseStapling On SSLStaplingCache "shmcb:logs/ssl_stapling(32768)" 

As configurações geradas podem ser usadas no seu projeto, você só precisa editar os caminhos do certificado e da chave privada e carregar as configurações. No entanto, como um dos residentes do Hacker News diz , é importante prestar atenção na versão do servidor para obter os resultados corretos. Em particular, a saída para nginx 1.0 e nginx 1.4 é significativamente diferente. Também existe uma opinião de que, em alguns casos, será necessário corrigir manualmente parte dos conjuntos de cifras gerados para manter a compatibilidade com versões anteriores e obter notas altas nos benchmarks de sites de rastreamento.

Quais outros utilitários ajudarão na proteção do site?


Existem vários utilitários no portfólio Mozilla que podem ajudá-lo a verificar a confiabilidade de um recurso após a configuração do SSL.

O primeiro é o Observatório Mozilla . Inicialmente, a empresa desenvolveu uma ferramenta para verificar a segurança de seus próprios domínios. Agora está disponível para todos junto com o código fonte . O Observatory verifica os sites em busca das vulnerabilidades mais populares, entre elas: cookies potencialmente perigosos , vulnerabilidades XSS e redirecionamentos . Após a verificação, o sistema fornece um conjunto de recomendações para melhorar a segurança dos recursos da Internet.


Foto - sebastiaan stam - Unsplash

Outra ferramenta útil é o Firefox Monitor . Ele monitora os últimos vazamentos de dados e envia notificações se informações de qualquer site caírem nas mãos de hackers. Assim, os administradores têm a oportunidade de agir rapidamente, minimizar os danos e garantir que a história não aconteça novamente no futuro.

Nossas publicações de blogs e redes sociais:

Como proteger um servidor virtual na Internet
Por que o monitoramento é necessário?
Obtenção de um certificado OV e EV - o que você precisa saber?

Indexação para dispositivos móveis a partir de 1º de julho - como verificar seu site?
Perguntas frequentes sobre a nuvem privada do 1cloud

Como avaliar o desempenho do armazenamento no Linux: benchmarking usando ferramentas abertas
Alguns dizem que a tecnologia DANE para navegadores falhou

Source: https://habr.com/ru/post/pt459002/


All Articles