Làm cách nào tôi có thể kích hoạt lại TLS 1.1 và 1.0 trên máy chủ 5.3 với macOS 10.12.4 trong thời gian ngắn trong khi tôi đánh giá tất cả các máy khách chưa sẵn sàng cho TLS 1.2?
Nếu bạn nhảy xuống dưới, các nỗ lực thay đổi tệp comfiguration đã thất bại cho đến nay để khôi phục tính tương thích ngược
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
Sau khi cập nhật máy chủ của chúng tôi lên macOS 12.4 và ứng dụng Máy chủ lên phiên bản 5.3, sử dụng curl
để kết nối với trang web máy chủ macOS https từ máy Linux đã ngừng hoạt động, phát hành các thông báo sau ở phía máy khách:
$ 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
Kết nối hoạt động tốt trước khi cập nhật máy chủ macOS. Vì vậy, có vẻ như bản cập nhật đã tắt một tùy chọn kết nối curl
dựa trên. Tôi đã googled rất nhiều, nhưng tôi vẫn không chắc chắn chính xác nguyên nhân là gì.
Lệnh tương tự curl
hoạt động khi được ban hành từ máy Mac khác. Máy linux có
$ 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
trong khi trên máy khách 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
Thật không may, nó không phải là một tùy chọn để thử cập nhật curl
trên máy Linux.
Một số tài nguyên cho rằng các bộ mật mã không tương thích là nguyên nhân, nhưng sau một số thử nghiệm, tôi không thể tìm ra giải pháp bằng --ciphers
tùy chọn này và tôi cũng không chắc chắn làm thế nào để tìm một bộ mật mã tương thích.
Tôi đã cố gắng tìm hiểu những gì đã thay đổi với macOS Server 5.3, nhưng nhật ký thay đổi của Apple không cho tôi bất kỳ gợi ý nào về nó. Vì vậy, câu hỏi là:
Điều gì đã thay đổi trong macOS 12.4 và / hoặc macOS Server 5.3 và làm cách nào tôi có thể định cấu hình lại máy chủ macOS của mình để curl
kết nối hoạt động trở lại?
Cập nhật 1:
Tôi đã tạm thời tiếp xúc với cổng 443 với công chúng, vì vậy tôi có thể thực hiện các bài kiểm tra SSL Labs . Kết quả cho thấy máy chủ macOS của tôi chỉ hỗ trợ TLS 1.2 và không có gì khác nữa. Đối với một số khách hàng mô phỏng, báo cáo thử nghiệm Server sent fatal alert: protocol_version
- bao gồm, ví dụ, IE8-10 / Win7 và Java7u25.
Tôi đã cố gắng kích hoạt lại TLS 1 và 1.1 trong
/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
(nhiều trường hợp ở đây)
thay đổi
SSLProtocol -all +TLSv1.2
vào
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
hoặc thậm chí
SSLProtocol All
nhưng nó không tạo ra sự khác biệt khi tìm nạp URL với curl
.
Cập nhật 2:
Nhật ký lỗi dịch vụ proxy hiển thị
[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)
Đối với tôi, có vẻ như các nỗ lực kích hoạt TLS v1 của tôi không hoạt động.
Vì vậy, câu hỏi là: Làm thế nào tôi có thể kích hoạt lại TLS v1 trong macOS Server Apache?