Teste a qualidade de sua configuração HTTPS

27/09/2016 por

Com a quantidade de falhas encontradas em algumas bibliotecas SSL nos últimos anos é obrigatório testar a configuração de seu servidor HTTPS antes de liberar qualquer aplicação para produção. Felizmente a Qualys Inc disponibilizou uma ótima ferramenta para teste.

Como testar a configuração do meu certificado digital?

Acesse a página da Qualys (https://www.ssllabs.com/ssltest/analyze.html) e digite o domínio que deseja testar. Não é preciso digitar a URL inteira e tampouco o "https://" na frente. Digite apenas o domínio.

Caso seu domínio resolva em mais de um IP você será avaliado até na consistência de configuração entre os dois IPs, além da nota para cada um dos servers (que provavelmente será a mesma). Ao acessar o relatório final você terá os detalhes de cada teste feito. Para cada servidor o tempo médio de teste é de dois minutos.

[SSL test em phcco.com](https://res.phcco.com/ssl/ssl-qualys-phcco.png)

As notas vão de "F" (pior) até "A+" (melhor).

Encontrei falhas no Qualys SSL, o que fazer?

Não se desespere, você pdoe seguir as instruções apresentadas na própria página do teste para encontrar no Google a solução para cada patch necessário. Em alguns casos basta desabilitar os protocolos inseguros e sua pontuação melhorará.

"A" é suficiente?

Para a maior parte dos cenários sim. Se o seu site usar HTTP e HTTPS você não terá pontuação melhor que esta.

Como posso ficar com "A+"?

Para obter um "A+" é preciso também ativar o HSTS que, resumindo, "ensina" seu browser a não tentar acessar nunca a versão HTTP. O problema do HTTP Strict Transport Security é que seu site apenas poderá ser acessado por HTTPS, e caso algum dia você tire o certificado digital seu site ficará inacessível por um longo tempo.

O cabeçalho em questão é o Strict-Transport-Security: max-age=expireTime. Que pode ser adicionado a sua página de várias formas. No PHP você poderia adicionar no início de sua página o seguinte:

<?php 
    header("Strict-Transport-Security: max-age=15552000; preload");
?>

Este header "diz" ao seu browser para que ele guarde a informação de que este site só pode ser acessado por HTTPS nos próximos 15552000 segundos (180 dias). Ou seja, se desistir de usar HTTPS seu site ficará inacessível por até 180 dias. Normalmente este é o tempo mínimo usado e recomendado.

Isso evita que o usuário do site divulgue qualquer cookie em uma conexão insegura ao acessar (mesmo que por segundos e apenas uma vez) a versão HTTP de uma página. Normalmente apenas instituições financeiras exibem este cabeçalho, é raro outros serviços disponibilizarem este header justamente pela desvantagem de um downgrade de conexão caso necessário.

Referências

Acesse também