Como implementar o certificado ZeroSSL no Apache e Nginx?

Vamos analisar como obter um certificado SSL / TLS GRATUITO do ZeroSSL e implementá-lo nos servidores Web Apache e Nginx.


Introdução

Você pode ter ouvido muito sobre o termo como HTTP e HTTPS. Nos primeiros dias, foi definido um protocolo, denominado Protocolo de transferência de HyperText (HTTP). É uma maneira de se comunicar do navegador para o servidor web. Quando essa comunicação ocorre, os dados que trafegam em um protocolo HTTP apenas trafegam nos formatos de texto não criptografado. Devido a isso, percebeu-se que a comunicação HTTP não é segura e os hackers foram capazes de atacar e interceptar as mensagens importantes e sensíveis.

Para resolver esse problema, o HTTPS protocolo entrou em cena. É um protocolo seguro, e sigla significa Protocolo de transferência de hipertexto seguro. Ele simplesmente criptografa os dados quando a comunicação acontece e os dados passam do navegador da web para o servidor da web. Para que, se algum hacker coletar essas informações, tudo seja criptografado.

Como o HTTPS funciona?

O protocolo HTTPS funciona com uma das duas coisas: SSL (Secure Socket Layer) ou TLS (Transport Layer Security). Ambas as ferramentas usam PKI (Public Key Infrastructure). A PKI, por sua vez, usa duas teclas, ie. chaves públicas e privadas. Tudo o que é criptografado usando a chave pública pode ser descriptografado usando a chave privada e vice-versa.

Quando instalamos um certificado SSL / TLS em nosso site, o ‘criptografia de dadosRecurso “é ativado. O SSL é usado como um ponto de verificação para garantir a segurança dos dados que estão sendo trocados pela Internet entre o navegador do usuário e o servidor do site.

Obtendo o certificado ZeroSSL

O ZeroSSL é uma autoridade de certificação (CA) que facilita muito a instalação de um certificado para tornar o site seguro. Você pode obter até 3 certificados com validade de 90 dias gratuitamente.

Zero SSL

  • Inscreva-se no ZeroSSL
  • Após o login, a página abaixo será exibida. Clique em ‘Novo certificado. “

  • Digite o URL que você deseja proteger e clique no botão ‘Próxima Etapa.

  • Selecione certificado de 90 dias e Avançar

  • Vamos continuar com a opção gerar automaticamente CSR

  • Prossiga com o plano “Gratuito”

Em seguida, você precisará verificar a propriedade do domínio. Existem algumas opções.

  • DNS – se você pode adicionar uma entrada de registro DNS
  • Email – se você pode receber o email para [protegido por email]
  • Upload de arquivo – se você pode fazer upload de um arquivo na raiz do domínio

Escolha o que funciona para você. Vou continuar com a entrada DNS.

  • Adicionei o CNAME e estou pronto para verificar o domínio.

  • Finalmente, uma vez verificado, o certificado SSL está pronto para download.

Aqui estão meus certificados baixados.

É hora de implementá-lo.

Implementando no Apache

A seguir, instalarei o Apache no Ubuntu.

Efetue login no servidor e instale usando o comando apt-get.

sudo apt-get install apache2

Vamos descobrir se o Apache está sendo executado usando o comando systemctl.

[protegido por email]: ~ # systemctl status apache2
● apache2.service – o servidor HTTP Apache
Carregado: carregado (/lib/systemd/system/apache2.service; ativado; predefinição de fornecedor: ativado)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Ativo: ativo (em execução) desde sáb 2020-05-23 16:15:56 UTC; 3s atrás
Processo: 7852 ExecStop = / usr / sbin / apachectl stop (código = encerrado, status = 0 / SUCESSO)
Processo: 14179 ExecStart = / usr / sbin / apachectl start (código = encerrado, status = 0 / SUCESSO)
PID principal: 14196 (apache2)
Tarefas: 55 (limite: 2362)
CGroup: /system.slice/apache2.service
14─14196 / usr / sbin / apache2 -k start
14─14199 / usr / sbin / apache2 -k start
14─14200 / usr / sbin / apache2 -k start

23 de maio 16:15:56 geekflare-lab systemd [1]: Iniciando o servidor HTTP Apache…
23 de maio 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Não foi possível determinar com segurança o nome de domínio totalmente qualificado do servidor usando 127.0.1.1. Defina o ‘Servir
23 de maio 16:15:56 geekflare-lab systemd [1]: Iniciado o servidor HTTP Apache.

Ótimo, está funcionando.

Meu domínio (lab.geekflare.com) já está apontando para este servidor Apache.

