CentOS Stream 9でhttps接続を使用したときのYum / dnfエラー(35)

CentOS Stream 9でhttps接続を使用したときのYum / dnfエラー(35)

BLUF:httpsサイトに接続するときにTLS 1.3を好むようにyumおよび/またはdnfを設定するのに役立つ人はいますか?

状態:

  • CentOS Stream 9の新規インストール(CentOS-Stream-9-20220718.0-x86_64-dvd1.iso)
  • 透明なプロキシサービスを使用する企業ネットワークで
  • リポジトリがデフォルトの yum と dnf に設定されていると、次のエラーでダウンロードが失敗します。

エラー:「baseos」リポジトリからメタデータをダウンロードできません。内部ミラーリストを準備できません。 Curlエラー(35):SSL接続エラー https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=x86_64&protocol=https,http [エラー: 0A000152: SSL ルーチン::安全でないレガシー再ネゴシエーションを無効にする]

  • httpsを使用して接続されている他のリポジトリでも同じエラーが発生しました。
  • httpsの代わりにhttpを指すようにcentos.repoを変更すると、ダウンロードは機能します。
  • httpsのみをサポートする他のリポジトリ(例:https://download.docker.com)まだ動作しません
  • カールhttps://google.com最新のhttpsサイトと同じエラーが発生します。
  • カール --tlsv1.3https://google.com結果はサーバーの正しい出力です。

この問題をTLS 1.3クライアントサポートで追跡したようです。おそらく、会社のプロキシがTLS 1.2暗号化を拒否したためです。 yum、dnf、または他のクライアントコマンドにTLS 1.3を使用して接続をネゴシエートするように指示する方法がわかりません。 CentOS 7と8で同様の問題が見つかりましたが、9で解決する方法はありません。 7と8ではopensslにTLS 1.3のパスワードがありませんが、9ではopensslが1.3サポートに更新されました。

ベストアンサー1

tlsv1.3にオプションを追加してください~/.curlrc。サポートされている他のプロフィールの場所を見つけることができます。カールマニュアル

私の場合、TLS 1.3を強制してTLSチェックを無効にしましたが、以前のサーバーでは機能しませんでした。別のオプションは、次にUnsafeLegacyRenegotiationオプションを設定して、安全でないレガシー再ネゴシエーションを許可することです/etc/pki/tls/openssl.cnf


[ crypto_policy ]
Options = UnsafeLegacyRenegotiation
.include = /etc/crypto-policies/back-ends/opensslcnf.config

openssl.cnfでサポートされている最小TLSバージョンを設定することもできますが、カールではこれを無視するようです。

MinProtocol = TLSv1.3
TLS.MinProtocol = TLSv1.3

おすすめ記事