SSL, heróis, nuvens, pandas e dragões

Desenvolvido pela saudosa Netscape, o protocolo SSL/TLS nos fornece segurança na web. Mesmo tendo a NSA fuçando tudo o que fazemos, vale muito a pena investir no uso dele. O danado já nos deu uma tremenda dor de cabeça um tempo atrás, mas parece que agora estamos navegando em águas tranquilas. Em paralelo ao enterro do SPDY e o nascimento, das cinzas, do HTTP/2, a W3C, o Google e a Mozilla já estão nos alertando, há um bom tempo, sobre a virada de chave do HTTP para o HTTPS. Já está mais que na hora de atualizarmos nossas aplicações web.

Devemos nos apropriar do assunto e encarar os salgados custos de aquisição de certificados SSL. Agora, você que possui um negócio na web e tem uma folha mensal de pagamentos que não pode falhar, se puder economizar despesas com recursos tecnológicos utilizando open source e serviços na nuvem que lhe garantam segurança e alta disponibilidade, sem precisar de um administrador de sistemas full time mantendo seus servidores. O que você acha?

Entre alguns modelos de serviço, gosto de trabalhar com o Heroku e CloudFlare, pois fornecem ao cliente várias ferramentas com custos acessíveis. Mas o que vou relatar no artigo é sobre custo próximo do zero, já que tenho que pagar a anuidade do domínio.

O Heroku possui suporte à SSL, em parceria com a Digicert. Basta testar no navegador a sua aplicação: minhaaplicacao.herokuapp.com. Mas não se empolgue. Mesmo adicionando os domínios customizados na dashboard do Heroku com o endereço minhaaplicacao.com.br. Configurar sua aplicação para forçar o acesso via SSL, como, por exemplo, em uma aplicação Ruby on Rails, com a edição do arquivo config/environments/production.rb, descomentando a linha config.force_ssl = true. Ao acessar o endereço minhaaplicacao.com.br, você receberá uma mensagem de conexão não confiável, pois o certificado só é válido para os domínios *.herokuapp.com e herokuapp.com. Nada impede você de pagar $20 por mês para o Heroku e criar seu próprio certificado. Mas o propósito do artigo é cortar custos.

\\\"Mensagem

Para resolver isso, o CloudFlare, além de vários serviços, possui suporte à SSL, em parceria com a Comodo. A partir de agora, vamos ver como configurar nossa aplicação nele.

Após realizar o cadastro e fazer o login, adicione o domínio do site.

\\\"lista

Observe a área CloudFlare Nameservers, pois você deve adicionar esses endereços na conta de onde você comprou o domínio.

\\\"Servidores

Voltando ao CloudFlare, você pode confirmar na opção Crypto que já está selecionada a opção Full como padrão, mesmo com sua conta free. Existem outras opções de criptografia que você deve ler com calma para compreendê-las.

\\\"Opção

Adicione uma regra de página para forçar a navegação via HTTPS em seu aplicativo web.

\\\"Regra

E pronto! Agora podemos começar a trabalhar no código da aplicação. Pensou que tinha terminado? 🙂

Serviços como SSL Checker são uma mão na roda, mas não é tudo. Invista um tempo navegando por todas as páginas de sua aplicação web em busca de elementos que não estão usando HTTPS, como: APIs e CDNs. É extremamente necessário revisar o código e checar se os recursos estão sendo obtidos de maneira segura e não via HTTP.

\\\"Alertas \\\"Mudanças

A revisão de código realizada na aplicação foi a seguinte:

  1. buscar informaõees via https
  2. prover imagens via https
  3. forçar a aplicação a utilizar https

Falando de custo zero, existem serviços para obter certificados SSL de graça:

Não é só colocar o site/intranet/produto no ar. Tem muita empresa que não está atenta para a segurança de suas informações. Então, vou concluindo com uma referência do site istlsfastyet.com

TLS has exactly one performance problem: it is not used widely enough.
Everything else can be optimized.

 


Comentários

2 respostas para “SSL, heróis, nuvens, pandas e dragões”

  1. Excelentes dicas, Luiz.
    Fiz uns testes por aqui usando a CloudFlare e tudo funcionou direitinho.
    Muito obrigado por compartilhar!

    1. Por nada, Paulo. E se você tem alguma coisa bacana pra falar aqui no blog. Estamos buscando novos autores 🙂

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *