TLS 1.3 inschakelen in Nginx

Transport Layer Security (TLS) 1.3 is de nieuwste versie van het Transport Layer Security (TLS) protocol, gepubliceerd als een IETF standaard in RFC 8446in augustus 2018.TLS 1.3 protocol biedt privacy en prestatieverbeteringen ten opzichte van de vorige versies van TLS en niet-veilige HTTP.

Sinds versie 1.13.0 heeft Nginx ondersteuning voor TLS 1.3 toegevoegd. Momenteel bevatten de meeste Linux distributies niet de vereiste versies van Nginx en OpenSSL in hun standaard software repositories, dus zul je Nginx waarschijnlijk zelf moeten compileren tegen OpenSSL 1.1.1+. De enige Linux distributies die native ondersteuning voor TLS 1.3 hebben zijn Ubuntu 18.10, Fedora 29 en Debian 10(nog niet uitgebracht vanaf vandaag). Als je een gids nodig hebt over hoe je Nginx vanaf broncode kunt compileren, kun je deze Howtoforge zelfstudie volgen. In deze handleiding gaik er van uit dat je al een werkende TLS configuratie hebt, en dat je Nginx gecompileerd hebt tegen OpenSSL 1.1.1+ door mijn gelinkte handleiding te volgen, en dat je weet hoe Let’s Encrypt te gebruiken, of dat je weet hoe een zelf-ondertekend certificaat uit te geven.

Vereisten

Om TLS 1.3 in Nginx in te schakelen moet je aan de volgende eisen voldoen:

  • Nginx versie1.13.0of hoger, gebouwd tegen OpenSSL 1.1.1 of hoger.
  • Een geldig TLS certificaat of een zelf-ondertekend certificaat. Je kunt een gratis certificaat krijgen bij Let’s Encrypt.

Schakel TLS 1.3 in Nginx in

Om TLS 1.3 in Nginx in te schakelen,voegje eenvoudig de parameterTLSv1.3 toe aan de richtlijnssl_protocols.

ssl_protocols TLSv1.2 TLSv1.3;

En herlaad je Nginx configuratie:

sudo systemctl reload nginx.service

Dat is alles wat er te doen is als het gaat om het instellen van Nginx. Slechts een eenvoudige verandering en TLS 1.3 zou moeten werken.

Hier is de minimale virtuele server configuratie voor TLS 1.3 die er ongeveer zo uit kan zien:

server {

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

server_name example.com;
root /var/www/example.com/public;

ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;

ssl_protocols TLSv1.2 TLSv1.3;

}

Om te controleren of je server TLS 1.3 ondersteunt, kun je de dev tools van je browser gebruiken of SSLLabs server test. Hieronder staan de schermafdrukken van de Google Chrome browser die TLS 1.3 in actie laten zien.

Controleer TLS versie in Browser

TLS 1.3 ingeschakeld in Nginx met succes

En dat is alles wat er is om TLS 1.3 op je Nginx server in te schakelen.