Re: [FRnOG] [TECH] Tests TLS 1.3 (version finale RFC 8446)
> > > Les librairies SSL ont presques toutes le support TLS 1.3 (où sont sur le point de l'avoir). Trois questions restents pour le déploiement TLS: - ce qui a retardé la publication: quelles sont les passerelles/routeur/filtres qui risquent de bloquer les paquets TLS 1.3 - D'ici 2 mois, Firefox et Chrome supporteront la version finale (RFC8446) de Tls1.3 et ont un mécanisme qui leur permet de diffuser efficacement et rapidement les mises à jour. Par contre, rien de précis n'est annoncé pour les grand OS commerciaux et les navigateurs (Windows 10/ server 2019,, Android, iOS, MacOS) - Enfin, si il est probable que toutes les prochaines versions de distribution Linux intégreront des librairies compatible TLS 1.3, il faudra attendre leur calendrier. Ainsi, peu de server Ubuntu se mettent à jour tous les 6 mois (je suppose que le premier Ubuntu TLS 1.3 sera le 19.04), et il faudra attendre le 20.04, qui sortira en avril 2020 mais sera dans doute déployé à la rentrée 2020 comme la 18.04.1 l'est actuellement...) --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] Tests TLS 1.3 (version finale RFC 8446)
Pour DNS Over TLS est-ce que TLS 1.3 va permettre de faire baisser le RTT ? Il me semblait avoir lu quelque part que pour toutes les implémentations actuelles, pour chaque paquet il y avait un full round trip d'effectué. C'est côté TLS que c'est géré ou plus "haut" ? Le lun. 24 sept. 2018 à 21:28, Jean-Francois Billaud a écrit : > > Tests TLS 1.3 (version finale RFC 8446) > --- > > > TROLON;PALU sommaire : La version 1.3 finale de TLS (RFC 8446) a été > publiée > le 13 août 2018 ; on a de la documentation, des bibliothèques pour tester > et > une vague idée de la manière de configurer les serveurs. > > Version 2018-09-24 > Conditions opératoires : Debian 8, 9, 10 avec des bouts de testing et de > instable dedans, Slackware current, Saccharomyces cerevisiae. > > > Documentation > - > > Le RFC 8446 (The Transport Layer Security (TLS) Protocol Version 1.3) : > https://www.rfc-editor.org/rfc/rfc8446.txt > > Un article de Eric Rescorla (alias EKR), l'auteur du RFC : > TLS 1.3 Published: in Firefox Today > > https://blog.mozilla.org/security/2018/08/13/tls-1-3-published-in-firefox-today/ > (avec le joli logo) > > Les commentaires de Stéphane Bortzmeyer : > http://www.bortzmeyer.org/8446.html > > En complément pour les autres versions de TLS : > > RFC 8447 (IANA Registry Updates for TLS and DTLS) > précisant les chiffrements (section 8) et groupes (section 9) recommandés : > https://www.rfc-editor.org/rfc/rfc8447.txt > > RFC 8422 (Elliptic Curve Cryptography (ECC) Cipher Suites > for Transport Layer Security (TLS) Versions 1.2 and Earlier) > avec des précisions sur ECDH(E) RSA ECDSA EdDSA : > https://www.rfc-editor.org/rfc/rfc8422.txt > > Sur l'abandon de TLS 1.0 et 1.1 (Deprecating TLSv1.0 and TLSv1.1 - > draft-ietf-tls-oldversions-deprecate : > https://tools.ietf.org/html/draft-ietf-tls-oldversions-deprecate-00 > Voir https://www.ietf.org/mail-archive/web/tls/current/maillist.html pour > les avis. > > > Les bibliothèques et autres logiciels > - > > Trois bibliothèques classiques : > > openssl https://www.openssl.org/ > openssl 1.1.1 (LTS) incluant TLS 1.3 final disponible depuis le 11/9/2018 : > https://www.openssl.org/blog/blog/2018/09/11/release111/ > Si l'ordre par défaut ne vous plaît pas, ou si voulez rajouter les suites > CCM, il faut éditer openssl-1.1.1/include/openssl/ssl.h lignes 176 et > suivantes. > > gnutls https://gnutls.org/ > Les versions stables et previous ne parlent pas le TLSv1.3, il faut > utiliser la version next branch 3.6.3 : > https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.3.tar.xz > > NSS https://developer.mozilla.org/fr/docs/NSS > version 3.39 > > https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.39_release_notes > https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_39_RTM/src/ > > > Serveurs HTTPS > -- > > Nginx > https://nginx.org/ > https://nginx.org/en/download.html > version 1.15.3 (mainline, pas stable) avec openssl 1.1.1 > A partir des sources (à adapter) : > ./configure --with-http_ssl_module --with-http_v2_module \ > --with-http_stub_status_module --with-http_gzip_static_module \ > --with-http_geoip_module --prefix=/usr/local/nginx \ > --add-module=../ngx-fancyindex --with-openssl-opt=no-shared \ > --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module \ > --add-dynamic-module=/usr/src/nginx-ct-master/ \ > --with-openssl=/usr/src/openssl-1.1.1 > nginx.conf : > ssl_protocols TLSv1.2 TLSv1.3; > ssl_ciphers > > TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA; > Il manque juste la configuration spécifique des suites TLS 1.3. > Ça a l'air stable et utilisable (sous réserve de tests adaptés à la > situation) > > > Apache > https://github.com/apache/httpd > version 2.5.x (dev) avec openssl 1.1.1, pas envisageable en production > Pas facile à installer si openssl 1.1.1 n'est pas installé par défaut > On y arrive quand même : > [02/Sep/2018:08:11:25 +] 192.168.1.253 TLSv1.3 TLS_AES_256_GCM_SHA384 > "GET /image.php HTTP/1.1" 353 > > openssls s_server > openssl-1.1.1 > utilisable pour des tests > ./openssl s_server -accept 443 -www -status -serverpref \ > -key privkey13.pem -cert cert13.pem -chainCAfile fullchain13.pem \ > -CAfile DST_Root_CA_X3.pem -dhparam dh4096.pem \ > -curves X448:X25519:P-521:P-384:P-256 \ > -cipher > > TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256 > > > Clients HTTPS > - > > openssls
[FRnOG] [TECH] Tests TLS 1.3 (version finale RFC 8446) - Errata 1
Tests TLS 1.3 (version finale RFC 8446) - Errata 1 -- 1. Versions de gnutls utilisables Remplacer « 3.6.3 » par « 3.6.4 » dans le texte. On peut utiliser la version 3.6.4 ou la version git, mais pas la version 3.6.3 : $ ./gnutls-3.6.3/src/gnutls-cli example.org Processed 133 CA certificate(s). Resolving 'example.org:443'... Connecting to '2a01:e34:...:443'... |<1>| Detected downgrade to TLS 1.2 from TLS 1.3 *** Fatal error: An illegal parameter has been received. *** handshake has failed: An illegal parameter has been received. $ ./gnutls-3.6.4/src/gnutls-cli example.org - Using curve: SECP256R1 - Curve size: 256 bits - Version: TLS1.3 - Server Signature: ECDSA-SECP384R1-SHA384 - Cipher: CHACHA20-POLY1305 $ ./gnutls/src/gnutls-cli example.org - Using curve: SECP256R1 - Curve size: 256 bits - Version: TLS1.3 - Server Signature: ECDSA-SECP384R1-SHA384 - Cipher: CHACHA20-POLY1305 2. Nom des serveurs dans la documentation Les noms des exemples ne sont pas conformes au RFC 2606 https://tools.ietf.org/html/rfc2606 Remplacer dans le texte « monserveur » par « example.org ». Remplacer également « coincoin » par « example.org ». 3. Licence À rajouter au début. Licence CC-Zero https://fr.wikipedia.org/wiki/Licence_Creative_Commons JFB --- Liste de diffusion du FRnOG http://www.frnog.org/
[FRnOG] [TECH] Tests TLS 1.3 (version finale RFC 8446)
Tests TLS 1.3 (version finale RFC 8446) --- TROLON;PALU sommaire : La version 1.3 finale de TLS (RFC 8446) a été publiée le 13 août 2018 ; on a de la documentation, des bibliothèques pour tester et une vague idée de la manière de configurer les serveurs. Version 2018-09-24 Conditions opératoires : Debian 8, 9, 10 avec des bouts de testing et de instable dedans, Slackware current, Saccharomyces cerevisiae. Documentation - Le RFC 8446 (The Transport Layer Security (TLS) Protocol Version 1.3) : https://www.rfc-editor.org/rfc/rfc8446.txt Un article de Eric Rescorla (alias EKR), l'auteur du RFC : TLS 1.3 Published: in Firefox Today https://blog.mozilla.org/security/2018/08/13/tls-1-3-published-in-firefox-today/ (avec le joli logo) Les commentaires de Stéphane Bortzmeyer : http://www.bortzmeyer.org/8446.html En complément pour les autres versions de TLS : RFC 8447 (IANA Registry Updates for TLS and DTLS) précisant les chiffrements (section 8) et groupes (section 9) recommandés : https://www.rfc-editor.org/rfc/rfc8447.txt RFC 8422 (Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) Versions 1.2 and Earlier) avec des précisions sur ECDH(E) RSA ECDSA EdDSA : https://www.rfc-editor.org/rfc/rfc8422.txt Sur l'abandon de TLS 1.0 et 1.1 (Deprecating TLSv1.0 and TLSv1.1 - draft-ietf-tls-oldversions-deprecate : https://tools.ietf.org/html/draft-ietf-tls-oldversions-deprecate-00 Voir https://www.ietf.org/mail-archive/web/tls/current/maillist.html pour les avis. Les bibliothèques et autres logiciels - Trois bibliothèques classiques : openssl https://www.openssl.org/ openssl 1.1.1 (LTS) incluant TLS 1.3 final disponible depuis le 11/9/2018 : https://www.openssl.org/blog/blog/2018/09/11/release111/ Si l'ordre par défaut ne vous plaît pas, ou si voulez rajouter les suites CCM, il faut éditer openssl-1.1.1/include/openssl/ssl.h lignes 176 et suivantes. gnutls https://gnutls.org/ Les versions stables et previous ne parlent pas le TLSv1.3, il faut utiliser la version next branch 3.6.3 : https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.3.tar.xz NSS https://developer.mozilla.org/fr/docs/NSS version 3.39 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.39_release_notes https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_39_RTM/src/ Serveurs HTTPS -- Nginx https://nginx.org/ https://nginx.org/en/download.html version 1.15.3 (mainline, pas stable) avec openssl 1.1.1 A partir des sources (à adapter) : ./configure --with-http_ssl_module --with-http_v2_module \ --with-http_stub_status_module --with-http_gzip_static_module \ --with-http_geoip_module --prefix=/usr/local/nginx \ --add-module=../ngx-fancyindex --with-openssl-opt=no-shared \ --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module \ --add-dynamic-module=/usr/src/nginx-ct-master/ \ --with-openssl=/usr/src/openssl-1.1.1 nginx.conf : ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA; Il manque juste la configuration spécifique des suites TLS 1.3. Ça a l'air stable et utilisable (sous réserve de tests adaptés à la situation) Apache https://github.com/apache/httpd version 2.5.x (dev) avec openssl 1.1.1, pas envisageable en production Pas facile à installer si openssl 1.1.1 n'est pas installé par défaut On y arrive quand même : [02/Sep/2018:08:11:25 +] 192.168.1.253 TLSv1.3 TLS_AES_256_GCM_SHA384 "GET /image.php HTTP/1.1" 353 openssls s_server openssl-1.1.1 utilisable pour des tests ./openssl s_server -accept 443 -www -status -serverpref \ -key privkey13.pem -cert cert13.pem -chainCAfile fullchain13.pem \ -CAfile DST_Root_CA_X3.pem -dhparam dh4096.pem \ -curves X448:X25519:P-521:P-384:P-256 \ -cipher TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256 Clients HTTPS - openssls s_client openssl-1.1.1 utilisable pour des tests openssl s_client -connect monserveur:443 -curves X25519 -ciphersuites TLS_CHACHA20_POLY1305_SHA256 SSL-Session: Protocol : TLSv1.3 Cipher: TLS_CHACHA20_POLY1305_SHA256 nss version 3.39 ou suivante ./nss/dist/Debug/bin/tstclnt -h monserveur -p 443 -b -v -V tls1.3: LD_LIBRARY_PATH=/usr/src/nss/dist/Debug/lib/ /usr/src/nss/dist/Debug/bin/tstclnt -h monserveur -p 443 -b -v -V tls1.3: tstclnt: SSL version 3.4 using 256-bit CHACHA20POLY1305 with 128-bit AEAD MAC tstclnt: Server