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

관련 정보