Como instalar o certificado Let's Crypt SSL para proteger o nginx no RHEL 9/8

Como instalar o certificado Let's Crypt SSL para proteger o nginx no RHEL 9/8

Neste artigo, o guiaremos sobre como gerar e instalar um certificado SSL/TLS obtido gratuitamente Vamos criptografar a autoridade de certificado que usaremos para proteger transações HTTP da Web Nginx em distribuições baseadas em RHEL e RHEL, como Fedora, Rocky Linux e Almalinux.

Se você deseja instalar Vamos criptografar Para distribuições baseadas em Apache nas Rhel e Rhel, siga este guia abaixo:

[Você também pode gostar: como instalar o certificado Let's Crypt SSL para proteger o Apache nos sistemas RHEL]

Requisitos

  • Um nome de domínio registrado com válido A DNS registra para apontar para o endereço IP público do servidor.
  • Nginx Web Server instalado com hosts SSL ativados e virtuais ativados (apenas para vários domínios ou subdomínios de hospedagem).

Nossa configuração do ambiente de teste

Configure https com Lets Encrypt para proteger o nginx no RHEL

Etapa 1: Instale o servidor da web nginx nos sistemas RHEL

1. Na primeira etapa, caso você não tenha Nginx Daemon já instalado, emita os comandos abaixo com privilégios root para instalar o NGINX WebServer a partir de repositórios EPEL.

------------- Em Rhel, Rocky & Almalinux 9 ------------- # dnf install https: // dl.FedoraProject.org/pub/epel/epel-latest-9.Noarch.RPM ------------- Em Rhel, Rocky & Almalinux 8 ------------- # dnf install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM ------------- Instale o Nginx Web Server ------------- # yum install nginx 

Observação: Os usuários do Fedora não precisam instalar o repositório EPEL.

Etapa 2: Instale Let's Encrypt (CERTBOT) em RHEL Systems

2. O método mais rápido de instalar o cliente Let's Encrypt nos sistemas Linux é instalando CertBot e Python3-CertBot-Nginx pacotes do repositório EPEL.

# dnf install certbot python3-CertBot-nginx 
Instale o certbot para o nginx nos sistemas RHEL

3. Depois de CertBot O cliente foi instalado, verifique a versão instalada do software Let's Encrypt, executando o comando abaixo:

# certbot --version CertBot 1.30.0 

Etapa 3: Obtenha um certificado Let's Let's Crypt SSL gratuito para Nginx

4. O processo de obtenção de um livre Certificado SSL/TLS para Nginx será feito manualmente usando Vamos criptografar independentes plugar.

Este método requer essa porta 80 deve ser livre durante o tempo Vamos criptografar O cliente valida a identidade do servidor e gera certificados.

Portanto, se o nginx já estiver em execução, pare o daemon com o seguinte comando e execute o utilitário ss para confirmar que a porta 80 não está mais em uso na pilha de rede.

# serviço nginx Stop # SystemCtl Stop nginx # ss -tln 
Verifique as portas de rede de audição-

5. Agora é hora de obter um certificado SSL gratuito de Vamos criptografar executando o CertBot comando com --nginx Para inicializar a busca e a configuração do Certificado de Segurança de Let's Crypt para domínios Nginx.

# CertBot -Nginx ou # CertBot -Nginx -d Exemplo.com -d www.exemplo.com 
Instalar Lets Crypt Certificado para domínios Nginx

6. Finalmente, se tudo correr como deveria, uma mensagem de informação de felicitações será mostrada no seu terminal Bash. A mensagem também será exibida quando o certificado expirará.

LetSencrypt acaba a instalação

Etapa 4: Instale o Certificado SSL Let's Crypt Crypt no Nginx

9. Agora que você possui um grátis Certificado SSL/TLS, É hora de instalá -lo no Nginx WebServer para que seu domínio o use.

Todos os novos certificados SSL são colocados em /etc/letSencrypt/Live/ Sob um diretório nomeado após seu nome de domínio. Use o comando ls para listar os arquivos de certificado emitidos para o seu domínio e identificá -los.

# sudo ls/etc/letSencrypt/vive/ # sudo ls -al/etc/letsencrypt/vive/your_domain.tld 
LetSencrypt SSL Certificados

10. Para instalar os arquivos de certificado no nginx e ativar o SSL, aberto /etc/nginx/nginx.conf Arquivo para edição e adicione as instruções abaixo após a última linha de audição do servidor Block. Use a ilustração abaixo como guia.

# vi/etc/nginx/nginx.conf 

Trecho do bloco SSL nginx:

# Configuração SSL Ouça 443 SSL default_server; ssl_certificate/etc/letSencrypt/vive/your_domain.TLD/FullChain.PEM; ssl_certificate_key/etc/letSencrypt/vive/your_domain.TLD/Privkey.PEM; ssl_protocols tlsv1 tlsv1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; 
Ativar https na configuração do nginx

Substitua o nome do domínio String para certificados SSL para corresponder ao seu próprio domínio.

11. Finalmente, reinicie Nginx serviço e visite seu domínio via protocolo HTTPS em https: // yourDomain. A página deve carregar suavemente, sem nenhum erro de certificado.

# SystemCtl Reiniciar nginx # serviço nginx reiniciar 

12. Para verificar o SSL/TLS Certificado e sua direita visitam o seguinte link:

https: // www.ssllabs.com/ssltest/analise.html 
Verifique se Let Verifique o certificado SSL HTTPS no domínio

13. Caso você receba uma notificação de que seu servidor suporta um fraco Dh troca -chave e uma classificação geral de B nota, gerar um novo Diffie-Hellman cifra in /etc/nginx/ssl/ diretório para proteger seu servidor contra o Logjam ataque executando os seguintes comandos.

# mkdir/etc/nginx/ssl # cd/etc/nginx/ssl # openssl dhparam -out dhparams.PEM 4096 

Neste exemplo, usamos um 4096 Bit Key, que realmente leva muito tempo para gerar e coloca uma sobrecarga extra em seu servidor e no SSL Handshake.

Caso não haja necessidade explícita de usar uma chave por tanto tempo e você não é paranóico, você deve estar seguro com um 2048 chave de bit.

14. Depois Dh A chave foi gerada, o arquivo de configuração do NGINX aberto e adicione as declarações abaixo após ssl_ciphers linha para adicionar a chave DH e aumentar o nível de segurança do seu domínio para um A+ nota.

# vi/etc/nginx/nginx.conf 

Adicione o seguinte trecho do bloco a Nginx.conf:

ssl_dhparam/etc/nginx/ssl/dhparams.PEM; ssl_session_timeout 30m; ssl_session_cache compartilhado: ssl: 10m; ssl_buffer_size 8k; add_header strito-transportar-segurança max-AGE = 31536000; 
Adicione cifras Diffie-Hellman à configuração do Nginx

15. Reiniciar Nginx Serviço para aplicar alterações e testar novamente seu certificado SSL, limpando o cache do resultado anterior do link mencionado acima.

# SystemCtl Reiniciar nginx # serviço nginx reiniciar 
Verifique o certificado SSL LetSencrypt no site

Etapa 5: Renovar automaticamente o Nginx Free Lets Crypt SSL Certificates

16. Vamos criptografar CA libera grátis SSL/TLS certificados válidos para 90 dias. Os certificados podem ser renovados e aplicados manualmente antes da expiração usando o plug -in do Webroot, sem interromper o servidor da web, emitindo os comandos abaixo:

# CertBot -Nginx -d Exemplo.com -d www.exemplo.com # systemctl recarregar nginx 

Ao executar o comando acima, substitua o exemplo.com Para combinar seu domínio.

17. Para renovar automaticamente o certificado antes de expirar, crie o trabalho Cron para um arquivo crontab existente.

# Crontab -e 

Adicione o seguinte trabalho Cron na parte inferior do arquivo, que será executado todos os dias ao meio -dia para verificar o vencimento do certificado e renová -lo. O --quieto a opção diz ao certbot para não gerar saída.

0 12 * * */usr/bin/certbot renow --quiet 

Isso é tudo! Agora, Nginx O servidor pode fornecer conteúdo seguro da Web com um grátis Ssl/tls vamos criptografar Certificado em seu site.