Como ativar o TLS 1.3 no Nginx no FreeBSD 12

O TLS 1.3 é uma versão do protocolo TLS (Transport Layer Security) publicada em 2018 como um padrão proposto na RFC 8446 . Oferece melhorias de segurança e desempenho em relação aos seus antecessores.

Este guia demonstrará como habilitar o TLS 1.3 usando o servidor da web Nginx no FreeBSD 12.

Exigências

  • Instância do Vultr Cloud Compute (VC2) executando o FreeBSD 12.
  • Um nome de domínio válido e registros DNS / A/ configurados corretamente para seu domínio.AAAACNAME
  • Um certificado TLS válido. Obteremos um do Let's Encrypt.
  • Versão Nginx 1.13.0ou superior.
  • Versão OpenSSL 1.1.1ou superior.

Antes de você começar

Verifique a versão do FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

Verifique se o seu sistema FreeBSD está atualizado.

freebsd-update fetch install
pkg update && pkg upgrade -y

Instale os pacotes necessários se eles não estiverem presentes no seu sistema.

pkg install -y sudo vim unzip wget bash socat git

Crie uma nova conta de usuário com seu nome de usuário preferido (nós usaremos johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Execute o visudocomando e remova o comentário da %wheel ALL=(ALL) ALLlinha, para permitir que os membros do wheelgrupo executem qualquer comando.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Agora, mude para o usuário recém-criado com su.

su - johndoe

NOTA: Substitua johndoepelo seu nome de usuário.

Configure o fuso horário.

sudo tzsetup

Instale o cliente acme.sh e obtenha o certificado TLS em Let's Encrypt

Instale acme.sh.

sudo pkg install -y acme.sh

Verifique a versão.

acme.sh --version
# v2.7.9

Obtenha certificados RSA e ECDSA para o seu domínio.

# RSA
sudo acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048
# ECC/ECDSA
sudo acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength ec-256

NOTA: Substitua example.comnos comandos pelo seu nome de domínio.

Crie diretórios para armazenar seus certificados e chaves. Nós vamos usar /etc/letsencrypt.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instale e copie certificados para o /etc/letsencryptdiretório.

# RSA
sudo acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem 
# ECC/ECDSA
sudo acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem

Depois de executar os comandos acima, seus certificados e chaves estarão nos seguintes locais:

  • RSA: /etc/letsencrypt/example.com
  • ECC/ECDSA: /etc/letsencrypt/example.com_ecc

Instale o Nginx

O Nginx adicionou suporte ao TLS 1.3 na versão 1.13.0. O sistema FreeBSD 12 vem com o Nginx e o OpenSSL que suportam o TLS 1.3 imediatamente, portanto não há necessidade de criar uma versão personalizada.

Baixe e instale a versão principal mais recente do Nginx através do pkggerenciador de pacotes.

sudo pkg install -y nginx-devel

Verifique a versão.

nginx -v
# nginx version: nginx/1.15.8

Verifique a versão do OpenSSL na qual o Nginx foi compilado.

nginx -V
# built with OpenSSL 1.1.1a-freebsd  20 Nov 2018

Inicie e ative o Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Configurar Nginx

Agora que instalamos o Nginx com sucesso, estamos prontos para configurá-lo com a configuração adequada para começar a usar o TLS 1.3 em nosso servidor.

Execute o sudo vim /usr/local/etc/nginx/example.com.confcomando e preencha o arquivo com a seguinte configuração.

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
  ssl_prefer_server_ciphers on;
}

Salve o arquivo e saia com :+ W+ Q.

Agora precisamos incluir example.com.confno nginx.confarquivo principal .

Execute sudo vim /usr/local/etc/nginx/nginx.confe adicione a seguinte linha ao http {}bloco.

include example.com.conf;

Observe o novo TLSv1.3parâmetro da ssl_protocolsdiretiva. Este parâmetro é necessário apenas para ativar o TLS 1.3 no servidor Nginx.

Verifique a configuração.

sudo nginx -t

Recarregue o Nginx.

sudo service nginx reload

Para verificar o TLS 1.3, você pode usar as ferramentas de desenvolvimento do navegador ou o serviço SSL Labs. As capturas de tela abaixo mostram a guia de segurança do Chrome.

Como ativar o TLS 1.3 no Nginx no FreeBSD 12

Como ativar o TLS 1.3 no Nginx no FreeBSD 12

Você ativou com sucesso o TLS 1.3 no Nginx no seu servidor FreeBSD. A versão final do TLS 1.3 foi definida em agosto de 2018, portanto, não há melhor momento para começar a adotar esta nova tecnologia.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.