OpenVPN-i profiil Gitis: mida enne kinnitamist eemaldada
Lugege faili manustatud võtmete leidmiseks, otsustage, mida hoidla tohib levitada, ja tühistage enne, kui ajaloo ümber kirjutate.
Profiilid täidavad korraga kahte eesmärki: need salvestavad ühenduse seaded ja kannavad töötavat mandaatide kogumit. Faililaiend ei ütle teile midagi selle kohta, kumba neist te käes hoiate. Lugege sisu enne, kui otsustate, et see kuulub hoidlasse.
Järgmised sammud eeldavad, et kaalutakse kliendi malli versioonihalduse jaoks. Tehke need järjekorras ja peatuge enne, kui kinnitate midagi, mida te ei saa tühistada.
Lugege faili, mille kavatsete indeksisse lisada
Alustage tegelikest baitidest, sest eraldi failidele viitav profiil näeb välja hoopis teistsugune kui neid manustav profiil. Otsige PEM-ploki märgiseid ja manustatud silte nimega ca, cert, key, tls-auth ja tls-crypt, ja sama läbivaatus näitab teile mõlemat juhtu. Krüpteeritud privaatvõti loetakse endiselt tundlikuks materjaliks ja jagatud tls-auth või tls-crypt võti on mandaat ka siis, kui see ei ole kasutaja identiteet. Rakendage sama ülevaatust kõigele, mis lisatakse profiiliga koos indeksisse, sealhulgas arhiivid ja paigaldusskriptid, mis viitavad mandaadifailile.
Seejärel vaadake indeksisse lisatud komplekti, mitte tööpuud. git diff --cached näitab, mida kinnitus tegelikult sisaldab, ja see on ainus versioon, mis selle otsuse jaoks loeb.
Otsustage, mida hoidla tohib levitada
Mall võib kanda jagatud, üle vaadatud seadeid ja nimetatud kohatäiteid kõige jaoks, mida inimene registreerimisel saab. Mida see kanda ei saa, on kasutatav identiteet, sest hoidla levib kõigile, kes seda lugeda saavad, sealhulgas automatiseerimine. Privaatne hoidla kitsendab publikut, muutmata küsimust, kas iga lugeja on selle mandaadi jaoks volitatud.
Eiramisreegel takistab tulevasi lisamisi ja ei tee midagi selle kohta, mis on juba kirjas. See asümmeetria tasub omaks võtta enne esimest kinnitust, mitte pärast kümnendat. Taristu nimed ja aadressid on eraldi otsus: need ei ole autentimissaladused, kuid võivad paljastada rohkem, kui meeskond kavatseb avaldada. Tehke see otsus selgesõnaliselt, selle asemel et liigitada iga rida parooliks või avalikuks.
Kui materjal on juba ajaloos
Rea eemaldamine uues kinnituses jätab vana versiooni puutumata kõigile, kes selle tõmbavad. Käsitlege paljastust tõelisena: tehke kindlaks mandaadi liik ja leidke siis asutus, mis saab selle kehtetuks tunnistada. Kliendisertifikaat tühistatakse ja tühistusnimekiri luuakse uuesti; jagatud juhtkanali võti asendatakse serveris ja igas kliendis, mis seda kasutab.
Kahel on väga erinev mõjukera, ja plaan peaks enne alustamist ütlema, kumba te täidate. Leidke kinnitus, mis materjali sisse tõi, otsinguga tüüpi git log --all -S 'BEGIN PRIVATE KEY', et puhastuse ulatus oleks teada, mitte oletatud. Kolleegi kloon või fork võib vana objekti juba hoida, seepärast tuleb tühistamine esimesena ja puhastamine teisena.
Koristage alles pärast piiramist
Ajaloo ümberkirjutamine muudab iga kinnitust pärast seda, mida muudate, seega vajab see esmalt hoidla omaniku ja selles töötavate inimeste nõusolekut. Sunniviisiline tõuge ei ole parandus; see on koordineerimissündmus, millel on oma tagasipööramise risk. Planeerige see, tehke varukoopia ja öelge meeskonnale, millal see juhtub.
Seejärel kontrollige praegust puud ja ülejäänud ajalugu, selle asemel et usaldada tööriista kokkuvõtet.
Hoidke tulemust kahe artefaktina: mall, mida on turvaline jagada, ja registreerimisprotsessi käigus väljastatud mandaatide loend. Kumbki ei nõua, et hoidlas elaks kasutatav identiteet.
See eraldus on tegelik parandus ja see elab üle järgmise inimese, kes soovib profiili kinnitada.