macOS Mojave での SSL のランダムな失敗 (SSL_ERROR_SYSCALL)

macOS Mojave での SSL のランダムな失敗 (SSL_ERROR_SYSCALL)

Mojave を実行している Apple Mac (10.14.3 - ただし、Mojave にアップグレードしてからエラーが発生しました) では、コマンド ラインで CURL を使用して接続しようとすると、定期的に (ただしランダムに) SSL エラーが発生します。たとえば、次のようになります。

curl -vvvvv https://bbc.co.uk
* Rebuilt URL to: https://bbc.co.uk/
*   Trying 151.101.192.81...
* TCP_NODELAY set
* Connected to bbc.co.uk (127.0.0.1) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/local/etc/openssl/cert.pem
  CApath: /usr/local/etc/openssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bbc.co.uk:443
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bbc.co.uk:443

同じエラーがあらゆるhttps呼び出しで発生します

curl https://google.co.uk
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.co.uk:443

再起動すると必ずこの問題は解決しますが、必ずしも便利というわけではありません。この問題に遭遇した方、修正方法を知っている方はいらっしゃいますか?

これにより、(当然ですが)brewコマンドやgitなどの動作が停止します。

実行してみました:

security verify-cert -L -c /etc/ssl/cert.pem
Cert Verify Result: CSSMERR_TP_CERT_EXPIRED

実行中:

security verify-cert -L -c /usr/local/etc/openssl/cert.pem
...certificate verification successful.

そのため、移動して/etc/ssl/cert.pemシンボリックリンクを試みましたが/usr/local/etc/openssl/cert.pem、それでもうまくいきませんでした。

その他の情報:

openssl version
OpenSSL 1.0.2p  14 Aug 2018
which openssl
/usr/local/opt/openssl/bin/openssl

私も試しました:

networksetup -setv6off Wi-Fi

wget を使用する:

wget https://google.co.uk
--2019-03-26 10:35:10--  https://google.co.uk/
Resolving google.co.uk... 216.58.201.35
Connecting to google.co.uk|216.58.201.35|:443... connected.
Unable to establish SSL connection.

しかし、それでも違いはありませんでした。Web ブラウジングは正常に機能するため、https はネットワークを正常に通過しています。

その他の注意点として、Kaspersky Internet Security (KIS) がインストールされています (設定を開くことができません。おそらく、バックグラウンドで何らかの SSL 呼び出しを実行できないためです)。KIS は、https 接続をスキャンしないように構成されています (または、設定が何であれ)。また、MAMP も実行していますが、php スクリプトが外部サーバーと通信しようとすると (API 呼び出しなど)、すべて接続に失敗します。おそらく、同じ openssl エラーが原因です。

私の推測では、何らかのネットワーク サービスを再起動する必要があるのですが、私は MacOS というよりは Ubuntu のシステム管理者なので、コマンドはわかりません。

ヘルプ??!?? :-)

編集: 私は次の行に気づきました:

* Connected to bbc.co.uk (127.0.0.1) port 443 (#0)

上記は明らかに奇妙で、ローカルホストに接続しようとするべきではないため、直感で KIS を終了したら動作するようになりました!!! (セキュリティを無効にすることも試しましたが、違いはありませんでした) 幸せな日々!

しかし、今、KIS を再起動しようとすると、正常に起動しません (ボックスの中央に「開始中...」というメッセージが表示されたままハングします)。そのため、KIS を削除して代替手段を探す必要があるかもしれません。:-(

答え1

上記のコメントで提案されているように、Kaspersky をシャットダウンしてみてください。または、Kaspersky フォーラムにあるこのガイドに従って、SSL インターセプトを無効にしてみてください。

  1. カスペルスキーインターネットセキュリティを開く

  2. へ移動

    設定 -> その他 -> ネットワーク -> 暗号化された接続をスキャンしない。

  3. リブート

答え2

同様の状況、MacBook Pro、Kaspersky Internet Security の問題。プロセスが完了すると、すべてが機能します。

関連情報