Krav
Før du begynner
Installer acme.sh-klienten og skaff et TLS-sertifikat fra Let's Encrypt
Installer Apache
Konfigurer Apache for TLS 1.3
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 sikkerhets- og ytelsesforbedringer i forhold til forgjengerne.
Denne veiledningen vil demonstrere hvordan du aktiverer TLS 1.3 ved å bruke Apache-nettserveren på CentOS 8.
Krav
- Vultr Cloud Compute (VC2)-forekomst som kjører CentOS 8.
- 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.
- Apache-versjon
2.4.36eller nyere.
- OpenSSL-versjon
1.1.1eller nyere.
Før du begynner
Sjekk CentOS-versjonen.
cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)
Opprett en ny non-rootbrukerkonto med sudotilgang og bytt til den.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
MERK: Erstatt johndoemed brukernavnet ditt.
Sett opp tidssonen.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Sørg for at systemet ditt er oppdatert.
sudo yum update
Installer de nødvendige pakkene.
sudo yum install -y socat git
Deaktiver SELinux og brannmur.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Installer acme.shklienten og få et TLS-sertifikat fra Let's Encrypt
Installer 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
Sjekk versjonen.
/etc/letsencrypt/acme.sh --version
# v2.8.2
Skaff RSA- og ECDSA-sertifikater for domenet ditt.
# 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
MERK: Erstatt example.comi kommandoer med ditt domenenavn.
Lag fornuftige kataloger for å lagre sertifikater og nøkler i. 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/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
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 Apache
Apache la til støtte for TLS 1.3 i versjon 2.4.36. CentOS 8-systemet kommer med Apache 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 2.4-versjonen av Apache og dens modul for SSL via yumpakkebehandlingen.
sudo yum install -y httpd mod_ssl
Sjekk versjonen.
sudo httpd -v
# Server version: Apache/2.4.37 (centos)
# Server built: Jul 30 2019 19:56:12
Start og aktiver Apache.
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Nå som vi har installert Apache, er vi klare til å konfigurere den til å begynne å bruke TLS 1.3 på serveren vår.
Kjør sudo vim /etc/httpd/conf.d/example.com.conf, og fyll filen med følgende grunnleggende konfigurasjon.
<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>
Lagre filen og avslutt med :+ W+ Q.
Sjekk konfigurasjonen.
sudo apachectl configtest
Last inn Apache på nytt for å aktivere den nye konfigurasjonen.
sudo systemctl reload httpd.service
Åpne nettstedet ditt via HTTPS-protokollen i nettleseren din. For å bekrefte TLS 1.3 kan du bruke nettleserutviklerverktøy eller SSL Labs-tjeneste. Skjermbildene nedenfor viser Chromes sikkerhetsfane med TLS 1.3 i aksjon.

![Slik aktiverer du TLS 1.3 i Apache på CentOS 8 Slik aktiverer du TLS 1.3 i Apache på CentOS 8]()
Du har aktivert TLS 1.3 i Apache på CentOS 8-serveren. 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.