Introdução

Com um certificado SSL, seu site pode usar o protocolo HTTPS para transferir informações de forma segura entre os pontos A e B. Isso é crucial ao transferir informações confidenciais, como dados do cartão de crédito em páginas de pagamento e informações de identificação pessoal (Personally Identifiable Information - PII) nos formulários de login e de contato.

Além dos benefícios de segurança, os sites que usam o SSL obtêm melhores classificações no Google e melhoram o desempenho através do HTTP/2. Também é importante entender que o SSL não protege seu site. Este guia foi projetado para mostrar aos usuários iniciantes e intermediários como implantar um certificado SSL gratuito do Let's Encrypt em seus sites.

Passo 1
Obter Informações

Agora é mais fácil do que nunca usar HTTPS em seu site. Os iniciantes devem começar conversando com sua empresa de hospedagem sobre as opções que elas oferecem.

Existem algumas maneiras simples de adicionar SSL ao seu site:

  1. Alguns hosts oferecem SSL gratuito, incluindo opções de SSL com um clique (Ex: SiteGround, WPEngine).
  2. Muitos hosts oferecem SSL pago e implementarão os certificados para você (Ex: GoDaddy).
  3. Usuários intermediários podem gerar seu próprio certificado SSL gratuito (Ex: Certbot / Let’s Encrypt).

Independentemente do tipo de certificado que você escolher, o nível de segurança é o mesmo. Existem diferentes opções de criptografia disponíveis para certificados SSL que você pode procurar, se desejado.

1.1 Tipos de Certificados SSL

Alguns visitantes reconhecem a autenticidade e confiança adicionais oferecidas pelos certificados de Validação Extendida (Extended Validation - EV) e Validação da Organização (Organization Validated - OV) devido ao seu rigoroso processo de validação.

Existem três tipos de certificados:

  • Validação do Domínio (Domain Validated - DV)

    Os certificados DV só precisam da Autoridade de Certificação para verificar se o usuário que solicita o certificado possui e administra o domínio. Os visitantes verão um ícone do cadeado na barra de endereços, mas nenhuma informação específica sobre o proprietário.

  • Validação da Organização - (Organization Validated - OV)

    Os certificados OV exigem que uma Autoridade de Certificação confirme que o negócio que faz o pedido esteja registrado e seja legítimo. Quando os visitantes clicam no ícone do cadeado verde em seu navegador, o nome da empresa é listado.

  • Validação Estendida (Extended Validation - EV)

    Os certificados EV exigem ainda mais documentação para que a Autoridade de Certificação valide a organização. Os visitantes verão o nome do negócio dentro da barra de endereços (além de clicar no ícone do cadeado).

1.2 Certificados Commerciais vs. Gratuitos

É importante que você avalie sua preferência entre certificados pagos ou gratuitos.

  • Certificados SSL pagos

    Eles são uma boa opção para muitos proprietários de sites. Pagar uma Autoridade de Certificação (ou sua empresa de hospedagem) geralmente lhe dará os benefícios do suporte técnico. O nível de criptografia é o mesmo que com certificados SSL gratuitos. A diferença é o nível de suporte que você obtém com seu certificado.

  • Certificados SSL gratuitos

    Eles têm como maior propulsor o Let's Encrypt - uma colaboração aberta entre várias organizações globais que têm como objetivo tornar os certificados SSL acessíveis a todos os proprietários de sites.

Observação

Muitos hosts oferecem instruções específicas sobre como implantar certificados SSL gratuitos. Verifique com o seu host para obter mais informações antes de continuar a leitura deste guia.

1.3 SSL na Nuvem

Você também pode obter os benefícios dos certificados SSL através de provedores de nuvem, como redes de entrega de conteúdo (CDNs) e soluções Website Application Firewalls (WAFs) como a Sucuri, que oferecem o certificado para seus clientes sem custo adicional.

Esses serviços funcionam como um proxy entre o visitante e o seu site. Ao alterar os registros de seu domínio para apontar para seus servidores, a Sucuri armazena seu conteúdo em cache para tornar seu site mais rápido e filtrar o tráfego malicioso. Isso também significa que o navegador reconhece quais IPs do servidor estão conectados ao seu domínio, permitindo o uso de certificados DV.

