Hoe TLS 1.3 in Nginx op FreeBSD 12 in te schakelen

TLS 1.3 is een versie van het Transport Layer Security (TLS) -protocol dat in 2018 werd gepubliceerd als voorgestelde standaard in RFC 8446 . Het biedt beveiliging en prestatieverbeteringen ten opzichte van zijn voorgangers.

Deze gids zal laten zien hoe u TLS 1.3 kunt inschakelen met de Nginx-webserver op FreeBSD 12.

Vereisten

  • Vultr Cloud Compute (VC2) -instantie met FreeBSD 12.
  • Een geldige domeinnaam en correct geconfigureerde A/ AAAA/ CNAMEDNS-records voor uw domein.
  • Een geldig TLS-certificaat. We zullen er een krijgen van Let's Encrypt.
  • Nginx-versie 1.13.0of hoger.
  • OpenSSL-versie 1.1.1of hoger.

Voordat je begint

Controleer de FreeBSD-versie.

uname -ro
# FreeBSD 12.0-RELEASE

Zorg ervoor dat uw FreeBSD-systeem up-to-date is.

freebsd-update fetch install
pkg update && pkg upgrade -y

Installeer de benodigde pakketten als ze niet aanwezig zijn op uw systeem.

pkg install -y sudo vim unzip wget bash socat git

Maak een nieuw gebruikersaccount aan met uw favoriete gebruikersnaam (we zullen gebruiken 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!

Voer de visudoopdracht uit en maak een commentaar op de %wheel ALL=(ALL) ALLregel, zodat leden van de wheelgroep elke opdracht kunnen uitvoeren.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Schakel nu over naar uw nieuw aangemaakte gebruiker met su.

su - johndoe

OPMERKING: vervang johndoedoor uw gebruikersnaam.

Stel de tijdzone in.

sudo tzsetup

Installeer de acme.sh-client en verkrijg het TLS-certificaat van Let's Encrypt

Installeer acme.sh.

sudo pkg install -y acme.sh

Controleer de versie.

acme.sh --version
# v2.7.9

Verkrijg RSA- en ECDSA-certificaten voor uw domein.

# 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

OPMERKING: vervang example.comde opdrachten door uw domeinnaam.

Maak mappen om uw certificaten en sleutels op te slaan. We zullen gebruiken /etc/letsencrypt.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installeer en kopieer certificaten naar de /etc/letsencryptdirectory.

# 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

Na het uitvoeren van de bovenstaande opdrachten, bevinden uw certificaten en sleutels zich op de volgende locaties:

  • RSA: /etc/letsencrypt/example.com
  • ECC/ECDSA: /etc/letsencrypt/example.com_ecc

Installeer Nginx

Nginx heeft ondersteuning voor TLS 1.3 toegevoegd in versie 1.13.0. Het FreeBSD 12-systeem wordt geleverd met Nginx en OpenSSL die kant-en-klare TLS 1.3 ondersteunen, dus het is niet nodig om een ​​aangepaste versie te bouwen.

Download en installeer de nieuwste hoofdversie van Nginx via de pkgpakketbeheerder.

sudo pkg install -y nginx-devel

Controleer de versie.

nginx -v
# nginx version: nginx/1.15.8

Controleer de OpenSSL-versie waartegen Nginx is samengesteld.

nginx -V
# built with OpenSSL 1.1.1a-freebsd  20 Nov 2018

Start en schakel Nginx in.

sudo sysrc nginx_enable=yes
sudo service nginx start

Configureer Nginx

Nu we Nginx met succes hebben geïnstalleerd, zijn we klaar om het te configureren met de juiste configuratie om TLS 1.3 op onze server te gaan gebruiken.

Voer de sudo vim /usr/local/etc/nginx/example.com.confopdracht uit en vul het bestand met de volgende configuratie.

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
  ssl_prefer_server_ciphers on;
}

Sla het bestand op en sluit af met :+ W+ Q.

Nu moeten we opnemen example.com.confin het hoofdbestand nginx.conf.

Ren sudo vim /usr/local/etc/nginx/nginx.confen voeg de volgende regel toe aan het http {}blok.

include example.com.conf;

Let op de nieuwe TLSv1.3parameter van de ssl_protocolsrichtlijn. Deze parameter is alleen nodig om TLS 1.3 op de Nginx-server in te schakelen.

Controleer de configuratie.

sudo nginx -t

Herlaad Nginx.

sudo service nginx reload

Om TLS 1.3 te verifiëren, kunt u browserontwikkelingshulpmiddelen of SSL Labs-service gebruiken. De onderstaande screenshots tonen het beveiligingstabblad van Chrome.

Hoe TLS 1.3 in Nginx op FreeBSD 12 in te schakelen

Hoe TLS 1.3 in Nginx op FreeBSD 12 in te schakelen

U hebt TLS 1.3 in Nginx met succes ingeschakeld op uw FreeBSD-server. De definitieve versie van TLS 1.3 werd gedefinieerd in augustus 2018, dus er is geen beter moment om deze nieuwe technologie te gaan gebruiken.



Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.