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 de conexão não confiável

Mensagem de conexão não confiável

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 dos domínios cadastrados no CloudFlare

Lista dos domínios cadastrados no CloudFlare

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

Servidores DNS do CloudFlare cadastrados no registro.br

Servidores DNS do CloudFlare cadastrados no registro.br

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 de criptografia selecionada para o site

Opção de criptografia selecionada para o site

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

Regra de página para forçar a navegação via HTTPS

Regra de página para forçar a navegação via HTTPS

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 do Firefox

Alertas do Firefox

Mudanças realizadas na aplicaçao web para se adequar ao mínimo de segurança via HTTPS

Mudanças realizadas na aplicação web para se adequar ao mínimo de segurança via HTTPS

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.

 

2 comentários sobre “SSL, heróis, nuvens, pandas e dragões

O que tu achas?

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s