Comment puis-je réactiver TLS 1.1 et 1.0 sur le serveur 5.3 avec MacOS 10.12.4 à court terme pendant que j'évalue tous les clients qui ne sont pas prêts pour TLS 1.2 ?
Si vous passez au bas de la page, les tentatives de modification des fichiers de configuration ont échoué jusqu'à présent pour rétablir la rétrocompatibilité.
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
Après avoir mis à jour notre serveur vers MacOS 12.4 et l'application Serveur vers la version 5.3, en utilisant la fonction curl
pour se connecter à un site https d'un serveur MacOS à partir d'une machine Linux a cessé de fonctionner, émettant les messages suivants du côté client :
$ curl -v --insecure -o "output.file" https://myserver.domain/path/page.php
* About to connect() to myserver.domain port 443 (#0)
* Trying 192.168.xxx.xxx... connected
* Connected to myserver.domain (192.168.xxx.xxx) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs/
* SSLv3, TLS handshake, Client hello (1):
} [data not shown]
* error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
* Closing connection #0
La connexion fonctionnait bien avant la mise à jour du serveur MacOS. Il semble donc que la mise à jour ait désactivé une option de connexion qui curl
s'appuie sur. J'ai fait beaucoup de recherches sur Internet, mais je ne sais toujours pas quelle en est la cause exacte.
Le même curl
fonctionne lorsqu'elle est émise depuis un autre Mac. La machine linux a
$ curl --version
curl 7.19.0 (x86_64-suse-linux-gnu) libcurl/7.19.0 OpenSSL/0.9.8h zlib/1.2.3 libidn/1.10
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
alors que sur le client Mac
$ curl --version
curl 7.51.0 (x86_64-apple-darwin16.0) libcurl/7.51.0 SecureTransport zlib/1.2.8
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets
Malheureusement, ce n'est pas une option pour essayer de mettre à jour curl
sur la machine Linux.
Certaines ressources affirment que des suites de chiffrement incompatibles en sont la cause, mais après quelques tests, je n'ai pas pu trouver de solution en utilisant la méthode de l'utilisateur. --ciphers
et je ne sais pas non plus comment trouver une suite de chiffres compatible.
J'ai essayé de trouver ce qui a changé avec MacOS Server 5.3, mais le journal des modifications d'Apple ne me donne aucune indication à ce sujet. La question est donc la suivante :
Qu'est-ce qui a changé dans MacOS 12.4 et/ou MacOS Server 5.3 et comment puis-je re-configurer mon serveur MacOS pour que le système d'exploitation de l'entreprise soit plus efficace ? curl
La connexion fonctionne à nouveau ?
Mise à jour 1 :
J'ai temporairement exposé le port 443 au public, afin de pouvoir effectuer la Tests SSL Labs . Les résultats montrent que mon serveur MacOS ne supporte que TLS 1.2 et plus rien d'autre. Pour plusieurs clients simulés, le rapport de test Server sent fatal alert: protocol_version
- dont, par exemple, IE8-10/Win7 et Java7u25.
J'ai essayé de réactiver TLS 1 et 1.1 dans la base de données de l'entreprise.
/library/server/web/config/apache2/sites/0000_127.0.0.1_34543_myserver.domain.conf
/library/server/web/config/apache2/httpd.conf
/library/server/web/config/apache2/httpd_server_app.conf
-
/library/server/web/config/proxy/apache_serviceproxy.conf
(plusieurs exemples ici)
en changeant
SSLProtocol -all +TLSv1.2
en
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
ou même
SSLProtocol All
mais cela n'a pas fait de différence lors de la récupération de l'URL avec curl
.
Mise à jour 2 :
Le journal des erreurs du proxy de service montre
[datetime] [ssl:info] [pid n] [client x.x.x.x:38805] AH02008: SSL library error 1 in handshake (server myserver.domain:443)
[datetime] [ssl:info] [pid n] SSL Library Error: error:1408A10B:SSL routines:SSL3_GET_CLIENT_HELLO:wrong version number
[datetime] [ssl:info] [pid n] [client x.x.x.x:38805] AH01998: Connection closed to child 11 with abortive shutdown (server myserver.domain:443)
Pour moi, il semble que mes tentatives d'activer TLS v1 ne fonctionnent pas.
La question est donc la suivante : Comment puis-je réactiver TLS v1 dans MacOS Server Apache ?