Pengenalan
TLS 1.3 adalah versi protokol Keselamatan Layer Pengangkutan (TLS) yang diterbitkan pada 2018 sebagai standard yang dicadangkan dalam RFC 8446 . Ia menawarkan peningkatan keselamatan dan prestasi berbanding pendahulunya.
Panduan ini akan menunjukkan bagaimana untuk membolehkan TLS 1.3 menggunakan pelayan web Nginx pada Fedora 29.
Keperluan
- Versi Nginx
1.13.0
atau lebih besar.
- Versi OpenSSL
1.1.1
atau lebih tinggi.
- Contoh Vultr Cloud Compute (VC2) yang menjalankan Fedora 29.
- Nama domain yang sah dan rekod
A
/ AAAA
/ CNAME
DNS yang dikonfigurasi dengan betul untuk domain anda.
- Sijil TLS yang sah. Kami akan mendapat satu daripada Let's Encrypt.
Sebelum awak bermula
Periksa versi Fedora.
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Buat non-root
akaun pengguna baru dengan sudo
akses dan beralih kepadanya.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
CATATAN: Ganti johndoe
dengan nama pengguna anda.
Sediakan zon waktu.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Pastikan sistem anda terkini.
sudo dnf check-upgrade || sudo dnf upgrade -y
Pasang pakej yang diperlukan.
sudo dnf install -y socat git
Lumpuhkan SELinux dan Firewall.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Pasang klien Acme.sh dan dapatkan sijil TLS dari Let's Encrypt
Dalam panduan ini, kami akan menggunakan klien Acme.sh untuk mendapatkan sijil SSL dari Let's Encrypt. Anda boleh menggunakan pelanggan yang paling anda kenal.
Muat turun dan pasang 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 [email protected]
cd ~
Semak versi.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Dapatkan sijil RSA dan ECDSA untuk domain anda.
# 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
CATATAN: Ganti example.com
perintah dengan nama domain anda.
Setelah menjalankan perintah sebelumnya, sijil dan kunci anda akan dapat diakses di:
- RSA :
/etc/letsencrypt/example.com
.
- ECC / ECDSA:
/etc/letsencrypt/example.com_ecc
.
Pasang Nginx
Nginx menambah sokongan untuk TLS 1.3 dalam versi 1.13.0. Fedora 29 hadir dengan Nginx dan OpenSSL yang menyokong TLS 1.3 di luar kotak, jadi tidak perlu membuat versi khusus.
Pasang Nginx.
sudo dnf install -y nginx
Semak versi.
nginx -v
# nginx version: nginx/1.14.2
Semak versi OpenSSL yang telah dikumpulkan oleh Nginx.
nginx -V
# built with OpenSSL 1.1.1b FIPS 26 Feb 2019
Mulakan dan aktifkan Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Setelah berjaya memasang Nginx, kami siap mengkonfigurasinya dengan konfigurasi yang betul untuk mula menggunakan TLS 1.3 di pelayan kami.
Jalankan sudo vim /etc/nginx/conf.d/example.com.conf
perintah, dan isi fail dengan konfigurasi berikut.
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;
}
Simpan fail dan keluar dengan :+ W+ Q.
Perhatikan TLSv1.3
parameter ssl_protocols
arahan baru. Parameter ini hanya diperlukan untuk mengaktifkan TLS 1.3 di Nginx.
Periksa konfigurasi.
sudo nginx -t
Muat semula Nginx.
sudo systemctl reload nginx.service
Untuk mengesahkan TLS 1.3, anda boleh menggunakan alat penyemak imbas atau perkhidmatan Lab SSL. Tangkapan skrin di bawah menunjukkan tab keselamatan Chrome.


Itu sahaja. Anda berjaya mengaktifkan TLS 1.3 di Nginx pada pelayan Fedora 29 anda. Versi terakhir TLS 1.3 telah ditentukan pada bulan Ogos 2018, jadi tidak ada waktu yang lebih baik untuk mulai menggunakan teknologi baru ini.