Uvod
Zahtjevi
Prije nego što počneš
Instalirajte Acme.sh klijent i pribavite TLS certifikat od Let's Encrypt
Instalirajte Nginx
Konfigurirajte Nginx
Uvod
TLS 1.3 verzija je protokola Transport Layer Security (TLS) koji je objavljen 2018. kao predloženi standard u RFC 8446 . Nudi poboljšanja sigurnosti i performansi u odnosu na svoje prethodnike.
Ovaj vodič će pokazati kako omogućiti TLS 1.3 pomoću Nginx web poslužitelja na Fedora 29.
Zahtjevi
- Nginx verzija
1.13.0ili novija.
- OpenSSL verzija
1.1.1ili novija.
- Vultr Cloud Compute (VC2) instanca koja pokreće Fedora 29.
- Ispravan naziv domene i ispravno konfigurirani
A/ AAAA/ CNAMEDNS zapisi za vašu domenu.
- Važeći TLS certifikat. Dobit ćemo jedan od Let's Encrypt.
Prije nego što počneš
Provjerite verziju Fedore.
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Napravite novi non-rootkorisnički račun s sudopristupom i prebacite se na njega.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NAPOMENA: Zamijenite johndoesvojim korisničkim imenom.
Postavite vremensku zonu.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Provjerite je li vaš sustav ažuriran.
sudo dnf check-upgrade || sudo dnf upgrade -y
Instalirajte potrebne pakete.
sudo dnf install -y socat git
Onemogućite SELinux i vatrozid.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Instalirajte Acme.sh klijent i pribavite TLS certifikat od Let's Encrypt
U ovom vodiču koristit ćemo klijent Acme.sh za dobivanje SSL certifikata od Let's Encrypt. Možete koristiti klijenta koji vam je najpoznatiji.
Preuzmite i instalirajte Acme.sh .
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
Provjerite verziju.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Nabavite RSA i ECDSA certifikate za svoju domenu.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
NAPOMENA: Zamijenite example.comu naredbama imenom svoje domene.
Nakon izvođenja prethodnih naredbi, vaši će certifikati i ključevi biti dostupni na:
- RSA:
/etc/letsencrypt/example.com.
- ECC/ECDSA:
/etc/letsencrypt/example.com_ecc.
Instalirajte Nginx
Nginx je dodao podršku za TLS 1.3 u verziji 1.13.0. Fedora 29 dolazi s Nginxom i OpenSSL-om koji podržavaju TLS 1.3 iz kutije, tako da nema potrebe za izradom prilagođene verzije.
Instalirajte Nginx.
sudo dnf install -y nginx
Provjerite verziju.
nginx -v
# nginx version: nginx/1.14.2
Provjerite verziju OpenSSL-a prema kojoj je Nginx sastavljen.
nginx -V
# built with OpenSSL 1.1.1b FIPS 26 Feb 2019
Pokrenite i omogućite Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Sada kada smo uspješno instalirali Nginx, spremni smo ga konfigurirati s odgovarajućom konfiguracijom kako bismo počeli koristiti TLS 1.3 na našem poslužitelju.
Pokrenite sudo vim /etc/nginx/conf.d/example.com.confnaredbu i popunite datoteku sljedećom konfiguracijom.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.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;
}
Spremite datoteku i izađite s :+ W+ Q.
Obratite pažnju na novi TLSv1.3parametar ssl_protocolsdirektive. Ovaj parametar je neophodan samo za omogućavanje TLS 1.3 na Nginxu.
Provjerite konfiguraciju.
sudo nginx -t
Ponovno učitajte Nginx.
sudo systemctl reload nginx.service
Da biste potvrdili TLS 1.3, možete koristiti alate za razvoj preglednika ili uslugu SSL Labs. Snimke zaslona u nastavku prikazuju Chromeovu sigurnosnu karticu.

![Kako omogućiti TLS 1.3 u Nginxu na Fedora 29 Kako omogućiti TLS 1.3 u Nginxu na Fedora 29]()
To je sve. Uspješno ste omogućili TLS 1.3 u Nginxu na svom Fedora 29 poslužitelju. Konačna verzija TLS-a 1.3 definirana je u kolovozu 2018., tako da nema boljeg trenutka za početak usvajanja ove nove tehnologije.