Nous utilisons une configuration Clientauth pour un emplacement sans problèmes depuis de nombreux mois
Ubuntu 16.04.5 LTS Apache 2.4.18-2ubuntu3.9 openssl 1.0.2g-1ubuntu4.13
Maintenant nous avons mis à jour pour utiliser HTTP2
Ubuntu 18.04.1 LTS Apache 2.4.29-1ubuntu4.3 Openssl 1.1.0g-2ubuntu4.1
Conf Apache:
SSLEngine on
SSLVerifyDepth 2
SSLProxyEngine on
SSLProtocol -All +TLSv1.2 +TLSv1.1
SSLCipherSuite HIGH:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!EXP:!DES:!RC4:!3DES:!MD5:!PSK:!MEDIUM:!LOW:!SRP:!DSS
SSLCertificateFile /etc/apache2/ssl/blablub.pem
SSLCertificateKeyFile /etc/apache2/ssl/blablub.key
SSLCertificateChainFile /etc/apache2/ssl/blablub.ca_certificates.pem
SSLCACertificateFile /etc/apache2/ssl/ProductiveCAClientAuth.pem
....autres éléments sans ClientAuth...
SSLVerifyClient require
SSLVerifyDepth 2
ProxyPass https://server-1/test
ProxyPassReverse https://server-1/testg
Particularité:
Les certificats clients sont délivrés par une CA intermédiaire qui est elle-même signée en RSA-PSS. La CA racine et les certificats clients réels sont signés normalement en RSA-SHA256. Ne demandez pas pourquoi, c'est comme ça que ça a été construit dans le passé et jusqu'à présent ça a fonctionné
Erreur:
[Tue Sep 25 07:18:27.723798 2018] [ssl:debug] [pid 49219:tid 140033499584256] ssl_engine_kernel.c(757): [client 89.187.203.114:61120] AH02255: Le type de vérification du client modifié forcera une renégociation
[Tue Sep 25 07:18:27.723803 2018] [ssl:info] [pid 49219:tid 140033499584256] [client 89.187.203.114:61120] AH02221: Demande une re-négociation de connexion
[Tue Sep 25 07:18:27.723827 2018] [ssl:debug] [pid 49219:tid 140033499584256] ssl_engine_kernel.c(987): [client 89.187.203.114:61120] AH02260: Effectue une renégociation complète: protocole de poignée de main complet (le client prend en charge la renégociation sécurisée)
[Tue Sep 25 07:18:27.723867 2018] [ssl:info] [pid 49219:tid 140033499584256] [client 89.187.203.114:61120] AH02226: Attente de renégociation de poignée de main
[Tue Sep 25 07:18:33.176966 2018] [ssl:error] [pid 49219:tid 140033499584256] [client 89.187.203.114:61120] AH02261: La poignée de main de re-négociation a échoué
[Tue Sep 25 07:18:33.176987 2018] [ssl:error] [pid 49219:tid 140033499584256] Erreur de la bibliothèque SSL: erreur:1417C086:les routines SSL:tls_process_client_certificate:la vérification du certificat a échoué
[Tue Sep 25 07:18:33.177005 2018] [core:trace3] [pid 49219:tid 140033499584256] request.c(119): [client 89.187.203.114:61120] la phase d'authentification 'vérifier l'accès (avec Satisfy All)' a renvoyé le statut 403: /test/
[Tue Sep 25 07:18:33.177032 2018] [headers:debug] [pid 49219:tid 140033499584256] mod_headers.c(900): AH01503: en-têtes: ap_headers_error_filter()
[Tue Sep 25 07:18:33.177057 2018] [http:trace3] [pid 49219:tid 140033499584256] http_filters.c(1128): [client 89.187.203.114:61120] Réponse envoyée avec le statut 403, en-têtes:
[Tue Sep 25 07:18:33.177062 2018] [http:trace5] [pid 49219:tid 140033499584256] http_filters.c(1135): [client 89.187.203.114:61120] Date: Tue, 25 Sep 2018 05:18:27 GMT
[Tue Sep 25 07:18:33.177066 2018] [http:trace5] [pid 49219:tid 140033499584256] http_filters.c(1138): [client 89.187.203.114:61120] Serveur: Apache/2.4.34 (Ubuntu)
[Tue Sep 25 07:18:33.177071 2018] [http:trace4] [pid 49219:tid 140033499584256] http_filters.c(957): [client 89.187.203.114:61120] X-Frame-Options: SAMEORIGIN
[Tue Sep 25 07:18:33.177075 2018] [http:trace4] [pid 49219:tid 140033499584256] http_filters.c(957): [client 89.187.203.114:61120] Content-Length: 320
[Tue Sep 25 07:18:33.177080 2018] [http:trace4] [pid 49219:tid 140033499584256] http_filters.c(957): [client 89.187.203.114:61120] Connection: close
[Tue Sep 25 07:18:33.177084 2018] [http:trace4] [pid 49219:tid 140033499584256] http_filters.c(957): [client 89.187.203.114:61120] Content-Type: text/html; charset=iso-8859-1
Nous avons tout testé à nouveau avec des certificats client délivrés par une CA intermédiaire en SHA256. Cela fonctionne sans problèmes. Comme je soupçonne qu'en mettant à jour Apache ou openssl il y a maintenant un problème avec les émetteurs signés en PSS. Quelqu'un a une idée de ce qu'on peut faire pour que ça refonctionne?