Git'теги OpenVPN профили: commit алдында эмнени алып салуу керек
Файлды ичине камтылган ачкычтарга карап окуңуз, репозиторий эмнени тарата аларын чечиңиз жана тарыхты кайра жазбастан мурун жокко чыгарыңыз.
Профилдер бир эле учурда эки максатка кызмат кылат: алар туташуу жөндөөлөрүн жазышат жана иштеген күбөлүктөр топтомун алып жүрүшөт. Файлдын кеңейтүүсү сиздин колуңузда кайсынысы бар экенин айтпайт. Ал репозиторийге таандык деп чечмеден мурун мазмунун окуңуз.
Төмөнкү кадамдар кардар үлгүсү версия көзөмөлү үчүн каралып жатканын болжолдойт. Аларды тартиби менен аткарыңыз жана жокко чыгара албаган нерсени commit кылбастан мурун токтогула.
Индексге кошкуну жаткан файлды окуңуз
Чыныгы байттардан баштаңыз, анткени өзүнчө файлдарга шилтеме кылган профиль аларды өзүнө камтыган профилден такыр башкача көрүнөт. PEM блогынын белгилерин жана ca, cert, key, tls-auth жана tls-crypt аталган ички тегдерди издеймиз, ошол эле текшерүү эки учурду тең көрсөтөт. Шифрленген жеке ачкыч дагы эле сезимтал материал болуп эсептелет, ал эми жалпы tls-auth же tls-crypt ачкычы колдонуучунун инсандыгы болбосо да күбөлүк болуп саналат. Профиль менен бирге индекске кошулган бардык нерсеге, анын ичинде күбөлүк файлына шилтеме кылган архивдер менен орнотуу скрипттерине да ошол эле текшерүүнү колдонуңуз.
Андан кийин жумуш бактына эмес, индекске кошулган топтомго караңыз. git diff --cached commit чындыгында эмнени камтый турганын көрсөтөт, жана бул чечим үчүн маанилүү болгон жалгыз версия ошол.
Репозиторий эмнени тарата аларын чечиңиз
Үлгү жалпы, текшерилген жөндөөлөрдү жана адам каттоо учурунда алган бардык нерсе үчүн аталган орун толтургучтарды алып жүрө алат. Ал алып жүрө албаган нерсе — колдонууга жарактуу инсандык, анткени репозиторий аны окуй алгандардын баарына, анын ичинде автоматташтырууга таратылат. Жеке репозиторий аудиторияны куушурат, бирок ар бир окуучунун ошол күбөлүккө ыйгарым укуктуу экендиги тууралуу суроону өзгөртпөйт.
Этибарсыз калтыруу эрежеси келечектеги кошумчаларды болтурбайт жана буга чейин жазылган нерсеге эч нерсе кылбайт. Бул асимметрияны ондуктан кийин эмес, биринчи commit алдында сиңирип алуу керек. Инфраструктуранын аттары жана дареги өзүнчө ой жүгүртүү: алар аутентификация купуялары эмес, бирок команда жарыялоону көздөгөндөн көбүрөөк ачып бере алат. Ар бир сапты сырсөз же ачык деп бөлүүнүн ордуна ошол чечимди ачык кабыл алыңыз.
Материал тарыхта бар болсо
Жаңы commit'те сапты алып салуу эски версияны аны тартып алган ар ким үчүн бүтүн бойдон калтырат. Ачылышка чыныгы нерсе катары мамиле кылыңыз: күбөлүктүн түрүн аныктаңыз, анан аны жараксыз кыла алган органды табыңыз. Кардар сертификаты жокко чыгарылат жана жокко чыгаруу тизмеси кайра жаралат; жалпы башкаруу каналынын ачкычы серверде жана аны колдонгон ар бир кардарда алмаштырылат.
Экөөнүн таасир радиусу абдан башка, жана план баштаардан мурун кайсынысын аткарып жатканыңызды көрсөтүшү керек. Материалды киргизген commit'ти git log --all -S 'BEGIN PRIVATE KEY' сыяктуу издөө менен табыңыз, тазалоо көлөмү болжол эмес, белгилүү болушу үчүн. Кесиптештин клону же форку эски объектини мурунтан эле кармашы мүмкүн, ошондуктан жокко чыгаруу биринчи, тазалоо экинчи келет.
Бекемдегенден кийин гана тазалаңыз
Тарыхты кайра жазуу сиз түзөткөн commit'тен кийинки ар бир commit'ти өзгөртөт, ошондуктан адегенде репозиторийдин ээсинин жана анда иштеген адамдардын макулдугу керек. Мажбурлап push кылуу оңдоо эмес; ал өзүнүн кайтаруу тобокелдиги бар координация окуясы. Аны пландаштырыңыз, камдык көчүрмө алыңыз жана командага качан болорун айтыңыз.
Андан кийин куралдын корутундусуна ишенүүнүн ордуна учурдагы бакты жана калган тарыхты текшериңиз.
Натыйжаны эки артефакт катары сактаңыз: бөлүшүүгө коопсуз үлгү жана каттоо процессинде берилген күбөлүктөрдүн тизмеси. Экөөнүн эч бири репозиторийде колдонууга жарактуу инсандык жашашын талап кылбайт.
Ошол бөлүү — чыныгы оңдоо, жана ал профилди commit кылгысы келген кийинки адамдан кийин да жашайт.