setja inn umhverfisbreytur í byggingarferlið

Sprauta umhverfisbreytum inn í byggingarferlið á öruggan hátt

Að sprauta umhverfisbreytum inn í smíðaferlið er a standard æfing í nútíma CI/CD pipelines. Teymi sprauta umhverfisbreytum inn í smíðaferlið til að senda leyndarmál, tákn og keyrslustillingar inn í smíðar án þess að gildum sé harðkóðað. Á yfirborðinu lítur þetta út fyrir að vera einfalt og öruggt mynstur.

Hins vegar verður það í reynd oft ein af vanmetnustu áhættunum í hugbúnaðarframboðskeðjunni.

Því þegar teymi setja umhverfisbreytur inn í byggingarferlið hætta þessi gildi að vera einangruð. Þau verða aðgengileg öllu sem keyrir innan þess. pipelineSmíðaforrit, CLI verkfæri, aðgerðir þriðja aðila og jafnvel ósjálfstæði geta lesið þau.

Þetta er þar sem hlutirnir byrja að bila.

Í þessari handbók förum við í gegnum hvernig teymi setja umhverfisbreytur inn í byggingarferlið í raunveruleikanum. pipelinehvar lekar eiga sér stað í raun og hvernig hægt er að tryggja byggingarferlið án þess að hægja á framkvæmdum.

Hvað það þýðir að sprauta umhverfisbreytum inn í byggingarferlið

Í kjarna sínum þýðir innspýting umhverfisbreyta að senda gildi inn í pipeline í keyrslu svo að verk geti nálgast þau meðan á keyrslu stendur. 

Í reynd sprauta flest teymi umhverfisbreytum inn í byggingarferlið margoft á mismunandi stigum, oft án þess að fá fulla yfirsýn yfir hvernig þessi gildi eru notuð.

Þessi gildi innihalda yfirleitt API-lykla, gagnagrunnsupplýsingar, tákn eða umhverfissértækar stillingar. Í stað þess að geyma þau beint í kóða, CI/CD kerfið hleður þeim inn sjálfkrafa þegar smíðin hefst.

Þetta leysir raunverulegt vandamál. Það heldur kóðanum hreinum, kemur í veg fyrir tvítekningu og gerir það sama mögulegt. pipeline til að keyra á milli sviðsetningar-, prófunar- og framleiðsluumhverfis.

Hins vegar byggir þessi líkan á forsendu sem stenst ekki lengur: að byggingarumhverfið sé stjórnað og fyrirsjáanlegt.

Modern pipelines eru hvorugt. Þau fela í sér mörg skref, ytri samþættingar og ósjálfstæði sem keyra kóða á kraftmikinn hátt. Þar af leiðandi, þegar breyta hefur verið sprautuð inn, er hún ekki lengur bara stilling. Hún verður hluti af keyrslusamhenginu.

Þar sem umhverfisbreytur leka í byggingarferlinu

Flestir lekar gerast ekki vegna þess að einhver afhjúpar leyndarmál berum orðum. Þeir gerast vegna þess að pipelinehegða sér á þann hátt sem forritarar gera ekki að fullu ráð fyrir.

Í hvert skipti sem teymi setja umhverfisbreytur inn í byggingarferlið auka þau fjölda íhluta sem hugsanlega geta nálgast viðkvæmar gögn.

Til dæmis gæti forritari virkjað ítarlega skráningu til að kemba bilun í byggingu. CLI tól gæti prentað umhverfisbreytur sem hluta af úttaki sínu. Ósjálfstæði gæti nálgast ferlisbreytur hljóðlega sem hluta af keyrslu sinni.

Engin þessara aðgerða virðist grunsamleg ein og sér. Hins vegar saman skapa þær margar lekaleiðir.

Leyndarmál geta endað í:

  • smíða skrár sem eru geymdar og skráðar
  • Villuleitarúttak deilt á milli teyma
  • CI aðgerðir þriðja aðila sem keyra utanaðkomandi kóða
  • ósjálfstæði sem keyra á meðan uppsetningu eða keyrslu stendur
  • tímabundnir gripir sem myndast við smíðina

