Como proteger o nginx com Let's Encrypt no Ubuntu e Debian
- 3163
- 30
- Spencer Emard
Seguindo o anterior Vamos criptografar tutorial sobre Apache SSL, Neste artigo, discutiremos como gerar e instalar um certificado SSL/TLS gratuito emitido por Vamos criptografar CA para Nginx servidor da web on Ubuntu ou Debian.
Leia também
- Prenda o Apache com Let's Encrypt gratuito no Ubuntu e Debian
- Instale Let's Encrypt SSL para proteger o Apache no RHEL e CENTOS
Testando o ambiente de amostra
Instalar, vamos criptografar para proteger o nginx no Ubuntu e DebianRequisitos
- Um domínio registrado com DNS válido
A
registra para apoiar o endereço IP do seu servidor. - Um servidor web nginx instalado com SSL e VHOST ativados, caso você planeje hospedar vários domínios ou subdomínios.
Etapa 1: Instalando o Nginx Web Server
1. Na primeira etapa, instale o NGINX Web Server, se já não estiver instalado, emitindo o comando abaixo:
$ sudo apt-get install nginxInstale o Nginx Web Server no Ubuntu 14.04 e Debian 8
Etapa 2: gerar um certificado SSL Let's Crypt para Nginx
2. Antes de gerar um certificado SSL/TLS gratuito, instale Vamos criptografar software em /usr/local/
Hierarquia do sistema de arquivos com a ajuda de git Cliente emitindo os comandos abaixo:
$ sudo apt -get -y install git $ cd/usr/local/$ sudo git clone https: // github.com/letsencrypt/letsencrypt
3. Embora o procedimento de obter um certificado para Nginx é automatizado, você ainda pode criar e instalar manualmente um certificado SSL gratuito para nginx usando o plug -in autônomo Let's Crypt.
Este método requer essa porta 80 Não deve estar em uso no seu sistema por um curto período de tempo, enquanto o cliente do Let's Encrypt valida a identidade do servidor antes de gerar o certificado.
Caso você já esteja executando o nginx, pare o serviço emitindo o seguinte comando.
$ sudo serviço nginx stop ou $ sudo systemctl stop nginx
Caso você esteja executando outro serviço que se vincule na porta 80 pare esse serviço também.
4. Confirme essa porta 80 é gratuito executando o comando netstat:
$ sudo netstat -tlpn | Grep 80Verifique as portas de escuta atuais no Linux
5. Agora é hora de correr LetSencrypt
Para obter um certificado SSL. Vá para Vamos criptografar Diretório de instalação encontrado em /usr/local/letsencrypt caminho do sistema e execute o LetSencrypt-Auto Comando fornecendo o Certonly --estar sozinho
opção e -d
Bandeira para cada domínio ou subdomínio que você deseja gerar um certificado.
$ CD/USR/LOCAL/LetSencrypt $ sudo ./LetSencrypt -Auto Certonly -Standalone -D Your_Domain.tldObtenha o certificado SSL Let's Let's Crypt
6. Digite o endereço de e -mail que será usado por Let's Encrypt for Lost Key Recuperação ou avisos urgentes.
Insira o endereço de e-mail7. Concorde com os termos da licença pressionando a tecla Enter.
Aceitar Acordo LetSencrypt8. Finalmente, se tudo foi bem -sucedido, uma mensagem semelhante à captura de tela abaixo deve aparecer em seu console de terminal.
LetSencrypt acaba a instalaçãoEtapa 3: Instale o Certificado SSL Let's Crypt Crypt no Nginx
9. Agora que seu certificado SSL foi gerado é hora de configurar o Nginx WebServer para usá -lo. Os certificados recém -SSL são colocados em /etc/letSencrypt/Live/
Sob um diretório nomeado após seu nome de domínio. Execute o comando ls para listar os arquivos de certificado emitidos para seu domínio.
$ sudo ls/etc/letsencrypt/vive/$ sudo ls -al/etc/letsencrypt/vive/ceszar.tkLetSencrypt SSL Certificados
10. Em seguida, aberto /etc/nginx/sites-disponível/padrão
Arquive com um editor de texto e adicione o bloco a seguir após a primeira linha comentada que especifica o início do bloco SSL. Use a captura de tela abaixo como orientação.
$ sudo nano/etc/nginx/sites-habilitados/inadimplacente
Trecho de bloco nginx:
# Configuração SSL # Ouça 443 SSL default_server; SSL_CERTificate/etc/letsencrypt/Live/Caeszar.TK/FullChain.PEM; ssl_certificate_key/etc/letsencrypt/vive/caeszar.TK/Privkey.PEM; ssl_protocols tlsv1 tlsv1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; ssl_dhparam/etc/nginx/ssl/dhparams.PEM;Configure o nginx para usar let's criprypt ssl
Substitua os valores do nome de domínio para certificados SSL de acordo.
11. Na próxima etapa, gerar um forte Diffie-Hellman cifra in /etc/nginx/ssl/ diretório para proteger seu servidor contra o Logjam ataque executando os seguintes comandos.
$ sudo mkdir/etc/nginx/ssl $ cd/etc/nginx/ssl $ sudo openssl dhparam -out dhparams.PEM 2048Gere Diffie Hellman Cipher para Nginx
12. Finalmente, reinicie o daemon nginx para refletir as mudanças.
$ sudo systemctl reinicie nginx
e teste seu certificado SSL visitando o URL abaixo.
https: // www.ssllabs.com/ssltest/analise.htmlVerifique o nginx permite o certificado SSL CRYPT
Etapa 4: Renovar automaticamente, vamos criptografar os certificados nginx
13. Certificados emitidos por Vamos criptografar CA são válidos por 90 dias. Para renovar automaticamente os arquivos antes da data de vencimento criar SSL-renow.sh
Bash Script In /usr/local/bin/
diretório com o seguinte conteúdo.
$ sudo nano/usr/local/bin/ssl-renow.sh
Adicione o seguinte conteúdo a SSL-renow.sh
arquivo.
#!/bin/bash cd/usr/local/letsencrypt sudo ./letSencrypt-AUTO Certonly -a webroot --gree-tos-renew-by-default ---webroot-path =/var/www/html/-d your_domain.tld sudo systemctl recarregar nginx saída 0Renovar automaticamente o nginx permite criptografar o certificado SSL
Substitua o --Webroot-Path
variável para corresponder à sua raiz do documento nginx. Verifique se o script é executável emitindo o seguinte comando.
$ sudo chmod +x/usr/local/bin/ssl-renow.sh
14. Por fim, adicione um trabalho de cron para executar o script a cada dois meses à meia -noite, a fim de garantir que seu certificado seja atualizado em aproximadamente 30 dias antes de expirar.
$ sudo crontab -e
Adicione a seguinte linha na parte inferior do arquivo.
0 1 1 */2 */usr/local/bin/ssl-renow.sh >>/var/log/your_domain.tld-renow.log 2> & 1Atualização permite CRPYPT SSL CERTIFICADOS
É isso! Seu servidor nginx agora está servindo conteúdo SSL usando um grátis Vamos criptografar SSL certificado.
- « Como instalar o NTP Server e Client no Ubuntu
- Como instalar o OpenSsh 8.0 servidor da fonte no Linux »