Wie gehe ich mit einem zertifikatsbasierten transparenten Proxy in Arch Linux um?

Wie gehe ich mit einem zertifikatsbasierten transparenten Proxy in Arch Linux um?

Ich habe bei der Arbeit eine Arch Linux-VM eingerichtet und mein Unternehmen verwendet einen transparenten (Cut-Through-)Proxy mit einem selbstsignierten Zertifikat und erfordert eine Authentifizierung. Immer wenn ich versuche, Pakete darüber zu installieren, pacmanerhalte ich die folgende Fehlermeldung (z. B. beim Versuch, zu installieren lynx)

Fehler: Beim Abrufen der Datei „lynx-2.8.7-6-x86_64.pkg.tar.xz“ von mirrors.kernel.org ist ein Fehler aufgetreten: SSL-Zertifikatproblem: selbst signiertes Zertifikat in der Zertifikatskette

Dieser Fehler wird für jeden Mirror ausgegeben, den ich in definiert habe /etc/pacman.d/mirrorlist. Ich habe ähnliche Probleme beim Versuch, andere HTTP/S-Clients wie zu verwenden curl, aber ich habe keine Probleme mit FTP (hauptsächlich, weil meine Firma nur die Ports 80 und 443 überwacht).

Was ich bereits versucht habe ...

  • Platzieren des selbstsignierten CA-Zertifikats meines Unternehmens in /usr/share/ca-certificatesund/etc/ca-certificates
  • Einrichten http_proxyund https_proxymit meinen Anmeldeinformationen auf den Proxyserver meines Unternehmens verweisen
  • Habe mit der Person gesprochen, die unseren Proxyserver verwaltet, aber er weiß nichts über Linux und hat daher keine Ahnung, wo er anfangen soll.

Wenn ich derzeit etwas installieren oder auf das Internet zugreifen muss, öffne ich einen SSH-Tunnel zu meinem Heimserver, um dies zu umgehen.

Unten sehen Sie die Ausgabe vonopenssl s_client -CApath /etc/ca-certificates -showcerts -connect mirrors.kernel.org:443

VERBUNDEN(00000003)
Tiefe=0 C = USA, ST = Kalifornien, L = San Jose, O = Die Linux-Kernel-Organisation, CN = *.kernel.org
Überprüfungsfehler: Num=20: Lokales Ausstellerzertifikat konnte nicht abgerufen werden.
Rückgabe überprüfen: 1
Tiefe=0 C = USA, ST = Kalifornien, L = San Jose, O = Die Linux-Kernel-Organisation, CN = *.kernel.org
Überprüfungsfehler: Num=27: Zertifikat nicht vertrauenswürdig
Rückgabe überprüfen: 1
Tiefe=0 C = USA, ST = Kalifornien, L = San Jose, O = Die Linux-Kernel-Organisation, CN = *.kernel.org
Überprüfungsfehler: Num=21: Das erste Zertifikat konnte nicht überprüft werden
Rückgabe überprüfen: 1
---
Zertifikatskette
 0 s:/C=USA/ST=Kalifornien/L=San Jose/O=Die Linux-Kernel-Organisation/CN=*.kernel.org
   i:/C=US/ST=MeinFirmenstaat/L=MeineFirmenstadt/O=MeineFirmenname/OU=IT/CN=MeineFirmenproxyserver/[email geschützt]
-----ZERTIFIKAT BEGINNEN-----
... bla bla bla
-----ENDE DES ZERTIFIKATS-----
---
Server-Zertifikat
Betreff=/C=USA/ST=Kalifornien/L=San Jose/O=Die Linux-Kernel-Organisation/CN=*.kernel.org
Aussteller=/C=US/ST=Bundesland/L=Stadt/O=Firmenname/OU=IT/CN=Proxyserver meines Unternehmens/[email geschützt]
---
Keine Client-Zertifikat-CA-Namen gesendet
---

NotizIch könnte wahrscheinlich versuchen, stattdessen einfach FTP-Mirrors zu verwenden, aber das löst das Problem für andere HTTP/S-Anwendungen (z. B.) nicht wirklich curl.

Antwort1

Aus den von Ihnen bereitgestellten Informationen geht hervor, dass Sie Ihrer Datei das Serverzertifikat hinzugefügt haben /etc/ca-certificates. Sie müssen stattdessen das CA-Zertifikat hinzufügen.

Der openssl s_client -showcertsvon Ihnen ausgeführte Befehl sollte nach dem ersten Zertifikat ein oder mehrere weitere Zertifikate enthalten haben. Diese sind für Sie von Bedeutung.
Wenn nach dem ersten Zertifikat mehrere Zertifikate vorhanden sind, müssen Sie möglicherweise beide zu Ihrer ca-certificatesDatei hinzufügen. Dies hängt alles davon ab, wie die Zertifizierungsstelle auf dem Proxy eingerichtet ist. Wenn jedoch beide Zertifikate nicht erforderlich sind und Sie trotzdem beide hinzufügen, kann es nicht schaden.

Wenn jedoch openssl s_client -showcertskeine anderen Zertifikate als das erste angezeigt werden, sind Sie aufgeschmissen. Das bedeutet, dass der Proxy das Signaturzertifikat nicht sendet. Sie könnten versuchen, Ihr Netzwerkteam zu kontaktieren und es darum zu bitten. Aus Sicherheitsgründen gibt es absolut keinen Grund, es Ihnen nicht zu geben (es ist dieSchlüsseldie geschützt werden müssen).


