Követelmények
Mielőtt elkezded
Telepítse az acme.sh klienst, és szerezzen be TLS-tanúsítványt a Let's Encrypt-től
Telepítse az Apache-t
Az Apache konfigurálása TLS 1.3-hoz
A TLS 1.3 a Transport Layer Security (TLS) protokoll egyik változata, amelyet 2018-ban tettek közzé javasolt szabványként az RFC 8446-ban . Biztonsági és teljesítménybeli fejlesztéseket kínál elődeihez képest.
Ez az útmutató bemutatja, hogyan engedélyezheti a TLS 1.3-at az Apache webszerver használatával a FreeBSD 12 rendszeren.
Követelmények
- Vultr Cloud Compute (VC2) példány, amelyen a FreeBSD 12 fut.
- Egy érvényes domain név és megfelelően konfigurált
A/ AAAA/ CNAMEDNS-rekordjait a domain.
- Érvényes TLS-tanúsítvány. Kapunk egyet a Let's Encrypt-től.
- Apache verzió
2.4.36vagy újabb .
- OpenSSL
1.1.1vagy újabb verzió .
Mielőtt elkezded
Ellenőrizze a FreeBSD verzióját.
uname -ro
# FreeBSD 12.0-RELEASE
Győződjön meg arról, hogy a FreeBSD rendszere naprakész.
freebsd-update fetch install
pkg update && pkg upgrade -y
Telepítse a szükséges csomagokat, ha azok nincsenek jelen a rendszeren.
pkg install -y sudo vim unzip wget bash socat git
Hozzon létre egy új felhasználói fiókot a kívánt felhasználónévvel (használjuk 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!
Futtassa a visudoparancsot, és törölje a %wheel ALL=(ALL) ALLsor megjegyzését , hogy a wheelcsoport tagjai bármilyen parancsot végrehajthassanak.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Most váltson az újonnan létrehozott felhasználóra a segítségével su.
su - johndoe
MEGJEGYZÉS: Cserélje johndoeki a felhasználónevét.
Állítsa be az időzónát.
sudo tzsetup
Telepítse az acme.shügyfelet, és szerezzen be TLS-tanúsítványt a Let's Encrypt-től
Telepítse acme.sh.
sudo pkg install -y acme.sh
Ellenőrizze a verziót.
acme.sh --version
# v2.7.9
Szerezzen RSA- és ECDSA-tanúsítványokat a domainjéhez.
# 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
MEGJEGYZÉS: Cserélje ki example.coma parancsokat a domain nevével.
Hozzon létre értelmes könyvtárakat a tanúsítványok és kulcsok tárolására. Használjuk /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Telepítse és másolja a tanúsítványokat ide /etc/letsencrypt.
# 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
A fenti parancsok futtatása után a tanúsítványok és kulcsok a következő helyeken lesznek:
RSA: /etc/letsencrypt/example.com
ECC/ECDSA: /etc/letsencrypt/example.com_ecc
Telepítse az Apache-t
Az Apache támogatta a TLS 1.3-at a 2.4.36-os verzióban. A FreeBSD 12 rendszerben megtalálható az Apache és az OpenSSL, amelyek már a dobozból támogatják a TLS 1.3-at, így nincs szükség egyedi verzió létrehozására.
Töltse le és telepítse az Apache legújabb 2.4-es ágát a pkgcsomagkezelőn keresztül .
sudo pkg install -y apache24
Ellenőrizze a verziót.
httpd -v
# Server version: Apache/2.4.38 (FreeBSD)
Indítsa el és engedélyezze az Apache-t.
sudo sysrc apache24_enable="yes"
sudo service apache24 start
Most, hogy sikeresen telepítettük az Apache-t, készen állunk a konfigurálására, hogy a szerverünkön a TLS 1.3 használatát kezdje meg.
MEGJEGYZÉS: A FreeBSD-ben a mod_sslmodul alapértelmezés szerint engedélyezve van mind a csomagban, mind a porton
Futtassa sudo vim /usr/local/etc/apache24/httpd.confés vegye fel az SSL modult a megjegyzések törlésével LoadModule ssl_module libexec/apache24/mod_ssl.so.
#LoadModule ssl_module libexec/apache24/mod_ssl.so
Futtassa sudo vim /usr/local/etc/apache24/Includes/example.com.confa fájlt, és töltse fel a fájlt a következő alapkonfigurációval.
Listen 443
<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>
Mentse el a fájlt, és lépjen ki a :+ W+ gombbal Q.
Ellenőrizze a konfigurációt.
sudo service apache24 configtest
Töltsd újra az Apache-t.
sudo service apache24 reload
Nyissa meg webhelyét a HTTPS protokollon keresztül a webböngészőjében. A TLS 1.3 ellenőrzéséhez használhatja a böngésző fejlesztői eszközeit vagy az SSL Labs szolgáltatást. Az alábbi képernyőképek a Chrome biztonsági lapját mutatják be működés közben a TLS 1.3-mal.

![A TLS 1.3 engedélyezése az Apache-ban a FreeBSD 12 rendszeren A TLS 1.3 engedélyezése az Apache-ban a FreeBSD 12 rendszeren]()
Sikeresen engedélyezte a TLS 1.3-at az Apache-ban a FreeBSD-kiszolgálón. A TLS 1.3 végleges verzióját 2018 augusztusában határozták meg, így nincs jobb alkalom az új technológia bevezetésére.