Nos velhos tempos, era bastante normal para os sites servirem conteúdo sobre o protocolo HTTP tradicional, pois a segurança não era um grande problema. No entanto, hoje em dia devido à ascensão de crimes cibernéticos, como identificar roubos, roubos de cartão de crédito, bisbilhotando, é realmente importante proteger o canal através do qual se comunica com o servidor. Let's Encrypt é uma autoridade de certificado que fornece certificados SSL/TLS gratuitamente. Os certificados emitidos por eles são válidos por 3 meses, o que significa 90 dias em comparação com um ano ou mais por autoridades de certificação de nível comercial. No entanto, fornece a mesma proteção que os certificados pagos; Portanto, é frequentemente escolhido por muitos blogueiros e pequenos proprietários de sites contra cibercriminosos. Este artigo pretende demonstrar como proteger as gotículas digitais do Digitalocean com Let's Encrypt.
Requisitos
Este guia usa o Ubuntu 16.04 como o sistema operacional no qual o servidor da web está em execução. No entanto, as mesmas etapas podem ser usadas para outras versões do Ubuntu, além de não haver diferença nas configurações. Este guia pressupõe que o usuário já tenha um servidor da web instalado e é nginx. Como o cliente SSH, Putty é usado e, como o editor de arquivos Nano é recomendado.
Solução
- O servidor da web criado nas gotículas pode ser acessado via protocolo SSH. Faça o download e instale o Putty em seu site oficial. O aplicativo é completamente gratuito.
sudo apt-get install putty
- Depois de baixar Putty, vá em frente e faça o download do Nano. O objetivo do Putty é acessar o console Linux para digitar comandos de shell, enquanto o Nano é usado para editar arquivos internos, como o arquivo padrão nginx.
sudo apt-get install nano
- Inicie a guia Putty e navegue até a sessão.
- No campo Nome do host, digite o endereço IP da gota do digitalocean, onde o servidor da Web está instalado. O endereço IP das gotículas pode ser encontrado em https: // nuvem.Digitalocean.com/gotículas. No campo da porta, tipo 22.
- Depois de enviar todos os campos necessários, como visto acima, pressione corretamente para aplicar as alterações e fazer login no gotpeta. Ao fazer login no sistema, ele pedirá o nome de usuário e a senha da gota. O nome de usuário e a senha são enviados por e -mail para o e -mail registrado no Digitalocean ao criar o Groplet.
- Este guia usa o CERTBOT, uma ferramenta de terceiros para automatizar todo o processo de busca e renovação dos certificados digitais. O CERTBOT possui seu próprio site de onde os comandos a serem usados podem ser gerados com facilidade. De acordo com o certbot, os comandos certos para instalar o certbot no Ubuntu são estes. Primeiro, atualiza as informações do pacote no repositório local e, em seguida, instala o Pacote Comum de Propriedades do Software que fornece alguns scripts úteis para lidar com alcance de pacotes pessoais (PPA) e, em seguida, instala o CERTBOT e, em seguida, atualiza novamente o repositório local e, em seguida, ele finalmente instala o pacote python certbot nginx. Verifique se todos esses pacotes estão instalados corretamente antes de ir para a próxima etapa.
Atualização $ sudo apt-get
$ sudo apt-get Install-Properties-Common
$ sudo add-aprop-repository ppa: certbot/certbot
Atualização $ sudo apt-get
$ sudo apt-get install pyth-certbot-nginx
- Navegue até o site de onde o domínio foi comprado. Este guia usa Porkbun como o registrador de domínio e adicione o registro A ao domínio. Tipo é um registro, o host está em branco se o IP estiver associado ao domínio raiz; caso contrário, use o nome de subdomínio sem o domínio raiz, por exemplo, se for nucuta.com, basta usar www. Como a resposta, digite o endereço IP da gota.
- Da mesma maneira, redirecionar o tráfego www para o domínio raiz como seguinte. O tipo é "cname", host é "www", a resposta é "nucuta.com ”ou seu domínio. Esta etapa é importante, pois redireciona todo o tráfego www para o domínio raiz.
- Use o seguinte comando no Putty para acessar o arquivo padrão do nginx. O arquivo padrão por padrão usa um bloco de servidor em que o domínio principal está localizado. O editor de nano é altamente recomendado, pois é bastante conveniente de usar em comparação com outros.
sudo nano/etc/nginx/sites que estão disponíveis/inadimplentes
- No arquivo padrão, navegue até o servidor bloqueio e redirecre o tráfego HTTP para HTTPS e, no outro bloco de servidor em que o tráfego garantido é tratado, altere o servidor_name para o nome do domínio, por exemplo
server_name nucuta.com www.nucuta.com
- Digite o seguinte comando para reiniciar o servidor da web nginx. Sempre que uma alteração era feita no arquivo padrão, todo o servidor nginx deve ser reiniciado para novas alterações para ter algum efeito.
sudo systemctl recarregar nginx
- Por padrão, o firewall bloqueia todo o tráfego, exceto para a porta 80 e 22. O HTTPS usa a porta 443; Portanto, deve ser aberto manualmente para acessar o servidor da web do lado do cliente. Abrir a porta depende do firewall.
No LCR (Firewall do servidor configurado)
- Abre o arquivo de configuração do CSF digitando o seguinte comando.
nano/etc/csf/csf.conf
- Adicione as seguintes portas ao TCP dentro e fora.
Tcp_in = "20,21,22,25,53,80,443"
Tcp_out = "20,21,22,25,53,80,443"
- Reinicie o CSF digitando
CSF -R
No USF (firewall não complicado)
- Digite os dois comandos a seguir para adicionar https à lista de exceções. O pacote "nginx completo" possui portas HTTP e HTTPS; Portanto, adicionar o pacote completo permite o tráfego dentro e fora.
sudo ufw permitir 'nginx completo'
sudo ufw delete permitir 'nginx http'
- Digite o seguinte comando para ver o status
status da UFW
- Verifique a porta 443 de um site externo para garantir que ele seja aberto com certeza. Se a porta estiver aberta, dirá "443 porta está aberta"
- Agora use o certbot para recuperar o certificado SSL no domínio. O parâmetro d é necessário para especificar o domínio. Vamos criptografar o lançamento de um certificado para o subdomínio raiz e o www. Ter apenas um para qualquer uma das versões emitirá um aviso no navegador se um visitante acessar a outra versão; Portanto, é importante obter o certificado para ambas as versões.
sudo certbot -nginx -d nucuta.com -d www.nucuta.com
- O CERTBOT pedirá para redirecionar todo o tráfego HTTP para HTTPS, mas não é necessário, pois já foi feito em uma das etapas anteriores.
- Agora navegue para o site do SSL Lab e verifique a qualidade ou qualquer outro problema do certificado e sua configuração. https: // www.ssllabs.com/ssLtest/
- Se a configuração atual não estiver protegida o suficiente, navegue para o gerador de configuração do Mozilla SSL e gerar as configurações para o seu servidor da web. https: // mozilla.Github.IO/servidor-tls/ssl-config-generator/. Como aqui usa o nginx, use o nginx como o servidor da web. Oferece três opções, intermediário, velho e moderno. Opção antiga torna o site compatível com praticamente todos os navegadores, incluindo navegadores super antigos como o IE 6, enquanto a opção intermediária o torna ideal para usuários médios, a opção moderna gera configuração necessária para a segurança máxima, mas como uma negociação Off o site não funcionar corretamente em navegadores mais antigos. Portanto, é altamente recomendado para sites onde a segurança é uma grande preocupação.
- Navegue até o seu site e clique com o botão direito do mouse no ícone de bloqueio e depois a opção "certificado" para ver o certificado.
- Se mostrar uma data futura após a opção válida, o que significa que o processo de adquirir certificado foi concluído. No entanto, é importante redirecionar o tráfego para a versão relevante do domínio, por exemplo, o tráfego HTTP e WWW pode ser redirecionado domínio raiz HTTPS, como visto neste guia. O certificado será automaticamente renovado pelo CERTBOT; Portanto, está sempre disponível para o proprietário do site gratuitamente.