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 <bill...@billaud.eu.org>
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 +0000] 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 Auth: 384-bit TLS 1.3, Key Exchange: 255-bit TLS 1.3
>
>
> gnutls
> version 3.6.3 ou suivante
> Voir README.md
> To download the version controlled sources:
> $ git clone https://gitlab.com/gnutls/gnutls.git
> [...]
> ./gnutls/src/gnutls-cli monserveur
> - Ephemeral EC Diffie-Hellman parameters
>  - Using curve: SECP256R1
>  - Curve size: 256 bits
> - Version: TLS1.3
> - Server Signature: ECDSA-SECP384R1-SHA384
> - Cipher: CHACHA20-POLY1305
>
> Firefox
> version 63 (actuellement beta, finale le 23 octobre) ou suivante
> RAS, ça marche.
> extensions utilisables : Certainly Something, ConsistentHTTPS, HTTPS
> Everywhere
>
> Chrome / Chromium
> version 70 et suivantes (dev channel), 70 finale disponible fin octobre
> 2018
> about://flags TLS 1.3 Sets the TLS 1.3 variant used. – Mac, Windows,
> Linux, Chrome OS, Android : Enabled (Final)
> RAS, ça marche.
>
>
> Outils divers
> -------------
>
> tshark / wireshark
> version 3.6.3
> Voir Client hello
> tshark -f  'tcp port 443' -V > capture.txt
>             Extension: supported_versions (len=9)
>                 Type: supported_versions (43)
>                 Length: 9
>                 Supported Versions length: 8
>                 Supported Version: TLS 1.3 (0x0304) <- version finale
>                 Supported Version: TLS 1.2 (0x0303)
>                 Supported Version: TLS 1.1 (0x0302)
>                 Supported Version: TLS 1.0 (0x0301)
>
>
> Qualys SSL Labs SSL Server Test
> SSL Report v1.32.6 (RFC 8446) disponible depuis le 24/9/2018
> https://dev.ssllabs.com/ssltest/index.html
> (https://www.ssllabs.com/ssltest/ est en version v1.32.5 : draft 28 et
> non finale RFC 8446)
> <cite>Experimental: This server supports TLS 1.3 (RFC 8446).</cite>
>
> High-Tech bridge (Htbridge)
> https://www.htbridge.com/ssl/
> Conformité  PCI DS, HIPAA, NIST
> reconnait TLS 1.3 final
>
> Observatory by Mozilla
> https://observatory.mozilla.org/
> Pas de TLS 1.3 pour le moment, mais analyse des en-têtes dont CSP
>
>
> Choix des protocoles pour HTTPS
> -------------------------------
>
> Si les clients ne sont pas trop anciens :
> TSL 1.2 et 1.3
> certificats RSA et ECDSA avec des bouts de NIST dedans (pour EdDSA avec
> X25519 il faudra attendre)
> CHACHA20-POLY1305 et AES-256 et AES-128
> courbes X25519:secp521r1:secp384r1:prime256v1 (X448 pas utilisable avec
> Firefox et Chrome, utilisable pour test et proxies)
> Attention à la cohérence de l'ordre des courbes (du chiffrement le plus
> fort vers le plus faible)
> A étudier : HTTPS sans HTTP mais avec HSTS Preloading (les logs sont moins
> remplis)
>
>
> SMTP + StartTLS
> ---------------
>
> MTA Postfix
> Testé avec Postfix 3.3.1 et postfix-3.4-20180904
> smtpd_tls_protocols = TLSv1,  TLSv1.1,  TLSv1.2, TLSv1.3, !SSLv2, !SSLv3
>
> tls_high_cipherlist=TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA
>
> checktls
> https://www.checktls.com/
> https://www.checktls.com/#TLSv1_3
> CheckTLS email works with TLS 1.3, as do most of our tests.
> Dans les logs :
> Sep 23 09:10:26 mervent postfix/smtpd[19790]: Anonymous TLS connection
> established from www6.checktls.com[159.89.187.50]: TLSv1.3 with cipher
> TLS_AES_256_GCM_SHA384 (256/256 bits)
>
>
>
> DNS over TLS
> ------------
>
> Côté serveur : Stunnel 5.49 + bind
> La configuration :
> [dns]
> accept = :::853
> connect = 127.0.0.1:53
> cert = /etc/letsencrypt/live/coincoin/cert.pem
> key = /etc/letsencrypt/live/coincoin/privkey.pem
> CAfile = /etc/letsencrypt/live/coincoin/chain.pem
> ciphers =
>
> 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:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA
> curve = secp384r1
> options = NO_TLSv1
> options = NO_TLSv1.1
>
> Côté client :  getdns_query
> De la doc :
> https://linuxfr.org/news/quad9-resolveur-dns-public-et-securise-par-tls
> http://www.bortzmeyer.org/quad9.html
> http://www.bortzmeyer.org/7858.html
> Les tests :
> $ getdns_query @192.168.1.2 -s -l L monserveur A
> "address_data": <bindata for 109.190...>,
> "address_type": <bindata of "IPv4">
> $ getdns_query @192.168.1.2 -s -l L monserveur AAAA
> "ipv6_address": <bindata for 2001:41d0:...>,
> "rdata_raw": <bindata of 0x200141d0...>
>
> Dans les logs de Postfix :
> 2018.09.23 09:13:14 LOG6[1]: TLS accepted: new session negotiated
> 2018.09.23 09:13:14 LOG6[1]: TLSv1.3 ciphersuite: TLS_AES_256_GCM_SHA384
> (256-bit encryption)
>
>
> EOT
>
> JFB
>
>
> ---------------------------
> Liste de diffusion du FRnOG
> http://www.frnog.org/
>

---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à