Beispielsweise erhalte ich Folgendes (ja, da ich mich nicht hinter einem SSL-Proxy befinde, erhalte ich die echten Zertifikate, aber das Konzept bleibt bestehen):

# openssl s_client -showcerts -connect mirrors.kernel.org:443
VERBUNDEN(00000003)
Tiefe = 2 C = US, O = „thawte, Inc.“, OU = Certification Services Division, OU = „(c) 2006 thawte, Inc. – Nur für autorisierte Verwendung“, CN = thawte Primary Root CA
Überprüfungsfehler: Num=20: Lokales Ausstellerzertifikat konnte nicht abgerufen werden.
Überprüfen Sie die Rückgabe: 0
---
Zertifikatskette
 0 s:/C=USA/ST=Kalifornien/L=San Jose/O=Die Linux-Kernel-Organisation/CN=*.kernel.org
   i:/C=US/O=Thawte, Inc./CN=Thawte SSL CA
-----ZERTIFIKAT BEGINNEN-----
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==
-----ENDE DES ZERTIFIKATS-----
 1 s:/C=US/O=Thawte, Inc./CN=Thawte SSL CA
   i:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte, Inc. – Nur für autorisierte Verwendung/CN=thawte Primary Root CA
-----ZERTIFIKAT BEGINNEN-----
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=
-----ENDE DES ZERTIFIKATS-----
 2 s:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte, Inc. – Nur für autorisierte Verwendung/CN=thawte Primary Root CA
   i:/C=ZA/ST=Westkap/L=Kapstadt/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Premium Server CA/[email geschützt]
-----ZERTIFIKAT BEGINNEN-----
MIIERTCCA66gAwIBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB
zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
Q2FwZSBUB3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh
d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFoXDTIwMTIzMDIzNTk1OVow
gakxCzAJBgNVBAYTAlVTMRUweEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsT
H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy
MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD
VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC
d3/MEC2VNBzm600JpxzSuMmXNgK3idQkXwbAzESUlI0CYm/rWt0RjSiaXISQEHoN
vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68
0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV
L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u
KWn7OUkmHgmlgHtALevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEwEB
/wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz
Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny
bC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN
AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe
Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq
95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA=
-----ENDE DES ZERTIFIKATS-----
---
Server-Zertifikat
Betreff=/C=USA/ST=Kalifornien/L=San Jose/O=Die Linux-Kernel-Organisation/CN=*.kernel.org
Emittent=/C=US/O=Thawte, Inc./CN=Thawte SSL CA
---
Keine Client-Zertifikat-CA-Namen gesendet
---
SSL-Handshake hat 3566 Bytes gelesen und 636 Bytes geschrieben
---
Neu, TLSv1/SSLv3, Verschlüsselung ist RC4-SHA
Der öffentliche Schlüssel des Servers ist 2048 Bit
Sichere Neuverhandlung wird unterstützt
Komprimierung: KEINE
Erweiterung: KEINE
SSL-Sitzung:
    Protokoll: TLSv1
    Verschlüsselung: RC4-SHA
    Sitzungs-ID: EAB5C93513AA8829036C7BB9E3F74D99076C8A339EB220832F76DF73D52D0B22
    Sitzungs-ID-ctx:
    Hauptschlüssel: 0A599E2D1CCAA8249E50871FDF03A2137BA034BCB20FA691D1413822BE08E15303CB0F59CDEC0376D670E08632EF0D46
    Schlüsselargument: Keines
    PSK-Identität: Keine
    PSK-Identitätshinweis: Keiner
    SRP-Benutzername: Keiner
    TLS-Sitzungsticket:
    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[./.

    Startzeit: 1380663897
    Zeitüberschreitung: 300 (Sek.)
    Überprüfen Sie den Rückgabecode: 20 (lokales Ausstellerzertifikat konnte nicht abgerufen werden)
---

Ich würde Zertifikat 2 hinzufügen, das (letzte). Zertifikat 1 bräuchte ich nicht, da es ein Kettenzertifikat ist und durch Zertifikat 2 als Kettenzertifikat autorisiert ist. Ich könnte jedoch auch Zertifikat 1 hinzufügen, es würde nicht schaden.

Antwort2

Falls es jemandem hilft, ich hatte ein ähnliches Problem und habe es etwas anders gelöst. Mein Unternehmensproxy verwendete selbstsignierte Zwischenzertifikate. Dies war nicht nur in Befehlszeilenprogrammen meiner virtuellen Maschine, sondern auch in Browsern offensichtlich. Als ich in einem Browser (Chromiumim) zu einer externen Site navigierte, sah ich die Meldung „nicht vertrauenswürdig“, da die Site das selbstsignierte Zwischenzertifikat verwendete. Durch Klicken auf den Bereich mit dem Schlosssymbol in der URL-Leiste konnte ich die Zwischenzertifikate herunterladen. Ich bin dann einfach den folgenden Anweisungen gefolgt. Der Fix gilt global für Befehlszeilenprogramme und Browser usw.

https://wiki.archlinux.org/title/Benutzer:Grawity/Hinzufügen_eines_vertrauenswürdigen_CA-Zertifikats

verwandte Informationen