Ujenzi wa Go, usakinishaji wa Composer na mteja wa Python zote hufanya kazi nyumbani na zote hushindwa ndani ya VPN ya kampuni. Mtindo huo unakuambia kuhusu njia, si kuhusu programu. Kitu kwenye handaki kiliakisi mnyororo wa vyeti ambao mchakato wako unaona, au kiliweka upya mshikamano wa mkono kabla ya mnyororo wowote kufika. Hitilafu hizo mbili zinaonekana sawa kwenye terminal na zinahitaji majibu tofauti kabisa.

Ujumbe tatu, mbinu tatu

Hitilafu x509 certificate signed by unknown authority inamaanisha mnyororo ulijengwa na mzizi wake haupo kwenye hazina ya uaminifu ambayo mchakato huo hutumia. Hitilafu self-signed certificate in certificate chain kwa kawaida inamaanisha wakala wa ukaguzi ulijibu kwa cheti chake mwenyewe, na huo ni mnyororo ambao mazingira yako ya utekelezaji hayautambui. SSL EOF wakati wa mshikamano wa mkono inamaanisha muunganisho ulifungwa kabla ya cheti chochote kinachoweza kutumika kutumwa, na hiyo ni kifaa cha kati kinachokataa ClientHello, si tatizo la uaminifu hata kidogo.

Kuongeza bendera ya hali isiyo salama hufanya ujumbe wote watatu kutoweka wakati unyang'anyi unabaki mahali pake, na huondoa ukaguzi ambao ungemkamata mvamizi halisi.

Tafuta kifurushi ambacho mchakato husoma kweli

Mzizi wa kampuni uliosakinishwa kwenye hazina ya Windows hurekebisha vivinjari na programu za .NET zinazoshauri hazina ya mfumo. Haufanyi chochote kwa ujenzi unaoendeshwa ndani ya chombo, ambao hubeba kifurushi chake cha CA, wala kwa mchakato wa Python unaotumia certifi au mchakato wa Node unaotumia orodha yake iliyojumuishwa. Go husoma dimbwi la mfumo la mazingira ambayo faili binary huendeshwa, yaani chombo, si kompyuta mpito. Kwa hiyo mashine moja hutoa kwa wakati mmoja kivinjari kinachofanya kazi na zana ya ujenzi inayoshindwa.

Uliza zana badala ya kudhani. python3 -c "import ssl; print(ssl.get_default_verify_paths())" huchapisha faili ambazo Python atashauri, na node -e "console.log(process.env.NODE_EXTRA_CA_CERTS)" huonyesha kama ubatilishaji umeandaliwa tayari. Kwa chombo, endesha ukaguzi huo huo ndani ya picha, kwa sababu ndiyo mazingira ambayo ujenzi hutumia kweli.

Sakinisha mzizi mmoja mahali ambapo ujenzi huendeshwa

Pata mzizi wa ukaguzi kutoka IT kama faili la PEM na thibitisha alama ya kidole kupitia njia tofauti kabla ya kuiamini. Kwenye picha zinazotegemea Debian, nakili kwenye /usr/local/share/ca-certificates/ na endesha update-ca-certificates; picha za familia ya RHEL hutumia update-ca-trust baada ya faili kuwekwa kwenye /etc/pki/ca-trust/source/anchors/. Katika ujenzi wa chombo, ongeza hatua hizo kabla ya amri inayoshindwa ili tabaka lihifadhiwe juu ya usakinishaji wa vitegemezi.

Kwa devcontainer ya ndani, pandisha PEM na endesha amri hiyo hiyo ya kusasisha wakati wa kuanza badala ya kuoka kwenye picha binafsi ambayo hakuna mwingine anayeweza kuizalisha tena. Zana zinazobeba kifurushi chao zinahitaji ubatilishaji wao ulioandikwa: pip ina mpangilio wa cheti, npm ina mpangilio wa cafile, na nyingi nyingine zinakubali vigeu vya mazingira vya kawaida.

Hii si sawa na kukubali cheti chochote. Unaongeza mzizi mmoja maalum, uliopatikana kutoka upande unaofanya ukaguzi, kwenye mazingira moja, na uthibitisho unabaki umewashwa kwa kila mnyororo mwingine. Andika faili gani liliongezwa na lini litaisha, kwa sababu mzizi wa ukaguzi husasishwa kama CA nyingine yoyote.

Wakati mshikamano wa mkono unakufa kabla ya cheti

Ikiwa hakuna chochote kitakachowasilishwa, hakuna mabadiliko ya hazina ya uaminifu yatakayosaidia. Linganisha ombi hilo hilo na handaki likiwa wazi na likiwa funge, kisha kagua mnyororo moja kwa moja kwa openssl s_client -connect host:443 -servername host -showcerts. Muunganisho unaokamilika nje ya VPN na kuwekwa upya ndani yake ni uamuzi wa sera wa kifaa cha kati, na dawa ni msamaha kwa mwenyeji huyo, si cheti kingine. Omba rejista ya vifurushi au kituo cha mwisho cha API kipitishwe bila kubadilishwa.

Kugawanya handaki ili zana ipite VPN huepuka ukaguzi wa trafiki hiyo, jambo ambalo linaweza kukiuka sera na halifanyi zana iaminike.

Andika matokeo kwa kila zana

Dokezo fupi linaloorodhesha faili binary, faili la uaminifu ambalo husoma, kigeu cha mazingira kilicho kazini na msamaha ulioidhinishwa humwezesha mtu anayefuata kuokoa utambuzi wote. Weka dokezo kwa kila zana badala ya kila kompyuta mpito, kwa sababu kompyuta mpito ni nadra kuwa kitu kilichobadilika.

Na weka sentensi mbili kando kwenye tiketi: tulisakinisha mzizi maalum wa kampuni, na tulizima uthibitisho. Moja tu kati ya hizo ni hatua ya msaada.

Makala zinazohusiana