quarta-feira, 17 de outubro de 2018

Publicado quarta-feira, outubro 17, 2018 por com 1 comentário

Por que seu site estático precisa de HTTPS

As últimas atualizações do Firefox e Chrome agora apontam sites sem HTTPS como sites inseguros, já que sem um certificado digital o site não possui segurança das informações trafegadas. Pois mesmo que o site seja estático, o uso do HTTP pode trazer alguns riscos para os seus visitantes. Mesmo que o site não tenha formulários ou informações sigilosas, ter o certificado digital garante a integridade das URLs, cabeçalhos (headers), e o conteúdo de todas as páginas transmitidas são confidenciais.

Com a popularização do HTTPS, o gerenciamento de certificados pode ser mais simples hoje, graças a serviços como o CloudFlare (pago) e Let's Encrypt (grátis).

Conceitos

O HTTPS (Hyper Text Transfer Protocol Secure, ou Protocolo de Transferência de Hipertexto Seguro) é um protocolo responsável pela criação de um canal para permitir a transferência de informações entre o navegador do usuário e o servidor de forma segura.

O SSL (Secure Sockets Layer, ou Camada de Soquetes Segura) cria canal de comunicação seguro em uma conexão entre dois computadores, mantendo os dados íntegros e inacessíveis a terceiros não autorizados.

Basicamente, o HTTPS e SSL tem praticamente o mesmo conceito, já que ambos criam um canal de comunicação seguro, já o HTTP (Protocolo de Transferência de Hipertexto) é um protocolo de comunicação entre sistemas de informação que permite a transferência de dados entre redes de computadores, mas sem a segurança oferecida pelos outros dois protocolos.

Problema

O grande problema do HTTP é que as informações podem ser interceptadas e modificadas (via Wireshark ou qualquer outro programa de sniffing). Com isso, o site em questão pode sofrer ataques de injeção de códigos maliciosos, como scripts, imagens, propagandas, etc. 



Além disso, se fosse encriptado apenas o conteúdo sigiloso, ficaria óbvio para hackers quais informações devem ser alvejadas. Por isso, é necessário que todo o site possua todas as transmissões encriptadas. Ou seja, não basta apenas configurar um formulário para enviar as informações via HTTPS. Se o site não estiver todo configurado com o protocolo SSL, o atacante pode alterar o link ou form action para uma URL maliciosa, não sendo possível rastrear, já que tudo passa por HTTP. 


E um certificado digital previne tudo isso e muito mais. Com um protocolo seguro, o site tem garantido a integridade de dados e com isso pode detectar adulteração. Com o HTTPS essa interceptação pode acontecer, porém há uma resiliência muito maior contra esse tipo ataque, já que todo o tráfego está criptografado por uma chave privada e pública. Ou seja, ao entrar no site, o cliente utiliza a chave pública do servidor para criptografar os dados, e esses mesmos dados são usados para calcular a chave privada. O servidor vai conseguir gerar essa chave privada somente se conseguir descriptografar esses dados com a chave correta.

A chave tem criptografia de 256 bits, com tamanho de 2048 bits, o que torna o trabalho muito complicado e demorado na tentativa de quebrar por força bruta essa criptografia.

Vantagens e Desvantagens

A Google com intuito de incentivar o uso do protocolo SSL, ranqueia melhores os sites com HTTPS, ou seja, você tem uma melhora no SEO. Para comprovar, basta fazer alguma pesquisa no Google que os primeiros resultados são sempre de sites seguros.

Além de todas as vantagens relacionados a segurança, como prevenção de ataques de sniffing, fishing, redirecionamento, etc., o próprio navegador mostra que o site é seguro com aquele cadeado do lado do link e é melhor visualizado pelos usuários em geral.

A desvantagem é que o certificado digital tem que ser renovado depois de um período. O Let's Encrypt é de 3 em 3 meses. Já um certificado pago, a renovação obrigatória é a partir de 1 ano (certificado A1 - armazenado no computador) a 3 anos (certificado A3 - armazenado no token ou cartão).

Como adquirir um certificado digital?

Caso o site esteja pronto e hospedado, o cliente pode entrar em contato com a empresa responsável pela a hospedagem do site e solicitar um certificado SSL, podendo ser pago ou não. Outra possibilidade, seria contratar uma empresa especializada somente com esse tipo de serviço.

Na contratação da hospedagem do site, é possível escolher um certificado digital na compra ou conseguir um gratuitamente dependendo do plano de hospedagem. Nesse caso, a instalação do certificado digital é de responsabilidade da empresa de hospedagem.

Caso o cliente não deseje gastar com um certificado, é possível conseguir um gratuitamente pelo Let’s Encrypt. Na maioria das vezes a empresa responsável pela hospedagem faz a instalação do certificado, bastando enviar as informações do certificado gerado, conforme exigido por eles (se houver).

Fontes:
      edit

Um comentário: