Go-bygget, Composer-installasjonen og Python-klienten fungerer alle heime og feilar alle inne i bedrifts-VPN-en. Det mønsteret fortel deg om vegen, ikkje om programmet. Noko på tunnelen endra sertifikatkjeda prosessen din ser, eller nullstilte handtrykket før noka kjede kom fram i det heile. Dei to feila ser like ut i ein terminal og krev heilt ulike svar.

Tre meldingar, tre mekanismar

Feilen x509 certificate signed by unknown authority betyr at ei kjede vart bygd og at rota manglar i tillitslageret som den prosessen brukar. Feilen self-signed certificate in certificate chain betyr vanlegvis at ein inspeksjonsproxy svara med sitt eige sertifikat, og det er ei kjede køyretidsmiljøet ditt ikkje kjenner att. Ein SSL EOF under handtrykket betyr at sambandet vart lukka før noko brukande sertifikat vart sendt, og det er ein mellomliggjande boks som avviser ClientHello, ikkje eit tillitsproblem i det heile.

Å leggje til eit flagg for usikker tilstand får alle tre meldingane til å forsvinne medan avlyttinga blir ståande, og det fjernar kontrollen som ville fanga ein ekte angripar.

Finn pakka prosessen faktisk les

Bedriftsrota som er installert i Windows-lageret, reparerer nettlesarar og .NET-program som slår opp i systemlageret. Ho gjer ingenting for eit bygg som køyrer i ein container, som ber si eiga CA-pakke, og ingenting for ein Python-prosess med certifi eller ein Node-prosess med si medfølgjande liste. Go les systembassenget i miljøet binæren køyrer i, altså containeren og ikkje den berbare PC-en. Éi maskin gir derfor samstundes ein nettlesar som verkar og eit byggjeverktøy som feilar.

Spør verktøyet i staden for å anta. python3 -c "import ssl; print(ssl.get_default_verify_paths())" skriv ut filene Python vil slå opp i, og node -e "console.log(process.env.NODE_EXTRA_CA_CERTS)" viser om ei overstyring allereie er sett. For ein container, køyr den same kontrollen inne i imaget, fordi det er miljøet bygget faktisk brukar.

Installer éi rot der bygget køyrer

Hent inspeksjonsrota frå IT som ei PEM-fil, og verifiser fingeravtrykket gjennom ein separat kanal før du stolar på ho. På Debian-baserte images kopierer du ho til /usr/local/share/ca-certificates/ og køyrer update-ca-certificates; images frå RHEL-familien brukar update-ca-trust etter at fila er lagd i /etc/pki/ca-trust/source/anchors/. I eit containerbygg legg du til desse trinna før kommandoen som feilar, slik at laget blir mellomlagra over installasjonen av avhengnadene.

For ein lokal devcontainer, monter PEM-fila og køyr den same oppdateringskommandoen ved oppstart i staden for å bake ho inn i eit personleg image som ingen andre kan gjenskape. Verktøy som leverer si eiga pakke, treng si eiga dokumenterte overstyring: pip har ei sertifikatinnstilling, npm har ei cafile-innstilling, og dei fleste andre godtek standard miljøvariablar.

Dette er ikkje det same som å godta eit kva sertifikat som helst. Du legg til éi bestemt rot, henta frå parten som utfører inspeksjonen, i eitt miljø, og verifiseringa blir ståande på for kvar andre kjede. Noter kva fil som vart lagd til og når ho går ut, for ei inspeksjonsrot blir fornya som kvar annan CA.

Når handtrykket døyr før eit sertifikat

Viss ingenting blir presentert, hjelper inga endring i tillitslageret. Samanlikn den same førespurnaden med tunnelen oppe og nede, og undersøk deretter kjeda direkte med openssl s_client -connect host:443 -servername host -showcerts. Ein samband som blir fullført utanfor VPN-en og nullstilt inne i han, er ei policyavgjerd frå den mellomliggjande boksen, og botemiddelet er eit unntak for den verten, ikkje endå eit sertifikat. Be om at pakkeregisteret eller API-endepunktet blir sleppt gjennom uendra.

Å splitte tunnelen slik at verktøyet går utanom VPN-en, unngår inspeksjon for den trafikken, noko som kan bryte policyen og ikkje gjer verktøyet påliteleg.

Skriv ned resultatet per verktøy

Eit kort notat som listar opp binæren, tillitsfila han les, miljøvariabelen som er i spel og unntaket som er godkjent, sparer neste person for heile diagnosen. Hald notatet per verktøy i staden for per berbar PC, for den berbare PC-en er sjeldan det som vart endra.

Og hald to setningar skilde i saka: vi installerte ei bestemt bedriftsrot, og vi slo av verifiseringa. Berre éin av dei er ei støttehandling.

Relaterte artiklar