Is iad seo na rialuithe in alt 14 de 21-compliance.md a iarrann iniúchóir orthu de réir ainm. Seo nós imeachta; is iad na taifid a chruthaíonn sé an fhianaise.
Na heochracha
Séalaítear gach dintiúr stóráilte le heochair úr chriptithe sonraí (DEK). Timfhilleann an mháistireochair (KEK) an DEK agus stóráiltear tagairt na máistireochrach in aice leis (key_ref, nó an tagairt taobh istigh de luach pacáilte). Athfhilltear na DEKanna nuair a rothlaítear an mháistireochair. Ní dhíchriptítear ná ní athchriptítear dintiúr riamh.
| Socrú | Brí |
|---|---|
QUIRE_MASTER_KEY |
An mháistireochair reatha: 32 beart, base64. Timfhilltear gach rún nua léi |
QUIRE_MASTER_KEY_VERSION |
Lipéad a leagain. v1 mura bhfuil sé socraithe. Méadaigh é aon uair a athraíonn tú an eochair |
QUIRE_MASTER_KEY_RETIRED |
Eochracha níos sine a d’fhéadfadh rúin stóráilte a bheith fúthu, mar v1=<base64>,v0=<base64>. Léamh amháin, ní scríobh |
Léann an tsraith ghréasáin, an próiseálaí agus an t-ordú bun run kek:rotate na trí shocrú chéanna. Caithfidh na luachanna céanna a bheith ag gach ceann acu, nó ní bheidh ceann acu in ann an méid a shéalaigh ceann eile a oscailt.
Gan QUIRE_MASTER_KEY, coinníonn gach fochóras an eochair a dhíorthaíonn sé ó QUIRE_SECRET_KEY. Oibríonn sé sin agus taispeánann leathanach Sláinte an Chórais gur staid dhíghrádaithe atá ann. Fanann sé inléite tar éis duit máistireochair a shocrú, agus mar sin aistríonn an chéad rothlú gach rud uaidh. Is féidir le haon duine a léann timpeallacht an phróisis gach dintiúr stóráilte a dhíchriptiú; mar sin ba cheart go mbeadh máistireochair ag suiteáil táirgthe, in stór rúin agus ní sa chúltaca céanna leis an mbunachar sonraí.
Rothlú
Taispeántar aois na heochrach ar chonsól an Ardáin, Slándáil, Máistireochair, agus mar mhéadrach quire.secrets.master_key.age (laethanta). Scríobhann sceideal laethúil platform.key_age (03:41 UTC) iontráil mheabhrúcháin chuig slabhra iniúchta an ardáin nuair a shroicheann an eochair 365 lá, agus arís gach 30 lá go dtí go rothlaítear í. Rothlaigh í ar an meabhrúchán agus aon uair a d’fhéadfadh eochair a bheith nochta.
- Gin an eochair nua:
openssl rand -base64 32. - Socraigh
QUIRE_MASTER_KEYuirthi agusQUIRE_MASTER_KEY_VERSIONar an gcéad lipéad eile (v2). Cuir an tseaneochair inQUIRE_MASTER_KEY_RETIREDmarv1=<old base64>. Coinnigh cóip den dá eochair áit eile seachas an t-óstach seo. - Imscar an tsraith ghréasáin agus an próiseálaí leis na socruithe nua. Timfhilltear rúin nua faoi
env:QUIRE_MASTER_KEY:v2anois; osclaítear seanchinn leis an eochair éirithe as fós. - Iarr an rothlú, agus an chúis a bheidh sa log iniúchta san áireamh:
- sa chonsól: Slándáil, Máistireochair, Rothlaigh an mháistireochair; nó
- i sliogán leis an timpeallacht chéanna:
bun run kek:rotate request --reason "Annual rotation, ticket SEC-114".
- Athfhilltear slisne amháin sa nóiméad ag an bpróiseálaí (sceidealóir
platform.key_rotation) agus leanann an obair tar éis atosú. Chun é a chríochnú in aon seisiún amháin:bun run kek:rotate run. Breathnaigh air lebun run kek:rotate status. - Nuair a deir an taifead go bhfuil an rothlú críochnaithe le nialas gan réiteach agus nialas teipthe, bain an eochair éirithe as de
QUIRE_MASTER_KEY_RETIREDagus imscar arís. Coinnigh í go dtí sin: tá luach nárbh fhéidir leis a bhogadh fós fillte faoin tseaneochair.
Na rudaí a shiúlann an jab
Gach stór ina bhfuil DEK fillte: iad sin atá in SEALED_STORES (apps/worker/src/key-rotation.ts). Siúltar stórtha bunachar rialaithe ansin; siúltar stórtha eagraíochta eagraíocht amháin ag an am faoi shlándáil ar leibhéal ró, sa bhunachar ina bhfuil sí. Mar sin, rothlaítear tionónta atá pionnáilte de bhunachar tiomnaithe ansin. Teipeann tástáil nuair a chuirtear colún eochrach fhillte leis an scéimre agus nach n-ainmnítear ar an liosta é; teipeann tástáil eile nuair a aicmíonn athbhreithniú na ndintiúr colún séalaithe nach bhfuil ar an liosta.
An taifead
ops.key_rotation: ró amháin do gach rothlú, lena chúis, cé a d’iarr é, a stádas agus a hiomláin (athfhillte, reatha cheana, gan réiteach, teipthe).ops.key_rotation_progress: ró amháin do gach stór agus raon feidhme nuair a shiúltar é, le tagairtí eochrach nárbh fhéidir a léamh agus líon na luachanna faoi gach ceann. Scipeálann rothlú a atosú iad seo.- Slabhra iniúchta ardáin:
platform/key_rotation_request(leis an gcúis), iontráilplatform/key_rotation_storedo gach stór lena chomhaireamh, agusplatform/key_rotation_completenóplatform/key_rotation_fail; chomh maith leplatform/key_age_reminderdon mheabhrúchán. - Méadrachtaí:
quire.secrets.master_key.ageagusquire.secrets.rewrap.outstanding(luachanna nach bhféadfadh an rothlú deireanach a bhogadh).
Nuair nach réitítear luachanna
Tá luach gan réiteach fillte faoi thagairt eochrach nach bhfuil ag an tsuiteáil, nó níl sé san fhormáid a gheallann a cholún. Ainmníonn taifead dul chun cinn an tagairt (mar shampla env:QUIRE_MASTER_KEY:v0 (unreadable)). Cuir an eochair sin ar ais in QUIRE_MASTER_KEY_RETIRED agus rith rothlú eile; nó, má tá an eochair caillte go deo, iarr ar riarthóir na heagraíochta an dintiúr a iontráil arís, ionas go séalófar faoin eochair reatha é. Taispeánann taifid rothlaithe teipthe an earráid; ceartaigh cúis na teipe agus iarr arís.
Eochracha sínithe
Ar leith ón máistireochair, síníonn gach eagraíocht a comharthaí OpenID Connect agus teachtaireachtaí LTI lena heochair RSA féin, atá foilsithe ag /.well-known/jwks.json. Ní theastaíonn aon rud ón oibreoir anseo. Foilsíonn sceideal platform.signing_keys a ritheann gach uair an chloig comharba seacht lá sula mbeidh nócha lá caite ag an eochair reatha; tosaíonn an comharba ag síniú seachtain ina dhiaidh sin agus éiríonn an tseaneochair ag dul in éag; scriostar an tseaneochair agus baintear den tacar eochracha í nócha lá ina dhiaidh sin. Is iontráil platform/signing_key_advance ar shlabhra iniúchta an ardáin gach céim.
Chun eochair eagraíochta a athsholáthar níos luaithe, mar shampla tar éis sceite:
- sa chonsól: Slándáil, Máistireochair, Foilsigh eochair shínithe nua (teastaíonn
platform/keys_manage); nó - i sliogán le timpeallacht an phróiseálaí:
bun run kek:rotate signing-keys rotate --tenant <slug or id> --reason "Key exposed, INC-3310". Liostaíonnbun run kek:rotate signing-keys statuseochracha gach eagraíochta de réir céime.
Foilsítear an eochair nua láithreach agus tosaíonn sí ag síniú i gceann seacht lá, nuair a rachaidh an ceann reatha ar scor. Tá an tseachtain sin ann d’aon ghnó: taisceann páirtithe iontaofa an tacar eochracha, agus theipfeadh ar gach uirlis le forluí níos giorra. Fanann an eochair atá ag dul in éag sa tacar ar feadh nócha lá eile ionas go leanfaidh comharthaí atá sínithe cheana léi de bheith á bhfíorú. Má éilíonn an sceitheadh nach gcuirfí muinín inti níos luaithe, is athrú é a ró a scriosadh a dhéantar le rochtain bhunachair sonraí an oibreora féin faoi thaifead athraithe (is inléite amháin í rochtain éigeandála); teipfidh ar chomharthaí a síníodh léi fíorú ina dhiaidh sin. Is é platform/signing_key_rotate an rothlú éigeantach ar an slabhra iniúchta, agus bíonn an chúis leis. Teastaíonn na socruithe QUIRE_MASTER_KEY céanna ón bpróiseálaí agus ón tsraith ghréasáin chun an eochair nua a fhilleadh; athfhilleann bun run kek:rotate do mháistireochair eochracha sínithe in éineacht le gach rud eile (oauth_signing_key in SEALED_STORES).
Rochtain éigeandála táirgthe
Níl rochtain sheasta ar an táirgeadh ag aon duine. Nuair nach féidir fanacht, eisíonn úinéir deontas rochtana éigeandála: Consól an Ardáin, Slándáil, Rochtain éigeandála.
- Bíonn raon ag deontas (eagraíocht amháin nó clárlann an ardáin), cúis 20 carachtar ar a laghad a ainmníonn an teagmhas nó an ticéad, agus tréimhse 5 go 240 nóiméad. Téann sé as feidhm leis féin: seiceáiltear é in aghaidh an chloig do gach ráiteas.
- Is féidir é a eisiúint don úinéir a eisíonn é, nó d’úinéir eile (modh dhá dhuine). Ní féidir ach leis an té ar eisíodh é dó é a úsáid. Teastaíonn
platform/break_glass_issuelena eisiúint agusplatform/break_glass_uselena úsáid; is do na húinéirí amháin iad araon de réir réamhshocraithe. - Ritheann ráitis tríd an ngeata, ní trí logáil isteach i mbunachar sonraí: inléite amháin, ceann ag an am, srianta don eagraíocht nó do chlárlann rialaithe, le teorainn ama cúig shoicind agus 500 ró ar a mhéad. Taispeántar méid luachanna dénártha.
- Taifeadann slabhra iniúchta an ardáin an eisiúint (leis an gcúis), cúlghairm, gach ráiteas sula ritheann sé (
platform/break_glass_statement, agusdeniedmar thoradh ar dhiúltaithe) agus gach toradh (platform/break_glass_result). Coinníonnops.break_glass_statementaitheantas iontrálacha iniúchta, ionas go gceanglaítear an taifead eisiúna lena iontrálacha iniúchta. - Ní chuirtear scríbhinní ar fáil. Déantar athrú nach féidir fanacht le heisiúint trí rochtain bhunachair sonraí an oibreora féin faoi thaifead athraithe ar leith, lasmuigh den táirge; ba cheart don taifead tagairt an teagmhais a úsáideadh anseo a lua.
Cén fáth nach n-eiseofaí dintiúir bhunachair sonraí? Maireann logáil isteach Postgres níos faide ná an seisiún a d’iarr é, seachnaíonn sé slándáil ar leibhéal ró a mbraitheann an feidhmchlár uirthi, agus ní féidir leis scríobh chuig slabhra iniúchta an táirge seo. Mar sin ní dhéanfaí iniúchadh ar a ráitis ach sa mhéid go seolfaí log freastalaí. Cuireann an geata an lorg iniúchta mar chuid den rochtain féin, seachas cleachtas a fhágáil ina thimpeall.
Chun iarratas iniúchta a fhreagairt: liostaigh deontais na tréimhse (Rochtain éigeandála), oscail stair deontais chun a ráitis agus aitheantais iontrálacha iniúchta a fheiceáil, agus léigh na hiontrálacha sin ar shlabhra iniúchta an ardáin (bun run audit:verify --platform chun a chruthú go bhfuil an slabhra slán).