Drošība
Šī lapa stāsta gan par to, ko mēs pasargājam, gan par to, ko mēs pasargāt nespējam. Drošības stāsts, kuram trūkst otrās daļas, liek lasītājam sajaukt sarakstu ar garantiju.
Sākumpunkts
Pakotnes publicēšana nozīmē koda izpildi katra inženiera datorā, kurš to uzstāda. Katrs drošības lēmums šajā produktā vispirms ir nosvērts pret vienu jautājumu: vai šīs izmaiņas atvieglo publicēšanu bez tiesībām?
Pakotnes tiek parakstītas (ECDSA P-256)
Paraksta fails ceļo pakotnes iekšienē. Tas paraksta manifestu, kurā ir failu jaucējsummas, pakotnes identifikators un versija — nevis tikai arhīva jaucējsumma.
Ja tiktu parakstīta tikai jaucējsumma, vecu, pareizi parakstītu arhīvu varētu iebīdīt zem jauna versijas numura: paraksts izturētu pārbaudi, un lietotājs uzstādītu „kā atjauninājumu“ rīku, kurā ir zināma ievainojamība.
Privātā atslēga NAV serverī
Serveris tikai pārbauda. Parakstīšana notiek publicētāja datorā ar atsevišķu rīku.
Ja atslēga būtu serverī, tas, kurš to iegūtu, varētu pakotni izmainīt un parakstīt no jauna — kas padarītu parakstu veltīgu.
Pārbauda arī klients
Papildinājums inženiera datorā pārbauda parakstu no savas puses, un uzticamo atslēgu saraksts, ko tas izmanto, nenāk no servera.
Paraksts pastāv tieši tāpēc, ka serverim nevar ticēt uz vārda. Uzticamības saraksta ņemšana no tā paša servera klusi atceltu sākotnējo pieņēmumu.
Audita žurnāls, kas netiek dzēsts
Katra publicēšana, katras tiesību izmaiņas un katrs lēmums par kanālu tiek pierakstīts uz mūžu. Apzināti nepastāv neviens izmaiņu vai dzēšanas ceļš, un glabāšanas termiņa tīrīšana to neaiztiek.
„Kā šis rīks šeit nonāca“ parasti tiek jautāts pēc mēnešiem. Tajā dienā ieraksts, kuru būtu varēts izdzēst, ir ieraksts, kura nekad nav bijis.
Četru acu princips, pēc izvēles
Versijas izplatīšana plašākā kanālā var prasīt otra administratora apstiprinājumu, un pieprasījuma iesniedzējs nevar apstiprināt pats savu pieprasījumu. Atgriešana nekad neprasa apstiprinājumu.
Pēc noklusējuma tas ir izslēgts. Trīs cilvēku komandā šķērslis dažās nedēļās pārvēršas par ziņu, kas tiek apstiprināta neizlasot; pārbaude, par kuru tiek ticēts, ka tā pasargā, bet kas nepasargā, ir sliktāka nekā pārbaudes trūkums.
Arhīva atspiešana pati ir uzbrukuma virsma
Atsūtītie arhīvi tiek pārbaudīti uz izkļūšanu no mapes (zip-slip) un atspiešanas bumbām, un kopējais apjoms pēc atspiešanas ir ierobežots.
Arhīva atspiešana izskatās nevainīga. Īpaši sagatavots arhīvs var ierakstīt failus ārpus mērķa mapes vai piepildīt servera disku.
Pieteikšanās bez paroles
Lietotāji piesakās ar vienreizēju kodu, kas tiek nosūtīts uz viņu adresi. Sesija ceļo ar īsu mūžu žetonu; atjaunošanas žetons nekad nav redzams pārlūka kodam.
Ja nav paroļu glabātavas, kas jāuztur, nav arī paroļu datubāzes, kas varētu noplūst. Un jau atsaukta atjaunošanas žetona atkārtota izmantošana tiek uztverta kā zādzības pazīme: sesija tiek slēgta.
Jūs redzat, ko uzstādāt
Instalācijas mape satur mašīnlasāmu sastāva sarakstu (SBOM CycloneDX) un migrācijas skriptus abām datubāzēm.
Jūsu IT komandai jāspēj pārbaudīt, kas nonāk serverī, pirms tas tur nonāk. Kad par kādu atkarību tiek paziņota ievainojamība, „vai mums tā ir?“ pārvēršas par meklēšanu failos.
Ko mēs pasargāt nespējam
Tie nav trūkumi, bet robežas. Tās izriet no uzbūves, un apgalvot pretējo būtu meli.
- Divi kopā strādājoši administratori. Četru acu princips aptur vienu, nevis divus.
- Servera sistēmas administrators. Tam, kam ir piekļuve datubāzei un failu sistēmai, neviena lietojumprogrammas līmeņa pārbaude nav šķērslis.
- Darbstacija, kurā glabājas parakstīšanas atslēga. Atslēga nav serverī, bet tā kaut kur ir; ja šis dators krīt, parakstīšana krīt kopā ar to.
- Apzināti noslēpta ļaunprātīga uzvedība. Mūsu pakotņu pārbaude ir heiristiska, un mēs neapgalvojam, ka tā noķer kodu, kurš mēģina paslēpties.
- Datu noplūde. Uzstādīts rīks strādā ar paša inženiera tiesībām un var lasīt visu, kur tās sniedzas. To ierobežo operētājsistēmas un tīkla pārbaudes, nevis šis produkts.
- Jūsu rezerves kopiju drošība. Datubāzes kopija ir Jūsu rokās, un viss tajā ir tieši tikpat vērtīgs kā dzīvā sistēma.
Ziņošana par ievainojamību
Ja esat tādu atradis, rakstiet mums. Mēs uztveram ziņojumus nopietni, neizslēdzam ziņotāju no procesa un pasakām, kad labojums tiks publicēts.