Þegar leyndarmál birtist í skrám er það sjaldan geymt. Skrár eru afritaðar, geymdar og varðveittar á mörgum kerfum. Þá nær afhjúpunin langt út fyrir upprunalega efnið. pipeline.

Þess vegna uppgötvast leki úr umhverfisbreytum oft seint og eftir að skaðinn er þegar skeður.

Af hverju teymi setja umhverfisbreytur inn í byggingarferlið

Þrátt fyrir þessa áhættu reiða teymi sig mjög á innspýtingu umhverfisbreyta. Og það er góð ástæða fyrir því.

Það gerir pipelines til að vera sveigjanleg. Eitt verkflæði getur aðlagað sig að mismunandi umhverfi, auðkennt sig gagnvart mörgum þjónustum og breytt hegðun á kraftmikinn hátt án þess að breyta kóðanum.

Í hraðbreytilegum DevOps umhverfum er þessi sveigjanleiki nauðsynlegur. Hins vegar fylgja sveigjanleiki alltaf málamiðlanir. Því kraftmeiri sem... pipeline Því erfiðara sem það verður að stjórna því sem gerist inni í því. Sérhvert viðbótarskref, samþætting eða tengsl eykur fjölda staða þar sem hægt er að nálgast viðkvæmar upplýsingar.

Þar af leiðandi færist innspýting umhverfisbreytu úr því að vera smáatriði í stillingu yfir í öryggisáhyggjuefni.

Algengar áhættur þegar umhverfisbreytur eru settar inn í byggingarferlið

Áhættan er ekki fræðileg. Hún birtist í raunveruleikanum. pipelineá hverjum degi.

Leyndarmál leka inn í annálar

Logar eru einn af þeim algengustu uppsprettur útsetningarVilluleitarflögg, CLI verkfæri og staflarakningar sýna oft viðkvæm gildi án þess að forritarar taki eftir því.

Þegar þessi gildi hafa verið afhjúpuð dreifast þau hratt um kerfin.

Ofurheimilislegur aðgangur

Margir pipelines afhjúpar allar breytur fyrir öll störf. Þetta skapar óþarfa áhættu.

Ef eitt skref verður í hættu getur það fengið aðgang að innskráningarupplýsingum sem það þarf í raun ekki á að halda.

Ósjálfstæði og misnotkun aðgerða

Modern pipelinetreysta mjög á verkfæri og samþættingar frá þriðja aðila. Þessir íhlutir keyra innan sama umhverfis og leyndarmálin þín.

Ef einn þeirra hegðar sér illgjarnlega getur hann fengið aðgang að innspýttum breytum hljóðlega.

Samkvæmt OWASPÁrásir á framboðskeðjur nýta sér oft trausta íhluti í byggingarferlinu. Umhverfisbreytur verða oft auðveldasta skotmarkið.

Þessi áhætta er ekki fræðileg. Nýleg atvik, eins og axios npm málamiðlunin, sýna hvernig árásarmenn misnota traustar ósjálfstæðir tengingar til að fá aðgang að leyndarmálum í keyrslutíma og pipeline gögn.
 

Varaleyndarmál í kóða

Þegar smíðar mistakast vegna þess að breyta vantar bæta teymi stundum við varagildum til að halda pipelineer að hlaupa.

Með tímanum aukast þessi gildi commitnotað eða dreift, sem skapar langtímaáhrif.

Bestu starfshættir til að sprauta umhverfisbreytum inn í byggingarferlið á öruggan hátt

Að tryggja hvernig teymi setja umhverfisbreytur inn í byggingarferlið snýst ekki um að fjarlægja sveigjanleika. Það snýst um að stjórna því hvernig þessi gildi birtast við keyrslu.
 
Flokkur Besta æfingin Hvers vegna það skiptir máli
Geymsla leyndarmála Nota geymslu eða leyndarmálastjóra CI Kemur í veg fyrir birtingu í kóða
Aðgangsstýring Takmarkaðu aðgang fyrir hvert verk Minnkar árásarflötinn
Annálar Gríma viðkvæm gildi Kemur í veg fyrir leka
Gildissvið og líftími Notið skammvinn skilríki Takmarkar sprengingaradíus
löggilding Mistök í smíðum ef breytur vantar Forðast óöruggar varaleiðir

Hvers vegna margir CI/CD Öryggisverkfæri Miss Env Var Leaks

