OpenVPN profils Git: ko izņemt pirms iesniegšanas
Izlasiet failu, meklējot iegultās atslēgas, izlemiet, ko repozitorijs drīkst izplatīt, un atsauciet pirms vēstures pārrakstīšanas.
Profili vienlaikus kalpo diviem mērķiem: tie reģistrē savienojuma iestatījumus un nes strādājošu akreditācijas datu kopumu. Faila paplašinājums neko nepasaka par to, kuru no abiem jūs turat rokās. Izlasiet saturu pirms izlemjat, ka tas pieder repozitorijam.
Tālāk minētie soļi pieņem, ka tiek apsvērta klienta veidne versiju kontrolei. Veiciet tos secīgi un apstājieties pirms iesniedzat kaut ko, ko nevarat atsaukt.
Izlasiet failu, ko gatavojaties iekļaut indeksā
Sāciet ar faktiskajiem baitiem, jo profils, kas atsaucas uz atsevišķiem failiem, izskatās pilnīgi citādi nekā tas, kas tos iegulst. Meklējiet PEM bloka marķierus un iegultos tagus ar nosaukumiem ca, cert, key, tls-auth un tls-crypt, un tā pati pārbaude parādīs abus gadījumus. Šifrēta privātā atslēga joprojām tiek uzskatīta par sensitīvu materiālu, un kopīga tls-auth vai tls-crypt atslēga ir akreditācijas dati, pat ja tā nav lietotāja identitāte. Piemērojiet to pašu pārbaudi visam, kas tiek iekļauts indeksā kopā ar profilu, tostarp arhīviem un instalācijas skriptiem, kas atsaucas uz akreditācijas datu failu.
Pēc tam skatieties uz sagatavoto kopumu, nevis darba koku. git diff --cached parāda, ko iesniegšana patiešām saturēs, un tā ir vienīgā versija, kam šajā lēmumā ir nozīme.
Izlemiet, ko repozitorijs drīkst izplatīt
Veidne var nest kopīgos, pārbaudītos iestatījumus un nosauktos vietas turētājus visam, ko cilvēks saņem reģistrācijas laikā. To, ko tā nevar nest, ir lietojama identitāte, jo repozitorijs tiek izplatīts visiem, kas to var lasīt, tostarp automatizācijai. Privāts repozitorijs sašaurina auditoriju, bet nemaina jautājumu, vai katrs lasītājs ir pilnvarots šiem akreditācijas datiem.
Ignorēšanas noteikums novērš turpmākus papildinājumus un neko nedara ar jau reģistrēto. Šo asimetriju ir vērts apzināties pirms pirmās iesniegšanas, nevis pēc desmitās. Infrastruktūras nosaukumi un adreses ir atsevišķs vērtējums: tie nav autentifikācijas noslēpumi, taču var atklāt vairāk, nekā komanda plāno publicēt. Pieņemiet šo lēmumu skaidri, tā vietā lai katru rindu iedalītu paroles vai publiskajā kategorijā.
Ja materiāls jau ir vēsturē
Rindas noņemšana jaunā iesniegumā atstāj veco versiju neskartu ikvienam, kas to lejupielādē. Uztveriet atklāšanu kā reālu: nosakiet akreditācijas datu veidu, pēc tam atrodiet iestādi, kas to var anulēt. Klienta sertifikāts tiek atsaukts un atsaukšanas saraksts tiek ģenerēts no jauna; kopīgā vadības kanāla atslēga tiek nomainīta serverī un katrā klientā, kas to izmanto.
Abiem ir ļoti atšķirīgs ietekmes rādiuss, un plānam pirms sākšanas jānorāda, kuru jūs izpildāt. Atrodiet iesniegumu, kas ieviesa materiālu, ar meklēšanu tipā git log --all -S 'BEGIN PRIVATE KEY', lai tīrīšanas apjoms būtu zināms, nevis minēts. Kolēģa klons vai atzars jau var turēt veco objektu, tāpēc atsaukšana nāk pirmā un tīrīšana otrā.
Tīriet tikai pēc ierobežošanas
Vēstures pārrakstīšana maina katru iesniegumu pēc tā, ko rediģējat, tāpēc vispirms nepieciešama repozitorija īpašnieka un tajā strādājošo cilvēku vienošanās. Piespiedu push nav remonts; tas ir koordinācijas notikums ar savu atritināšanas risku. Ieplānojiet to, izveidojiet dublējumu un pastāstiet komandai, kad tas notiks.
Pēc tam pārbaudiet pašreizējo koku un atlikušo vēsturi, nevis paļaujieties uz rīka kopsavilkumu.
Saglabājiet rezultātu kā divus artefaktus: veidni, ko droši koplietot, un reģistrācijas procesā izsniegto akreditācijas datu sarakstu. Neviens no tiem neprasa, lai repozitorijā dzīvotu lietojama identitāte.
Šī atdalīšana ir īstais risinājums, un tā pārdzīvo nākamo cilvēku, kurš gribēs iesniegt profilu.