Esses provedores também podem trabalhar com seu próprio certificado SSL. Se você é cliente da Sucuri, entre em contato com nossa equipe de suporte técnico para obter informações e assistência..

Observação

Se você estiver implementando um certificado SSL através do seu host, você pode ir direto para o Passo 3: Útimos Passos Importantes.

1.4 Como Gerar um Certificado SSL Gratuito

Este guia funciona melhor se você tiver um IP dedicado para seu site (através de um VPS ou um servidor dedicado). Se você estiver em um host compartilhado, fale com o seu host sobre a implantação do Let's Encrypt. Muitos hosts automatizaram o processo de implantação de um SSL gratuito para contas de hospedagem compartilhadas. é possível usar o Server Name Indication (SNI) com um endereço IP de servidor e gerar certificados para todos os sites no servidor.

Este guia tem como pressuposto seu acesso total ao servidor.

Serão necessários estes dados sobre seu servidor:

  • Endereço IP
  • Nome de usuário do servidor (com privilégios admin ou sudo )
  • Senha do usuário (de preferência SSH key)
  • Software (Apache, nginx, IIS)
  • Sistema operacional e número de versão (Debian 7, Ubuntu 16.04, etc.)

Acesso SSH via cPanel

Contate seu host para obter esses dados.

Observação

Se você tem vários subdomínios, marque no seu calendário se desejar um certificado SSL gratuito. Let’s Encrypt vai dar suporte para certificados curinga (wildcard certificates) a partir de janeiro de 2018. Enquanto isso, talvez seja necessário trabalhar com seu host para ver quais outras opções estão disponíveis

Passo 2
Gerar Certificado

Agora que você tem todas as informações necessárias, você pode se conectar ao seu servidor e instalar uma ferramenta que gerará um certificado SSL.

Pelo seu computador, você precisa fazer login no seu servidor e enviar comandos SSH. Se você usa um Mac, pode usar o Terminal (aplicativo embutido), se usa Windows, pode fazer o download do PuTTY. Alguns hosts também oferecem uma interface web para executar comandos no seu servidor.

Observação

As instruções variam dependendo do seu software e do seu sistema do servidor. Alguns sistemas não suportam o Certbot, mas você pode encontrar uma lista de clientes que funcione no seu ambiente.

2.1 Os Passos

Aqui está uma visão geral e rápida de como você pode obter um certificado SSL gratuito do Let's Encrypt usando a ferramenta Certbot.

Passos para usar o Certbot:

  1. Conecte ao seu servidor via SSH, usando o endereço IP, nome de usuário e senha.
  2. Visite o site Certbot e escolhe o sistema operacional do seu servidor e software.
  3. Siga as instruções para o seu servidor para completar os próximos passos.
  4. Execute os comandos listados para Instalar as dependências.
  5. Execute os comandos listados para Instalar o certbot.
  6. Execute os comandos listados para Começar e gerar o certificado.
  7. Forneça um endereço de email quando solicitado.
  8. Concorde com os Termos quando solicitado.
  9. Execute os comandos listados para renovar em: Automating Renewal.
  10. Configure um cron ou systemd job no seu servidor para automatizar o processo de renovação./li>

As imagens e animações abaixo ilustram todo o processo para um servidor no Apache ou Ubuntu 16.04.

Clientes Sucuri

A remoção manual do código "malicioso" dos arquivos do seu site pode ser extremamente perigosa para seu site. Nunca realize nenhuma ação sem um backup. Se você não tiver certeza, procure assistência de um profissional.

2.2 Instalar Cliente Certbot

Usando as instruções fornecidas para o seu servidor, instale as dependências e a ferramenta Certbot. As imagens a seguir são um exemplo do que você pode esperar.

Obtenha instruções para o seu servidor no site Certbot

Conecte ao seu Servidor via SSH (GIF)

Instale Dependências (se necessário)(GIF)

Instale Certbot (GIF)

Observação