Flest öryggistól einbeita sér að því að skanna kóða eða ósjálfstæði eftir að smíðinni er lokið.

Hins vegar lekar umhverfisbreytur við keyrslu.

A pipeline getur sprautað leyndarmálum rétt og samt afhjúpað þau í gegnum skrár eða keyrsluhegðun. Þegar skanni greinir vandamálið gæti leyndarmálið þegar verið í hættu.

Þetta skapar bil á milli uppgötvunar og forvarna.

Lið þurfa stýringar sem virka á meðan pipeline keyrir, ekki eftir að því lýkur.

Þetta verður sérstaklega mikilvægt þegar teymi setja umhverfisbreytur inn í byggingarferlið í mörgum verkum og skrefum þriðja aðila án keyrslutímastýringa.

Hvernig við mælum með að tryggja innspýtingu umhverfisbreytna

Í reynd snýst virk vernd um nokkrar samræmdar meginreglur.

Geymið leyndarmál utan pipeline. Sprautið þeim aðeins inn á keyrslutíma. Takmarkaðu aðgang við lágmarks umfang sem krafist er. Notið skammvinnar innskráningarupplýsingar þegar það er mögulegt.

Jafnframt skal fylgjast með því hvernig pipelineAðgangsnæm gildi. Óvænt aðgangsmynstur gefa oft til kynna áhættu áður en leki verður sýnilegur.

Þessi aðferð færir öryggi frá viðbragðsgreiningu yfir í fyrirbyggjandi stjórnun.

Hvernig Xygeni hjálpar til við að vernda CI/CD Leynileg innspýting

Xygeni einbeitir sér að þeim punkti þar sem teymi setja umhverfisbreytur inn í byggingarferlið og þar sem leyndarmál verða í raun afhjúpuð: Inni í pipeline, meðan á framkvæmd stendur.

Í stað þess að reiða sig eingöngu á skönnun eftir smíði greinir Xygeni hvernig pipelinenota umhverfisbreytur þegar þær keyra. Þetta felur í sér hvernig leyndarmál færast á milli verkefna, hvernig byggingarskref nálgast þau og hvernig ósjálfstæði hefur samskipti við keyrsluumhverfið.

Til dæmis getur Xygeni greint hvenær a pipeline birtir breytur of víða, þegar skref er í hættu á að prenta viðkvæm gildi í skrár eða þegar ósjálfstæði reynir óvænt að fá aðgang að innskráningarupplýsingum.

Á sama tíma, guardrails framfylgja stefnu beint í pipelineTeymi geta lokað á óöruggar byggingar, takmarkað leynilegan aðgang að tilteknum verkefnum og komið í veg fyrir áhættusamar stillingar áður en þær komast í framleiðslu.

Vegna þess að þetta gerist innan CI/CD vinnuflæði, forritarar þurfa ekki að breyta vinnubrögðum sínum. Öryggi verður hluti af pipeline, ekki sérstakt skref.

Þar af leiðandi fá teymi innsýn í hvernig leyndarmál eru notuð, stjórna því hvernig þau eru afhjúpuð og draga úr hættu á leka án þess að hægja á afhendingu.

Final Thoughts

Að sprauta umhverfisbreytum inn í byggingarferlið er nauðsynlegt fyrir nútíma CI/CD vinnuflæði. Hins vegar, án viðeigandi eftirlits, getur þessi aðferð afhjúpað leyndarmál á mörgum stigum framkvæmdarinnar.

Hins vegar felur það einnig í sér áhættu sem oft fer fram hjá neinum.

Áskorunin er ekki hvort nota eigi umhverfisbreytur, heldur hvernig stjórna eigi útsetningu þeirra meðan á keyrslu stendur.

Í nútíma DevOps umhverfum skiptir miklu meira máli að koma í veg fyrir leka meðan á byggingarferlinu stendur en að greina þá eftir á.

sca-tools-hugbúnaður-samsetningargreiningartól
Forgangsraðaðu, lagfærðu og tryggðu hugbúnaðaráhættu þína
Fáðu þér ókeypis aðgang.
Ekkert kreditkort krafist.

Tryggðu hugbúnaðarþróun og afhendingu þína

með Xygeni vörupakkanum