NGINX ChaCha20 priorisieren wenn das Gerät keine AES-Hardwarebeschleunigung (AES-NI) hat
ChaCha20 ist schneller als AES, wenn die CPU des Benutzers jedoch AES-Hardwarebeschleunigung unterstützt ist AES schneller.
Also wäre es doch praktisch wenn AES bei Benutzern die AES-Hardwarebeschleunigung unterstützen zu benutzen und ChaCha20 bei denen die diese Hardwarebeschleunigung nicht haben.
Wichtig ist das mindestens OpenSSL 1.1.1 für TLS 1.3 Unterstützung benutzt wird.
1. – NGINX konfigurieren
Am besten sollten die Einstellungen in /etc/nginx/nginx.conf
vorgenommen werden, damit sie global gelten.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GC M-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-A ES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-C BC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA::!DSS:!3DES';
Die Ciphers habe ich aus /etc/letsencrypt/options-ssl-nginx.conf
genommen.
2. – openssl.cnf
In der Datei /etc/ssl/openssl.cnf
muss jetzt noch etwas zu [system_default_sect]
ganz am ende der Datei hinzugefügt werden
Options = ServerPreference,PrioritizeChaCha
Jetzt muss nur noch NGINX neugestartet werden.
Auf www.ssllabs.com könnt ihr Testen ob alles funktioniert hat.

Ohne ChaCha20 Priorisierung

Mit ChaCha20 Priorisierung