VPN серверінің қадағалаусыз жаңартулары тексерілген қалпына келтіру жолын қажет етеді
Жаңарту серверге жету үшін қолданатын қызметтің өзін қайта іске қосуы мүмкін. Автоматтандыру алдында желіден тыс консольді тек туннель арқылы қалпына келтіру жоспарымен салыстырыңыз.
Қадағалаусыз жаңартулар өзінің VPN арқылы жететін сервер үшін ақылға қонымды саясат, әрі сонымен бірге өзіңіз жасаған жалғыз істен шығу нүктесі. Пакет операциясы қызметті қайта іске қосады, туннель құлайды және сіз пайдаланған әкімшілік жол онымен бірге жоғалады. Қалпына келтірудің екі моделі бар және олардың арасындағы таңдау бір шартқа байланысты: сізде жаңартылып жатқан нәрседен өтпейтін кіру жолы бар ма.
Екі қалпына келтіру моделі, бір шешуші шарт
Бірінші модель жаңартуға сенеді және одан кейін қайта қосыла аласыз деп есептейді. Ол VPN хостқа жетудің бірнеше жолының бірі болғанда және туннельдің істен шығуы оны диагностикалау қабілетіңізді жоймағанда жұмыс істейді. Екінші модель алдын ала тәуелсіз жолды, әдетте хостинг провайдерінің консолін орналастырады және туннельді техникалық қызмет көрсету бұзуы ықтимал нәрсе ретінде қарастырады. Екі модель де қорғауға болады, және олардың тек біреуі ғана алдын ала жұмысты қажет етеді.
Шешуші шартты айту оңай және оны өткізіп жіберу де оңай. Егер машинаға баратын барлық әкімшілік жол жаңартылып жатқан қызметтен өтсе, сізде қалпына келтіру моделі мүлде жоқ, тек күту бар. Мұны өзгеріс қарауында дауыстап айтыңыз.
Бұл шартты тексеру он минут алады және ол бірінші қадағалаусыз жаңартуға дейін болуы керек, оқиға кезінде емес. Барлығы жұмыс істеп тұрғанда консольді ашыңыз, тіркелгі деректерінің күшінде екенін растаңыз және оны қайта жабыңыз. Консоль сіз ойлаған хостқа ашылатынын растаңыз. Содан кейін түнде сағат 3-те шынымен қолданатын кірудің әлі жұмыс істейтінін растаңыз.
Соңғы бөлік естілгенінен де маңызды. Құпия сөзі алты ай бұрын ауыстырылып, ешқашан тексерілмеген консоль тіркелгісі қалпына келтіру жолы емес; ол осындай жолды сипаттайтын құжат.
Сақтық көшірме нені қалпына келтірмейді
Конфигурация мұрағаты файлдардың жазбасы, ал жаңарту файлдардан көбін өзгертеді. Пакет күйі, ядро модульдері, қосылған бірлік сілтемелері және бөлек құралмен қолданылған брандмауэр ережелері конфигурация қалтасынан тыс өмір сүреді, ал оларды елемейтін қалпына келтіру конфигурацияланған болып көрінетін және жібермейтін машина жасайды.
| What changed | Restored by a configuration backup | Needs its own action |
|---|---|---|
| Service unit or startup ordering | Partly, if the unit file was included | Package state and enabled links |
| Kernel module or interface support | No | Kernel or module rollback, or a boot-time decision |
| Peer or device authorization | Only if the backup predates the revocation | A deliberate decision about which peers return |
| Firewall rules applied outside the config | Only if they were captured | Replaying and verifying each rule |
Авторизация өз жолына лайық. Бұзылған құрылғыны алып тастау алдында алынған көшірме сол құрылғының қатынауын қуана қалпына келтіреді. Үзіліс кезінде оған қайта оралу бір оқиғаны екіге айналдыратын жол, және қалпына келтіру шешімі серіктестер туралы файлдар туралы қаншалықты анық болса, соншалықты анық қабылдануы керек.
Кері қайтару механизмі де маңызды. Ескі орындалатын файлды пакетпен басқарылатын файлдың үстіне көшіру пакет өзгерісінің қолдау көрсетілген кері қайтарылуы емес және пакет дерекқорын файлдық жүйе сәйкес келмейтін күйді сипаттауға қалдырады. Пакет менеджерінің өз төмендету жолын немесе провайдер ұсынатын суретті қолданыңыз. Пакет дерекқоры жазатын төмендетуді қайталауға болады.
Бұның ешқайсысы сақтық көшірмелерге қарсы емес. Бұл әр артефактінің қай қабатты жабатынын білу пайдасына, өйткені ішінара қалпына келтірудің істен шығу тәсілі бастапқы үзілістен де шатастырарлық. Runbook-та әр көшірменің қасына қабатты жазыңыз.
Бақылау нүктесі, жаңарту, содан кейін сырттан тексеру
Өзгеріске дейінгі күйді кейін салыстыруға болатын түрде жазыңыз: орнатылған нұсқалар, қатысты қызмет бірліктері, тыңдап тұрған сокеттер және ағымдағы серіктестер тізімі. Linux хостта төрт команда соның көбін қамтиды.
systemctl list-units --type=service | grep -E 'openvpn|wg-quick'
ss -lunp | grep -E ':51820|:1194'
journalctl -u wg-quick@wg0 --since '-10 min'
Біріншісі қандай бірліктер бар және олар жұмыс істеп тұрғанын көрсетеді, екіншісі тыңдаушының шынымен байланғанын растайды, үшіншісі соңғы минуттар туралы қызметтің өз әңгімесін береді. Олардың ешқайсысы клиенттің қосыла алатынын дәлелдемейді, сондықтан келесі қадам хосттан тыс жерде жасалады. Сол оқылымдарды салыстыру негізі ретінде сақтаңыз.
Туннельді пайдаланбайтын желіден тексеріңіз: бір рұқсат етілген клиентті аутентификациялаңыз, атауды шешіңіз және бір мақсатты қолданбаға жетіңіз. Интерфейстің көтерілгені туралы жергілікті күй жолы интерфейс туралы мәлімдеме, маршруттау, кілттер немесе серіктесті қабылдайтын саясат туралы емес.
Содан кейін қайта қосылу жолын әдейі сынап көріңіз. Қызметті бір рет қайта іске қосыңыз және туннельдің қолмен араласуынсыз қайта оралатынын растаңыз, өйткені тек жүктелу кезінде дұрыс басталатын қызмет сізді ең нашар сәтте таңқалдырады.
Ол сәтсіз болса, тексерілген жолды қолданыңыз
Қалпына келтіру реті әсем емес және ол жұмыс істейді: хостқа тәуелсіз жолмен жетіңіз, қызметтің өз журналдарын оқыңыз және істен шығуға сәйкес келетін нақты бақылау нүктесін қалпына келтіріңіз. Әр әрекетте бір нәрсені өзгертіңіз, сонда журналдың келесі оқылуы бірдеңе білдіреді.
Байланысты қайтару үшін бірнеше жазылмаған өзгеріс жасау ұмтылысына қарсы тұрыңыз. Бес бір мезгілдегі өңдеумен жөнделген машинаны кейін түсіндіру мүмкін емес, және келесі жаңарту шын мәнінде жүкті көтерген өзгерісті қайта әкеледі.
Содан кейін дәлелдермен тұрақты саясатты шешіңіз. Егер жаңарту ешкім құжаттамаған тәуелділікті ашса, түзету — құжаттама мен тест, жаңартуларды өшіру емес. Егер ол таза қайта іске қосыла алмайтын қызметті ашса, түзету бірлікте, кестеде емес.
Шарт аталған бойда салыстыру таза шешіледі. Тәуелсіз жол қадағалаусыз жаңартуларды басқаруға болатын тәуекелге айналдырады. Оның болмауы сол саясатты қалпына келтіру уақыты белгісіз жоспарлы үзіліске айналдырады, және автоматтандырудың ешбір мөлшері бұл арифметиканы өзгертпейді.