Krav
Før du begynner
Installer acme.sh-klienten og få TLS-sertifikat fra Let's Encrypt
Installer Nginx
Konfigurer Nginx
TLS 1.3 er en versjon av Transport Layer Security (TLS)-protokollen som ble publisert i 2018 som en foreslått standard i RFC 8446 . Den tilbyr sikkerhet og ytelsesforbedringer i forhold til forgjengerne.
Denne veiledningen vil demonstrere hvordan du aktiverer TLS 1.3 ved å bruke Nginx-nettserveren på FreeBSD 12.
Krav
- Vultr Cloud Compute (VC2)-forekomst som kjører FreeBSD 12.
- Et gyldig domenenavn og riktig konfigurerte
A/ AAAA/ CNAMEDNS-poster for ditt domene.
- Et gyldig TLS-sertifikat. Vi får en fra Let's Encrypt.
- Nginx-versjon
1.13.0eller nyere.
- OpenSSL-versjon
1.1.1eller nyere.
Før du begynner
Sjekk FreeBSD-versjonen.
uname -ro
# FreeBSD 12.0-RELEASE
Sørg for at ditt FreeBSD-system er oppdatert.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installer nødvendige pakker hvis de ikke finnes på systemet ditt.
pkg install -y sudo vim unzip wget bash socat git
Opprett en ny brukerkonto med ditt foretrukne brukernavn (vi bruker 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!
Kjør visudokommandoen og fjern kommentarfeltet for %wheel ALL=(ALL) ALLå la medlemmer av wheelgruppen utføre en hvilken som helst kommando.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Bytt nå til den nyopprettede brukeren med su.
su - johndoe
MERK: Erstatt johndoemed brukernavnet ditt.
Sett opp tidssonen.
sudo tzsetup
Installer acme.sh-klienten og få TLS-sertifikat fra Let's Encrypt
Installer acme.sh.
sudo pkg install -y acme.sh
Sjekk versjonen.
acme.sh --version
# v2.7.9
Skaff RSA- og ECDSA-sertifikater for domenet ditt.
# 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
MERK: Erstatt example.comi kommandoene med ditt domenenavn.
Lag kataloger for å lagre sertifikatene og nøklene dine. Vi vil bruke /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installer og kopier sertifikater til /etc/letsencryptkatalogen.
# 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
Etter å ha kjørt kommandoene ovenfor, vil sertifikatene og nøklene dine være på følgende steder:
RSA: /etc/letsencrypt/example.com
ECC/ECDSA: /etc/letsencrypt/example.com_ecc
Installer Nginx
Nginx la til støtte for TLS 1.3 i versjon 1.13.0. FreeBSD 12-systemet kommer med Nginx og OpenSSL som støtter TLS 1.3 ut av esken, så det er ikke nødvendig å bygge en tilpasset versjon.
Last ned og installer den nyeste hovedlinjeversjonen av Nginx via pkgpakkebehandlingen.
sudo pkg install -y nginx-devel
Sjekk versjonen.
nginx -v
# nginx version: nginx/1.15.8
Sjekk OpenSSL-versjonen som Nginx ble kompilert mot.
nginx -V
# built with OpenSSL 1.1.1a-freebsd 20 Nov 2018
Start og aktiver Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Nå som vi har installert Nginx, er vi klare til å konfigurere den med riktig konfigurasjon for å begynne å bruke TLS 1.3 på serveren vår.
Kjør sudo vim /usr/local/etc/nginx/example.com.confkommandoen, og fyll filen med følgende konfigurasjon.
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;
}
Lagre filen og avslutt med :+ W+ Q.
Nå må vi inkludere example.com.confi hovedfilen nginx.conf.
Kjør sudo vim /usr/local/etc/nginx/nginx.confog legg til følgende linje i http {}blokken.
include example.com.conf;
Legg merke til den nye TLSv1.3parameteren i ssl_protocolsdirektivet. Denne parameteren er bare nødvendig for å aktivere TLS 1.3 på Nginx-serveren.
Sjekk konfigurasjonen.
sudo nginx -t
Last inn Nginx på nytt.
sudo service nginx reload
For å bekrefte TLS 1.3 kan du bruke nettleserutviklerverktøy eller SSL Labs-tjeneste. Skjermbildene nedenfor viser Chromes sikkerhetsfane.

![Slik aktiverer du TLS 1.3 i Nginx på FreeBSD 12 Slik aktiverer du TLS 1.3 i Nginx på FreeBSD 12]()
Du har aktivert TLS 1.3 i Nginx på din FreeBSD-server. Den endelige versjonen av TLS 1.3 ble definert i august 2018, så det er ingen bedre tid å begynne å ta i bruk denne nye teknologien.