Come posso riattivare TLS 1.1 e 1.0 sul server 5.3 con macOS 10.12.4 a breve termine mentre valuto tutti i client che non sono pronti per TLS 1.2?
Se salti in fondo, i tentativi di modifica dei file di configurazione non sono riusciti finora a ripristinare la compatibilità all'indietro
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
Dopo aver aggiornato il nostro server a macOS 12.4 e l'app Server alla versione 5.3, utilizzando curl
per connettersi a un sito https del server macOS da una macchina Linux è cessato di funzionare, inviando i seguenti messaggi sul lato 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 connessione ha funzionato bene prima dell'aggiornamento del server macOS. Sembra quindi che l'aggiornamento abbia disattivato un'opzione di connessione su cui si basa curl
. Ho cercato spesso su Google, ma sono ancora incerto su quale sia esattamente la causa.
Lo stesso comando curl
funziona quando viene emesso da un altro Mac. La macchina Linux ha
$ 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
mentre sul 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
Sfortunatamente, non è un'opzione per provare ad aggiornare curl
sulla macchina Linux.
Alcune risorse richiedono la causa delle suite di crittografia incompatibili, ma dopo alcuni test, non sono stato in grado di trovare una soluzione utilizzando l'opzione --ciphers
, e inoltre non sono sicuro di come trovare una suite di crittografia compatibile.
Ho provato a scoprire cosa è cambiato con macOS Server 5.3, ma il registro delle modifiche di Apple non mi dà alcun suggerimento. Quindi la domanda è:
Cosa è cambiato in macOS 12.4 e / o macOS Server 5.3 e come posso riconfigurare il mio server macOS in modo che la connessione curl
funzioni di nuovo?
Aggiornamento 1:
Ho esposto temporaneamente la porta 443 al pubblico, così ho potuto eseguire i test Labs SSL . I risultati mostrano che il mio server macOS supporta solo TLS 1.2 e nient'altro. Per diversi client simulati, il rapporto di prova Server sent fatal alert: protocol_version
- inclusi, ad esempio, IE8-10 / Win7 e Java7u25.
Ho provato a riattivare TLS 1 e 1.1 in
-
/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
(più istanze qui)
modifica
SSLProtocol -all +TLSv1.2
in
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
o anche
SSLProtocol All
ma non ha fatto la differenza quando recupera l'URL con curl
.
Aggiornamento 2:
Il registro degli errori del proxy di servizio mostra
[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)
Per me, sembra che i miei tentativi di attivare TLS v1 non funzionino.
Quindi la domanda è: Come posso riattivare TLS v1 in macOS Server Apache?