TLS 1.0 en 1.1 zijn al minstens per 30 juni 2018 verklaard als ‘End Of Life’.
Bij gevolg ondersteunen de courante browsers dit protocol niet meer.

  • Microsoft IE en Edge – Eerste helft van 2020
  • Mozilla Firefox, Safari/Webkit – Maart 2020
  • Google Chrome – Januari 2020

Tijd voor TLS 1.3

Maar je hebt nog een CentOS 7, die geen OpenSSL 1.1.1 heeft en dus geen NGINX TLS1.3 ondersteuning kan aanbieden?
Wanneer je NGINX niet via yum hebt geïnstalleerd, dan ga je OpenSSL 1.1.1 moeten compileren en nginx opnieuw builden met deze library.
Eerst OpenSSL, dewelke ik hier uitleg. En nadien kan je de bestaande procedure voor NGINX volgen, zie ‘Upgrade NGINX webserver‘.

Stappen OpenSSL 1.1.1

Maak dat je up-to-date bent, yum update, en we veronderstellen dat je reeds de basis tools hebt (yum install make gcc perl pcre-devel zlib-devel)
Specifiek voor deze make (make test) heb je extra perl libraries nodig

yum install make gcc perl pcre-devel zlib-devel

Installeer de laatste versie van OpenSSL op CentOS 7

OPENSSL="openssl-1.1.1" cd /usr/local/src wget https://ftp.openssl.org/source/old/1.1.1/$OPENSSL.tar.gz tar -zxf $OPENSSL.tar.gz cd $OPENSSL ./config make make test make install # test export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64 echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64" >> ~/.bashrc /usr/local/bin/openssl version

Dit is het eigenlijk. Je bent klaar om NGINX te builden zie ‘Upgrade NGINX webserver‘.

Configureer NGINX

OK, nu je NGINX heb geupdate is het tijd om enkele settings aan te passen.
Final check… ‘nginx -V’ geeft je de versie van NGINX en ook welke OpenSSL versie je gebruikt.
De config bestanden staan in /etc/nginx/nginx.conf of in een bestand onder de map /etc/nginx/conf.d/

Belangrijkste is dat je TLSv1 en TLSv1.1 verwijderd en TLSv1.3 toevoegd. Daarnaast moet je enkele ciphers voor TLS 1.3 toevoegen

ssl_protocols       TLSv1.2 TLSv1.3;
ssl_ciphers         TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_AES_128_CCM_SHA256:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

systemctl restart nginx

Surf naar een pagina die nu TLS 1.3 zou moeten ondersteunen, bv met je Chrome browser. Ga naar developer mode (F12), kies netwerk; klik de pagina aan en selecteer ‘Beveiliging’. Zie je nu onder ‘Verbinding’ de protocolversie ‘TLSv1.3’. Dan is alles prima in orde!

Tags gerelateerd aan dit artikel: