Zahtjevi
Prije nego što počneš
Instalirajte acme.sh klijent i pribavite TLS certifikat od Let's Encrypt
Instalirajte Apache
Konfigurirajte Apache za TLS 1.3
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 Apache web poslužitelja na CentOS 8.
Zahtjevi
- Vultr Cloud Compute (VC2) instanca koja pokreće CentOS 8.
- 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.
- Apache verzija
2.4.36ili novija.
- OpenSSL verzija
1.1.1ili novija.
Prije nego što počneš
Provjerite verziju CentOS-a.
cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)
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 yum update
Instalirajte potrebne pakete.
sudo yum install -y socat git
Onemogućite SELinux i vatrozid.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Instalirajte acme.shklijenta i pribavite TLS certifikat od Let's Encrypt
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 ~
source ~/.bashrc
Provjerite verziju.
/etc/letsencrypt/acme.sh --version
# v2.8.2
Nabavite RSA i ECDSA certifikate za svoju domenu.
# RSA
sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048
# ECC/ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength ec-256
NAPOMENA: Zamijenite example.comu naredbama imenom svoje domene.
Izradite razumne direktorije u koje ćete pohraniti svoje certifikate i ključeve. Koristit ćemo /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Instalirajte i kopirajte certifikate u /etc/letsencrypt.
# RSA
sudo /etc/letsencrypt/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 /etc/letsencrypt/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
Nakon pokretanja gornjih naredbi, vaši će certifikati i ključevi biti na sljedećim mjestima:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Instalirajte Apache
Apache je dodao podršku za TLS 1.3 u verziji 2.4.36. Sustav CentOS 8 dolazi s Apacheom i OpenSSL-om koji podržavaju TLS 1.3 iz kutije, tako da nema potrebe za izradom prilagođene verzije.
Preuzmite i instalirajte najnoviju 2.4 verziju Apachea i njegov modul za SSL putem yumupravitelja paketa.
sudo yum install -y httpd mod_ssl
Provjerite verziju.
sudo httpd -v
# Server version: Apache/2.4.37 (centos)
# Server built: Jul 30 2019 19:56:12
Pokrenite i omogućite Apache.
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Sada kada smo uspješno instalirali Apache, spremni smo ga konfigurirati da počne koristiti TLS 1.3 na našem poslužitelju.
Pokrenite sudo vim /etc/httpd/conf.d/example.com.confi popunite datoteku sljedećom osnovnom konfiguracijom.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
# RSA
SSLCertificateFile "/etc/letsencrypt/example.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/example.com/private.key"
# ECC
SSLCertificateFile "/etc/letsencrypt/example.com_ecc/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/example.com_ecc/private.key"
</VirtualHost>
</IfModule>
Spremite datoteku i izađite s :+ W+ Q.
Provjerite konfiguraciju.
sudo apachectl configtest
Ponovno učitajte Apache da aktivirate novu konfiguraciju.
sudo systemctl reload httpd.service
Otvorite svoju web stranicu putem HTTPS protokola u svom web pregledniku. 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 s TLS 1.3 u akciji.

![Kako omogućiti TLS 1.3 u Apacheu na CentOS 8 Kako omogućiti TLS 1.3 u Apacheu na CentOS 8]()
Uspješno ste omogućili TLS 1.3 u Apacheu na svom CentOS 8 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.