Mas como você pode ver, ele não é seguro e, portanto, estaremos configurando o certificado que obtemos do ZeroSSL.

  • Vamos criar um diretório chamado sslCA em / etc para armazenar os arquivos de certificado.

cd / etc
mkdir sslCA

  • Transfira os arquivos para a pasta recém-criada no servidor

[protegido por email]: / etc / sslCA # ll
20 total
drwxr-xr-x 2 root root 4096 18 de maio 12:13 ./
drwxr-xr-x 92 root root 4096 22 de maio 06:07 ../
-rw-r – r– 1 raiz raiz 2430 18 de maio 05:37 ca_bundle.crt
-rw-r – r– 1 raiz raiz 2292 18 de maio 05:37 certificate.crt
-rw-r – r– 1 raiz raiz 1702 18 de maio 05:37 private.key

  • Ativar módulo SSL

sudo a2enmod SSL

  • Teremos que reiniciar o servidor da web para que as alterações possam ser reconhecidas.

serviço sudo apache2 reiniciar

  • A próxima etapa é configurar os arquivos de certificado no arquivo de configuração Apache SSL.

cd / etc / apache2 / mods-available

  • O nome do arquivo é ssl.conf. Precisamos adicionar o seguinte na diretiva.

SSLEngine ativado
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Salve o arquivo e saia: wq!

Após a reinicialização, o SSL será ativado no site. Vamos acessar o site usando https: //

E, como você pode ver, “A conexão é certa ”. Isso significa que nosso certificado SSL foi aplicado com sucesso ao nosso servidor da web.

Implementando no Nginx

O Nginx está localizado nos repositórios padrão do Ubuntu, então é possível instalá-lo daqui usando o sistema de empacotamento apropriado.

  • O comando abaixo é usado para instalar o “Nginx“.

sudo apt install nginx

  • Após a instalação obter sucesso, podemos iniciar o Nginx usando o comando abaixo.

systemctl start nginx

  • Verifique o status do Nginx.

[protegido por email]: ~ # systemctl status nginx
● nginx.service – um servidor Web de alto desempenho e um servidor proxy reverso
Carregado: carregado (/lib/systemd/system/nginx.service; ativado; predefinição de fornecedor: ativado)
Ativo: ativo (em execução) desde ter 2020-05-19 06:54:00 UTC; 4 dias atrás
Documentos: man: nginx (8)
Processo: 8634 ExecStop = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid (código = encerrado, status = 0 / SUCESSO)
Processo: 8661 ExecStart = daemon / usr / sbin / nginx -g ativado; master_process on; (código = encerrado, status = 0 / SUCESSO)
Processo: 8653 ExecStartPre = daemon / usr / sbin / nginx -t -q -g ativado; master_process on; (código = encerrado, status = 0 / SUCESSO)
PID principal: 8664 (nginx)
Tarefas: 2 (limite: 2362)
CGroup: /system.slice/nginx.service
8─8664 nginx: processo mestre / usr / sbin / nginx -g daemon ativado; master_process on;
8─8707 nginx: processo do trabalhador

19 de maio 06:54:00 geekflare-lab systemd [1]: Iniciando Um servidor Web de alto desempenho e um servidor proxy reverso…
19 de maio 06:54:00 geekflare-lab systemd [1]: nginx.service: falha ao analisar o PID do arquivo /run/nginx.pid: argumento inválido
May 19 06:54:00 geekflare-lab systemd [1]: Iniciado Um servidor web de alto desempenho e um servidor proxy reverso.

  • Como esperado, o navegador mostrará o aviso, pois a conexão com este site não é segura.

Vamos implementar rapidamente o certificado para tornar o site seguro usando HTTPS.

  • Vamos criar o arquivo example.com.conf em /etc/nginx/conf.d local. O conteúdo do arquivo será semelhante ao abaixo.

servidor {
escute 443 SSL default_server;
listen [::]: 443 SSL default_server;
server_name lab.geekflare.com lab.geekflare.com;
raiz / var / www / html;
}

  • Agora é necessário adicionar um nome de arquivo de certificado no arquivo nginx.conf, localizado no diretório “/ etc / nginx”.
  • Adicione o seguinte na diretiva http

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Reinicie o Nginx para verificar as alterações

systemctl restart nginx

E aqui vamos nós.

Interessado em aprender Nginx? Veja isso curso de fundamentos.

Testando a configuração SSL / TLS

A configuração padrão pode estar vulnerável, e eu sugiro fortemente testando seu site depois de implementar o certificado. Há várias ferramentas on-line que você pode conferir aqui.

Conclusão

Espero que isso lhe dê uma idéia de obter um certificado do ZeroSSL e implementá-lo nos dois servidores Web mais populares.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map