Se você está recebendo erros de permissão, verifique com o seu host para garantir que seu usuário tenha permissões para executar comandos administrativos (Ex: sudo).

2.3 Gerar Certificado SSL

Continuando com o mesmo conjunto de instruções, a seção Começar fornecerá os comandos necessários para criar o certificado SSL para o seu site. As seguintes imagens são um exemplo do que você pode esperar.

Execute o Certbot(GIF)

Aceite os Termos

Faça um Backup seguro

Após gerar o certificado, veja que as OBSERVAçÕES IMPORTANTES mostram a localização do diretório da configuração do Certbot. Isso contém as credenciais da sua conta, o certificado e as chaves privadas.

Você deve navegar até esse local no seu servidor e fazer o download de um backup. Se você não tem certeza de como fazer isso, você pode seguir os passos do nosso post no como fazer backups por meio da linha de comandos.

2.4 Automatizar a Renovação

Agora você tem um certificado SSL ativo em seu site, mas seu certificado expirará. Os certificados do Let's Encrypt só são válidos por 90 dias. Você pode automatizar esse processo para que você não precise se lembrar de renovar manualmente o certificado.

Recomendados usar o cron ou systemd job para renovar o certificado duas vezes por dia. Antes de começar, anote a localização do seu diretório de configuração do Certbot a partir do passo anterior.

Configurar a Renovação do Certificado SSL via Cron Job

Para agendar o cron job e renovar o certificado SSL:

  1. Conecte-se ao seu servidor
  2. Execute o comando crontab -e
  3. Se aparecer, escolha um editor de texto (Ex: nano)
  4. Digite o seguinte comando, tendo o cuidado de substituir a localização por aquela fornecida quando gerou o certificado:

  5. 52 0,12 * * * root /var/log/letsencrypt/certbot-auto renew --quiet
  6. Acesse seu site e veja se está funcionando

Observação

Para algumas configurações do servidor, pode ser necessário executar comandos adicionais para carregar os novos certificados.

Você pode ver toda a documentação sobre as renovações do Certbot para mais iformações.

Essas organizações sem fins lucrativos estão trabalhando para ajudar a tornar a Internet um lugar mais seguro para todos. Embora essas ferramentas sejam gratuitas, você pode fazer doações para ajudar o Let’s Encrypt e o Certbot.<

  1. https://letsencrypt.org/donate/
  2. https://supporters.eff.org/donate/support-work-on-certbot
Passo 3
Últimos Passos

Enquanto o HTTPS agora é uma opção no seu site, a versão HTTP do seu site ainda pode ser acessada. Idealmente, você deve forçar todos os visitantes (incluindo motores de busca) a ver a versão HTTPS do seu site. Você também deve tomar medidas para corrigir avisos de conteúdo misto e atualizar todos os serviços da nuvem baseados em proxy (como firewalls e CDNs) para funcionarem com seu novo certificado SSL.

3.1 Forçar HTTPS

Para forçar os visitantes a acessar seu site somente em HTTPS, você pode editar seu arquivo .htaccess. Você pode encontrar isso no root do seu site e talvez seja necessário mostrar arquivos ocultos para encontrá-lo.

Existem outros métodos para o Apache, como usar o seu arquivo do host virtual. Se você usa um servidor IIS, siga as instruções para usar um URL Rewrite Module. Servidores nginx podem usar o arquivo de configuração nginx.

Copie isto no arquivo .htaccess para redirecionar visitantes HTTP para a versão HTTPS do seu site:

Snippet do Código - Adicione no arquivo .htaccess

  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Cuidado

Editar o arquivo .htaccess pode causar problemas com sites com estruturas complexas. A reescrita abaixo funciona melhor para sites em um servidor dedicado ou VPS executando o Apache.

3.2 Procurar por Conteúdo Misto

Enquanto o seu site já está disponível no HTTPS, você ainda pode ter recursos ligados em seu site que são carregados por HTTP. Isso inclui coisas como imagens, vídeos e recursos externos.

Os navegadores bloqueiam esse conteúdo como "inseguro", o que também pode quberar funcionalidades no seu site e avisos de segurança nos navegadores.

