Configurar, vamos criptografar em Digital Ocean Droplet

Configurar, vamos criptografar em Digital Ocean Droplet
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

  1. 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
  1. 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
  1. Inicie a guia Putty e navegue até a sessão.
  1. 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.
  1. 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.
  1. 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
  1. 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.
  1. 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.
  1. 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
  1. 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
  1. 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
  1. 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)

    1. Abre o arquivo de configuração do CSF ​​digitando o seguinte comando.
    nano/etc/csf/csf.conf
    1. 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"
    1. Reinicie o CSF ​​digitando CSF -R

    No USF (firewall não complicado)

    1. 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'
    1. Digite o seguinte comando para ver o status
  2. status da UFW
  1. 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"
  1. 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
  1. 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.
  1. 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/
  1. 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.
  1. 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.
  1. 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.