HTTPS – Vamos encriptar

Em:

Como comentei no post “A stack BrazilJS”, começamos nosso ambiente e aplicações do zero. Habilitar HTTPS era mais do que nossa obrigação. Lançamos o novo site no dia 04/02/2016 e a partir do dia 06/02/2016 estamos habilitando HTTPS para todas as aplicações.

Atualmente estamos em um movimento onde todos estão (ou deveriam estar) migrando para HTTPS. São muitos os benefícios, sendo o principal a segurança. O HTTPS nada mais é do que um protocolo seguro para comunicação atráves de uma rede, neste caso a Internet. Com o HTTPS temos uma camada encriptada na conexão, nos trazendo mais privacidade e integridade dos dados trafegados.

Além da segurança, HTTPS é ponto chave na evolução de aplicações Web. A versão 2 do protocolo HTTP, por exemplo, nos traz uma série de benefícios ligados a performance. Mas para isso, antes é necessário já estar com HTTPS habilitado, já que a nova versão exige a camada de segurança.

Service Workers é uma tecnologia incrível que nos permite rodar scripts em background. Além disso, com Service Workers temos a possibilidade de interceptar e manipular as requisições dos Browsers, sendo possível gerenciar o cache das respostas. Bom, para fazer tudo isso funcionar, é preciso estar em um ambiente com HTTPS habilitado.

Como fazer

Habilitar o HTTPS em nossas aplicações foi uma tarefa trivial, graças ao Let’s Encrypt. Let's Encrypt O Let’s Encrypt é uma ferramenta free, open e automatizada de certificate authority (CA). Segundo o próprio site do Let’s Encrypt, os seus princípios são:

  • Free: Qualquer pessoa que possua um domínio pode obter um certificado gratuitamente
  • Automático: Qualquer Web-server pode interagir com o Let’s Encrypt de forma automatizada
  • Seguro: O Let’s Encrypt aplica as melhores práticas de segurança
  • Transparente: Todos os certificados emitidos ou anulados serão gravados publicamente
  • Aberto: Todos os processos de renovação e automação serão abertos como open standard
  • Cooperativo: Assim como outros protocolos da internet, o Let’s Encrypt é uma iniciativa para benefício da comunidade

Para habilitar o Let’s Encrypt em um Ubuntu Server com Nginx, seguimos este excelente tutorial da Digital Ocean.

O básico:

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
./letsencrypt-auto certonly --standalone

Informe o seu email e domínios quando for requisitado. Altere o arquivo de configuração do Nginx (algo parecido com o código abaixo):

server { 
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; 
}
server { listen 80; server_name example.com; return 301 https://$host$request_uri; }

Reinicie o Nginx:

sudo service nginx restart  

Um detalhe importante: Os resources das páginas devem todos estar apontando para HTTPS, de maneira que se um arquivo CSS, um iframe ou um JavaScript estiver sendo requisitado via HTTP, o Browser irá alertar ou até mesmo bloquear conteúdos mistos. Na imagem abaixo, HTTPS em um artigo aqui do blog no navegador Google Chrome.

HTTPS BrazilJS

Conclusão

Habilitar HTTPS nos traz uma série de benefícios, além de, é claro, dar mais segurança aos usuários do seu site. Com a iniciativa Let’s Encrypt, configurar esta camada de segurança é uma tarefa simples e gratuita.

Foto no topo da página por Carlos

  • Teste de Aceitação com React, Jest e Nightmare

    O Jest é um framework de testes com baterias incluídas criado pelo Facebook. Ele é rápido, cheio de recursos e integrado perfeitamente com [Babel][2] (outra importante ferramenta do nosso processo de build hoje em dia). Jest cria uma experiência excepcional para testes unitários.

  • A importância de eventos de tecnologia exclusivos para mulheres

    Há quem diga que é vitimismo ou outros termos do gênero, mas não é, mulheres são realmente tratadas de forma diferente.

  • Sons para focar no trabalho

    Vivemos na era da informação e da distração. É tanto conteúdo para se consumir que, em alguns momentos, é fácil perder o foco. Eu, pessoalmente, gosto mesmo é de ouvir música enquanto trabalho. Sendo mais preciso, um bom e velho Rock ‘n Roll. Mas existem algumas alternativas interessantes para quem não gosta ou não consegue […]

Patrocinadores BrazilJS

Gold

Silver

Bronze

Apoio

BrazilJS® é uma iniciativa NASC.     Hosted by Getup