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 FreeBSD 12.
Zahtjevi
- Vultr Cloud Compute (VC2) instanca koja pokreće FreeBSD 12.
- 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 FreeBSD-a.
uname -ro
# FreeBSD 12.0-RELEASE
Provjerite je li vaš FreeBSD sustav ažuriran.
freebsd-update fetch install
pkg update && pkg upgrade -y
Instalirajte potrebne pakete ako nisu prisutni na vašem sustavu.
pkg install -y sudo vim unzip wget bash socat git
Izradite novi korisnički račun sa svojim željenim korisničkim imenom (koristit ćemo 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!
Pokrenite visudonaredbu i dekomentirajte %wheel ALL=(ALL) ALLredak kako biste omogućili članovima wheelgrupe da izvrše bilo koju naredbu.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Sada se prebacite na svog novostvorenog korisnika pomoću su.
su - johndoe
NAPOMENA: Zamijenite johndoesvojim korisničkim imenom.
Postavite vremensku zonu.
sudo tzsetup
Instalirajte acme.shklijenta i pribavite TLS certifikat od Let's Encrypt
Instaliraj acme.sh.
sudo pkg install -y acme.sh
Provjerite verziju.
acme.sh --version
# v2.7.9
Nabavite RSA i ECDSA certifikate za svoju domenu.
# 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
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 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
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. FreeBSD 12 sustav 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 granu 2.4 Apachea putem pkgupravitelja paketa.
sudo pkg install -y apache24
Provjerite verziju.
httpd -v
# Server version: Apache/2.4.38 (FreeBSD)
Pokrenite i omogućite Apache.
sudo sysrc apache24_enable="yes"
sudo service apache24 start
Sada kada smo uspješno instalirali Apache, spremni smo ga konfigurirati da počne koristiti TLS 1.3 na našem poslužitelju.
NAPOMENA: U FreeBSD-u, mod_sslmodul je omogućen prema zadanim postavkama i u paketu i na portu
Pokrenite sudo vim /usr/local/etc/apache24/httpd.confi uključite SSL modul dekomentiranjem LoadModule ssl_module libexec/apache24/mod_ssl.so.
#LoadModule ssl_module libexec/apache24/mod_ssl.so
Pokrenite sudo vim /usr/local/etc/apache24/Includes/example.com.confi popunite datoteku sljedećom osnovnom konfiguracijom.
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>
Spremite datoteku i izađite s :+ W+ Q.
Provjerite konfiguraciju.
sudo service apache24 configtest
Ponovno učitajte Apache.
sudo service apache24 reload
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 FreeBSD 12 Kako omogućiti TLS 1.3 u Apacheu na FreeBSD 12]()
Uspješno ste omogućili TLS 1.3 u Apacheu na vašem FreeBSD 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.