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 sikkerhet og ytelsesforbedringer i forhold til forgjengerne.
Denne veiledningen vil demonstrere hvordan du aktiverer TLS 1.3 ved å bruke Apache-nettserveren på FreeBSD 12.
Krav
- Vultr Cloud Compute (VC2)-forekomst som kjører FreeBSD 12.
- 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 FreeBSD-versjonen.
uname -ro
# FreeBSD 12.0-RELEASE
Sørg for at ditt FreeBSD-system er oppdatert.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installer nødvendige pakker hvis de ikke finnes på systemet ditt.
pkg install -y sudo vim unzip wget bash socat git
Opprett en ny brukerkonto med ditt foretrukne brukernavn (vi bruker 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!
Kjør visudokommandoen og fjern kommentarfeltet for %wheel ALL=(ALL) ALLå la medlemmer av wheelgruppen utføre en kommando.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Bytt nå til den nyopprettede brukeren med su.
su - johndoe
MERK: Erstatt johndoemed brukernavnet ditt.
Sett opp tidssonen.
sudo tzsetup
Installer acme.shklienten og få et TLS-sertifikat fra Let's Encrypt
Installer acme.sh.
sudo pkg install -y acme.sh
Sjekk versjonen.
acme.sh --version
# v2.7.9
Skaff RSA- og ECDSA-sertifikater for domenet ditt.
# 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
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 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
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. FreeBSD 12-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-grenen av Apache via pkgpakkebehandlingen.
sudo pkg install -y apache24
Sjekk versjonen.
httpd -v
# Server version: Apache/2.4.38 (FreeBSD)
Start og aktiver Apache.
sudo sysrc apache24_enable="yes"
sudo service apache24 start
Nå som vi har installert Apache, er vi klare til å konfigurere den til å begynne å bruke TLS 1.3 på serveren vår.
MERK: I FreeBSD er mod_sslmodulen aktivert som standard i både pakken og porten
Kjør sudo vim /usr/local/etc/apache24/httpd.confog inkluder SSL-modulen ved å oppheve kommentarer LoadModule ssl_module libexec/apache24/mod_ssl.so.
#LoadModule ssl_module libexec/apache24/mod_ssl.so
Kjør sudo vim /usr/local/etc/apache24/Includes/example.com.conf, og fyll filen med følgende grunnleggende konfigurasjon.
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>
Lagre filen og avslutt med :+ W+ Q.
Sjekk konfigurasjonen.
sudo service apache24 configtest
Last inn Apache på nytt.
sudo service apache24 reload
Å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å FreeBSD 12 Slik aktiverer du TLS 1.3 i Apache på FreeBSD 12]()
Du har aktivert TLS 1.3 i Apache på din FreeBSD-server. 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.