저는 직장에 Arch Linux VM을 설정했고, 저희 회사는 자체 서명된 인증서가 있는 투명(컷스루) 프록시를 사용하고 인증이 필요합니다. 패키지를 설치하려고 할 때마다 pacman
다음 오류가 발생합니다(예: 설치 중 lynx
).
오류: Mirrors.kernel.org에서 'lynx-2.8.7-6-x86_64.pkg.tar.xz' 파일을 검색하지 못했습니다. SSL 인증서 문제: 인증서 체인의 자체 서명된 인증서
에서 정의한 모든 미러에 대해 이 오류가 발생합니다 /etc/pacman.d/mirrorlist
. 와 같은 다른 HTTP/S 클라이언트를 사용하려고 할 때 비슷한 문제가 있지만 curl
FTP에는 아무런 문제가 없습니다(주로 우리 회사는 포트 80 및 443만 모니터링하기 때문입니다).
내가 이미 시도한 것 ...
- 내 회사의 자체 서명된 CA 인증서를 에 배치
/usr/share/ca-certificates
하고/etc/ca-certificates
- 내 자격 증명으로 회사의 프록시 서버를 설정
http_proxy
하고 가리키도록 설정https_proxy
- 프록시 서버를 관리하는 사람과 이야기를 나눴지만 그 사람은 Linux에 대해 아무것도 모르기 때문에 어디서부터 시작해야 할지 전혀 모릅니다.
지금은 무언가를 설치하거나 인터넷에 액세스해야 할 때 이 문제를 해결하기 위해 홈 서버에 대한 SSH 터널을 엽니다.
아래는openssl s_client -CApath /etc/ca-certificates -showcerts -connect mirrors.kernel.org:443
연결됨(00000003) 깊이=0 C = US, ST = 캘리포니아, L = San Jose, O = Linux 커널 조직, CN = *.kernel.org 오류 확인:num=20:로컬 발급자 인증서를 가져올 수 없습니다. 반품 확인:1 깊이=0 C = US, ST = 캘리포니아, L = San Jose, O = Linux 커널 조직, CN = *.kernel.org 오류 확인:숫자=27:인증서를 신뢰할 수 없음 반품 확인:1 깊이=0 C = US, ST = 캘리포니아, L = San Jose, O = Linux 커널 조직, CN = *.kernel.org 확인 오류:num=21:첫 번째 인증서를 확인할 수 없습니다. 반품 확인:1 --- 인증서 체인 0 초:/C=US/ST=캘리포니아/L=산호세/O=리눅스 커널 조직/CN=*.kernel.org i:/C=US/ST=MyCompanyState/L=MyCompanyCity/O=MyCompanyName/OU=IT/CN=MyCompanyProxyServer/[이메일 보호됨] -----인증서 시작---- ... ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ -----인증서 종료---- --- 서버 인증서 제목=/C=US/ST=캘리포니아/L=산호세/O=리눅스 커널 조직/CN=*.kernel.org 발급자=/C=US/ST=MyCompanyState/L=MyCompanyCity/O=MyCompanyName/OU=IT/CN=MyCompanyProxyServer/[이메일 보호됨] --- 클라이언트 인증서 CA 이름이 전송되지 않았습니다. ---
메모대신 FTP 미러를 사용해 볼 수도 있지만 다른 HTTP/S 애플리케이션(예: curl
)의 문제는 실제로 해결되지 않습니다.
답변1
제공하신 정보로 볼 때 /etc/ca-certificates
파일에 서버 인증서를 추가한 것으로 보입니다. 대신 CA 인증서를 추가해야 합니다.
실행한 명령 openssl s_client -showcerts
에는 첫 번째 인증서 이후에 하나 이상의 다른 인증서가 포함되어 있어야 합니다. 이들은 당신이 관심을 갖고 있는 것들입니다.
첫 번째 인증서 이후에 두 개 이상의 인증서가 있는 경우 파일에 두 인증서를 모두 추가해야 할 수도 있습니다 ca-certificates
. 이는 모두 프록시에 인증 기관이 설정되는 방식에 따라 다릅니다. 그러나 둘 다 필요하지 않고 둘 다 추가해도 문제가 되지 않습니다.
그러나 openssl s_client -showcerts
첫 번째 인증서 이외의 인증서가 표시되지 않으면 큰 문제가 있는 것입니다. 이는 프록시가 서명 인증서를 보내지 않음을 의미합니다. 네트워크 팀에 연락하여 요청할 수 있습니다. 보안상 그들이 당신에게 정보를 제공하지 않을 이유가 전혀 없습니다.열쇠보호해야 하는 것입니다.)
예를 들어 다음과 같은 결과를 얻습니다(예, SSL 프록시 뒤에 있지 않기 때문에 실제 인증서를 얻지만 개념은 그대로 유지됩니다).
# openssl s_client -showcerts -connect mirrors.kernel.org:443 연결됨(00000003) 깊이=2 C = US, O = "thawte, Inc.", OU = 인증 서비스 부서, OU = "(c) 2006 thawte, Inc. - 승인된 용도로만 사용", CN = thawte 기본 루트 CA 오류 확인:num=20:로컬 발급자 인증서를 가져올 수 없습니다. 반품 확인:0 --- 인증서 체인 0 초:/C=US/ST=캘리포니아/L=산호세/O=리눅스 커널 조직/CN=*.kernel.org i:/C=US/O=Thawte, Inc./CN=Thawte SSL CA -----인증서 시작---- MIID2zCCAsOgAwIBAgIQZ7xPhWo7v0ZlPnI5mJWMazANBgkqhkiG9w0BAQUFADA8 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMRYwFAYDVQQDEw1U aGF3dGUgU1NMIENBMB4XDTEyMDEwMzAwMDAwMFoXDTE0MDQwMzIzNTk1OVowdDEL MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcUCFNhbiBK b3NlMSYwJAYDVQQKFB1UaGUgTGludXggS2VybmVsIE9yZ2FuaXphdGlvbjEVMBMG A1UEAxQMKi5rZXJuZWwub3JnMIIBijANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEApSbajGUzM+C1Oz6CzyPmek9HH03ToicZeHxOlBfS7yyvIyybxTCBrmkItyc+ sf6b5g2Zf8IPwloaj+ACQaLfm0OOaFrvHERIN1t0pitvmeSDI6BXVYq0eSLEPpSG YC/3AMdKE21NO1jmL7mtsCB8CW4NAAvy97HkvsPsTPNOp6d/LtcIMYRS347RFgRj O/J1PU05EEjcpXdy6eCyJLwi2AFLgfBzjS+0UK4tq01HFalULfO/akjC59WG+qrc P/Yi/1TM8bE2mun1mcuCP7bmyZFDfrGnO2TYcZ/s7z4bTUmEixR6kTdj1foqi7Xk svko9dXCiUZj4c692ZKZXE+gJwIDAQABo4GgMIGdMAwGA1UdEwEB/wQCMAAwOgYD VR0fBDMwMTAvoC2gK4YpaHR0cDovL3N2ci1vdi1jcmwudGhhd3RlLmNvbS9UaGF3 dGVPVi5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMDIGCCsGAQUF BwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTANBgkq hkiG9w0BAQUFAAOCAQEAd7mKHpW1mCB1fGuvR44iX83PmSy3BVEpvOlnH1zNSU/Y 2zMmKDbXqAJTY6t20Yq/GpjW3BA2G4xEA6i64WAGZcSmXfc/NDOSh0i5lTrCofCG 3tuts9HTmHJLfeAz9cZiT4rc4ROMV4K17/Uw81UIid952M/4b6OvhaCu5OSnvDUI 3Z6OUy+AuJHbwEyB5bGOJ/mqVKUztgUK17bJiwDhwZ4Q8PT6YKUj5NgPcG6cUKxY HK6yxvoqH/s1DQJB3JHDSFVgY47ECmoHyQ5MvJN+naNrZJUIH0RTmmHNbQH772W7 m8I66jiDhXTd6+4v8DipvHJOSEv7ebG0Jf6gv7lc6w== -----인증서 종료---- 1초:/C=US/O=Thawte, Inc./CN=Thawte SSL CA i:/C=US/O=thawte, Inc./OU=인증 서비스 부서/OU=(c) 2006 thawte, Inc. - 승인된 용도로만 사용/CN=thawte 기본 루트 CA -----인증서 시작---- MIIEbDCCA1SgAwiBAgIQTV8sNAiyTCDNbVB+JE3J7DANBgkqhkiG9w0BAQUFADCB qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMPIDIw MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAw MjA3MjM1OTU5WjA8MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMu MRYwFAYDVQQDEw1UaGF3dGUgU1NMIENBMIIBIjanBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAmeSFW3ZJfS8F2MWsyMip09yY5tc0pi8M8iIm2KPJFEyPBaRF6BQM WJAFGrfFwQalgK+7HulrUjSIw1nn72vEJ0GMK2Yd0OCjl5gZNEtB1ZjVxwWtouTX 7QytT8G1sCH9PlBTssSQ0NQwZ2ya8Q50xMLciuiX/8mSrgGKVgqYMrAAI+yQGmDD 7bs6yw9jnw1EyVLhJZa/7VCViX9WFLG3YR0cB4w6LPf/gN45RdWvGtF42MdxaqMZ pzJQIenyDqHGEwNESNFmqFJX1xG0k4vlmZ9d53hR5U32t1m0drUJN00GOBN6HAiY XMRISstSoKn4sZ2Oe3mwIC88lqgRYke7EQIDAQABo4H7MIH4MDIGCCsGAQUFBwEB BCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMB Af8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3Rl LmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UdDwEB/wQEAwiBBjAoBgNVHREEITAfpB0w GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItOTAdBgNVHQ4EFgQUp6KDuzRFQD38 1TBPERk+oQGf9tswHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJ KoZIhvcNAQEFBQADggEBAIAigOBsyJUW11cmh/NyNNvGclYnPtOW9i4lkaU+M5en S+Uv+yV9Lwdh+m+DdExMU3IgpHrPUVFWgYiwbR82LMgrsYiZwf5Eq0hRfNjyRGQq 2HGn+xov+RmNNLIjv8RMVR2OROiqXZrdn/0Dx7okQ40tR0Tb9tiYyLL52u/tKVxp EvrRI5YPv5wN8nlFUzeaVi/oVxBw9u6JDEmJmsEj9cIqzEHPIqtlbreUgm0vQF9Y 3uuVK6ZyaFIZkSqudZ1OkubK3lTqGKslPOZkpnkfJn1h7X3S5XFV2JMXfBQ4MDzf huNMrUnjl1nOG5srztxl1Asoa06ERlFE9zMILViXIa4= -----인증서 종료---- 2초:/C=US/O=thawte, Inc./OU=인증 서비스 부서/OU=(c) 2006 thawte, Inc. - 승인된 사용 전용/CN=thawte 기본 루트 CA i:/C=ZA/ST=웨스턴 케이프/L=케이프 타운/O=Thawte 컨설팅 cc/OU=인증 서비스 부서/CN=Thawte Premium Server CA/[이메일 보호됨] -----인증서 시작---- MIIERTCCA66gAwiBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFoXDTIwMTIzMDIzNTk1OVow gakxCzAJBgNVBAYTALVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAST H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIjanBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC d3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESULI0CYm/rWt0RjSiaXISQEHoN vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68 0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u KWn7OUkmHgmlgHtalevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEwebB /wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny bC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq 95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA= -----인증서 종료---- --- 서버 인증서 제목=/C=US/ST=캘리포니아/L=산호세/O=리눅스 커널 조직/CN=*.kernel.org 발급자=/C=US/O=Thawte, Inc./CN=Thawte SSL CA --- 클라이언트 인증서 CA 이름이 전송되지 않았습니다. --- SSL 핸드셰이크는 3566바이트를 읽고 636바이트를 썼습니다. --- 신규, TLSv1/SSLv3, 암호화는 RC4-SHA입니다. 서버 공개 키는 2048비트입니다. 보안 재협상이 지원됩니다. 압축: 없음 확장: 없음 SSL 세션: 프로토콜 : TLSv1 암호 : RC4-SHA 세션 ID: EAB5C93513AA8829036C7BB9E3F74D99076C8A339EB220832F76DF73D52D0B22 세션 ID-ctx: 마스터 키: 0A599E2D1CCAA8249E50871FDF03A2137BA034BCB20FA691D1413822BE08E15303CB0F59CDEC0376D670E08632EF0D46 키-인수: 없음 PSK ID: 없음 PSK ID 힌트: 없음 SRP 사용자 이름: 없음 TLS 세션 티켓: 0000 - ac 28 d2 81 da 5e b9 7f-43 52 ab e8 2c b0 ac 1d .(...^..CR..,... 0010 - c0 27 92 cb 5e 0e 1e 36-e4 77 34 bf 34 f8 cb 2f .'..^..6.w4.4../ 0020 - 04 af 1a 9b ea b3 9e 6f-32 44 4b ce d1 b4 2b 42 .......o2DK...+B 0030 - 55 a8 e3 ec 9a 6a 76 5d-c0 84 e0 aa 20 29 ae ac U....jv].... ).. 0040 - 7d 45 2b 3b 56 3c 2e 4b-d3 69 60 c8 fb 67 36 07 }E+;V...;.]p...... 00a0 - de 09 7d bf 3f b9 2c 9c-af 5d b1 af b2 9b bc 7a ..}.?.,..].....z 00b0 - 5e b3 92 26 02 3a 0e 47-c9 4b 10 6c 5b f4 2f c3 ^..&.:.GKl[./. 시작 시간: 1380663897 시간 초과 : 300(초) 반환 코드 확인: 20(로컬 발급자 인증서를 가져올 수 없음) ---
(마지막 인증서) 인증서 2를 추가하겠습니다. 체인 인증서이고 인증서 2에 의해 체인 인증서로 승인되었으므로 인증서 1이 필요하지 않습니다. 그러나 인증서 1도 추가할 수 있으며 문제가 되지 않습니다.
답변2
누군가에게 도움이된다면 비슷한 문제가 있었고 약간 다르게 해결했습니다. 내 회사 프록시는 중간 자체 서명 인증서를 사용하고 있었습니다. 이는 내 가상 머신의 명령줄 프로그램뿐만 아니라 브라우저에서도 분명하게 나타났습니다. 브라우저(Chromiumim)에서 외부 사이트로 이동하면 사이트가 중간 자체 서명 인증서를 사용하고 있기 때문에 신뢰할 수 없다는 메시지를 보았습니다. URL 표시줄의 자물쇠 아이콘 영역을 클릭하면 중간 인증서를 다운로드할 수 있었습니다. 그런 다음 다음 지침을 따랐습니다. 수정 사항은 명령줄 프로그램 및 브라우저 등에 전역적으로 적용됩니다.
https://wiki.archlinux.org/title/User:Grawity/Adding_a_trusted_CA_certificate