Exemples de Avisos de Sites “Inseguros”:

Você pode usar o mesmo acesso SSH que você usou para gerar o certificado para executar um comando e encontrar todos os arquivos que fazem referência a http:// diretamente.

Para encontrar recursos que carregam usando HTTP, execute o seguinte comando:

        grep -r "http://"
      

Este comando listará todos os arquivos para fazer a investigação no seu servidor ou no seu CMS. Simplesmente altere todos os URLs de recursos de http:// para https:// ou para uma path correlata.

Você também pode consultar seu banco de dados ou procurar manualmente por postagens e páginas para conteúdo HTTP. Existem plugins e extensões disponíveis que podem automatizar o processo de reescrever URLS usando HTTP para HTTPS (Ex: Really Simple SSL para WordPress).

Absolute Path:

<img src="https://example.com/images/pic.jpg">

Relative Path:

<img src="/images/pic.jpg">

Recursos que Podem Causar Avisos de Conteúdo Misto:

  • Fontes web
  • Conteúdo Iframe
  • JavaScript includes
  • CSS stylesheets
  • Imagem embeds
  • Vídeo embeds
  • Áudio embeds

Cuidado

  • Se o seu site carrega recursos externos, a alteração de links para HTTPS pode quebrar sua funcionalidade. Para evitar isso, verifique se o recurso está disponível em HTTPS antes de alterar o URL em seu código. Você pode acessar o URL com HTTPS em um navegador para verificar.
  • Se você encontrar problemas, baixe o conteúdo externo e hospede-o em seu próprio servidor para garantir que ele seja carregado através de HTTPS. Sempre teste em um ambiente de desenvolvimento para scripts e outros conteúdos que possam ser executados de forma diferente.

3.3 SEO

Por último, prepare-se para os potenciais impactos negativos do uso de HTTPS. Seguindo os passos abaixo, você poderá minimizá-los.

Uma vez configurado, adicione e verifique o novo site HTTPS no Google Search Console. Isso permitirá que você recupere seu site e envie um novo sitemap XML com seus URLs HTTPS.

Para muitos elementos de SEO como tags “rel=canonical” e Open Graph, é aconselhável usar um URL absoluto, pois são lidos externamente por sites de redes sociais e rastreadores de mecanismos de pesquisa.

é importante notar que haverá um período de normalização após a aplicação do SSL, mas, no final, isso é apenas um sinal de classificação confirmado de acordo com o Google.

Da mesma forma, os contadores de compartilhamento sociais para o conteúdo antigo provavelmente serão invalidados. Isso ocorre porque agora existe um novo URL começando com HTTPS em vez de HTTP, e muitas ferramentas contam-no como um URL separado com suas próprias métricas de engajamento.

Verificar Meta Elementos de SEO

  • rel=canonical
  • rel=alternate
  • rel=next & rel=prev
  • hreflang
  • Open Graph tags
  • Schema.org
  • Structured Data
  • Sitemaps
  • Internal linking

3.4 Aviso de Segurança de Site

HTTPS é uma ótima coisa para a internet como um todo, ajuda a manter a comunicação secreta entre os usuários e os sites que visitam. O SSL assegura dados em trânsito, mas não protegem o site por si só.

A segurança do site é mais abrangente do que HTTPS/SSL, e deve ser tratada como tal. Pense em HTTPS/SSL como um dos muitos controles de segurança a serem considerados ao pensar sobre a segurança do seu site. Implantar HTTPS/SSL no seu site, sem fazer outras ações para garantir que um ambiente seguro faça pouco para garantir que seus visitantes estejam seguros.

Incentivamos os proprietários do site a pensarem sobre a segurança do site de forma holística, por isso incentivamos o uso de uma Plataforma de Segurança de Sites que oferece um conjunto completo de controles de segurança: proteção, detecção, monitoramento e resposta a incidentes. Se você tiver mais perguntas sobre como as plataformas funcionam ou perguntas sobre este artigo, dirija-as diretamente à nossa equipe no info@sucuri.net.