OpenVPN CA қолтаңба кілтін /etc/openvpn сыртында ұстаңыз
CA жұмыс кеңістігі сәйкестіктерді шығарады; қызмет тек орналастырылған материалды тұтынады. Әр рөлге жеке тіркелгі, каталог және резервтік көшірме беріп, екеуін де тексеріңіз.
Оқулықта ұқсас көрінетін екі каталог мүлде басқа жұмыс атқарады. Біреуі сертификат билігін ұстайды: оның жеке кілтін, реттік санағышын және өзі қол қойғанның бәрінің жазбасын. Екіншісі демонның іске қосылуы мен клиенттерге қызмет көрсетуіне керегін ұстайды. Екеуін бір хостта бір тіркелгі астында ұстау бір түстен кейінге ыңғайлы, ал орналастырудың қалған өміріне қымбат, өйткені сонда демон кез келген сәйкестік жасай алатын жалғыз кілттің қасында жүреді.
CA жұмыс кеңістігінде не бар
PKI каталогы — шығарушының күйі, конфигурация емес. Онда CA жеке кілті мен сертификаты, реттік файл, шығарылған сертификаттар индексі және олардан жасалған әр сәйкестіктің материалы бар.
Сұранысқа қол қою сол күйді өзгертеді, сондықтан жұмыс кеңістігі VPN қызметі жүрмейтін хосттағы әкімші басқаратын тіркелгіге тиесілі. CA жеке кілтін оқи алған адам сервер сенетін сертификат шығара алады, сондықтан кілтті қорғау — бір файлдағы бүкіл сенім үлгісі. Бір қадамды үнемдеу үшін оны екінші орынға көшіру қорғайтын екінші нәрсе мен ұмытатын екінші нәрсе жасайды. Әр қолтаңба реттікті арттырып, индекске жазба қосады, сондықтан жұмыс кеңістігі — файлдар қалтасы емес, күйдің бір көшірмесі.
CA ашық сертификаты басқа. Ол таратуға арналған және клиенттер мен серверлер бір-бірін сонымен тексереді.
Демон іске қосылғанда нені оқиды
Жұмыс істеп тұрған сервер шағын жиынды тұтынады: өз сертификатын, өз жеке кілтін, серіктестерді тексеруге арналған CA сертификатын және таңдалған режим талап ететін кілт материалын. Ол бұл жолдарды іске қосылуда және қайта жүктеуде қайта оқиды.
Меншікті нақты іске қосатын бірлікке қатысты бағалау керек, интерактивті root қабығына қатысты емес. Жарияланған оқшаулау файл жүйесінің бір бөлігін тек оқуға болатын немесе көрінбейтін ете алады, тіпті root ретінде қолмен жасалған тексеру сәтті болса да.
systemctl show -p User -p Group -p ReadOnlyPaths [email protected]
stat -c '%a %U:%G' /etc/openvpn/server/server.key
runuser -u openvpn -- test -r /etc/openvpn/server/server.key; echo $?Үшінші жол — адамдар өткізіп жіберетін жол. Ол демонның өз тіркелгісінен кілтті оқи ала ма деп сұрайды, ал артықшылықтан айырылғаннан кейін бұл сұрақтың мәнге ие жалғыз түрі. root ретінде нөлдік шығу код артықшылықтан айырылғаннан кейін не болатыны туралы ештеңе айтпайды.
Кез келген рұқсатты өзгерту алдында екі ақау жолын бөлу керек. Қолтаңба сәтсіздігі PKI каталогын, оның ата-ана каталогтарындағы іздеу рұқсатын және шығарушыны жүргізетін тіркелгіні нұсқайды. Іске қосылу сәтсіздігі бірлікті, оның жұмыс каталогын және сервер конфигурациясында аталған жолдарды нұсқайды. Бүкіл ағашты бәріне оқуға болатын ету екеуін де түзетпейді және екеуі де тәуелді шекараны жояды.
CA кілтін серверге көшіру кейін неге сәтсіз болады
Көшірме әдетте жөндеу қадамы ретінде басталады: біреу VPN хостта клиентті жаңартқысы келеді, сондықтан CA кілті /etc/openvpn ішіне түседі және жаңарту жүреді. Жедел міндет орындалады, ал шекара жойылады.
Содан кейін сервердің резервтік көшірмесі алынады және қолтаңба билігі көшірмелерге қосылады. Снапшот, қолдау бумасы немесе конфигурация каталогының көшірмесі енді CA жарамды болғанша сенімді сәйкестіктер шығару мүмкіндігін алып жүреді. Сол көшірмені ұстаған адам сервер қабылдайтын кез келген атқа сертификат жасай алады, тіпті ешқашан шығарылмаған аттарға да. Сол шығарудың жалғыз жазбасы — олар сақтауды таңдағаны.
Мұндай күйден қалпына келу файлды жою мәселесі емес. Кілт ашылды ма, жоқ па шешу керек, ашылса CA-ны айналдыру керек және сенімді барлық серіктестерге қайта тарату керек. Бөлек жұмыс кеңістігі бүкіл әңгімені болдырмайды.
Тіркелгілер, каталогтар, резервтік көшірмелер
Шығарушыға жеке тіркелгі мен үй каталогын беріңіз, мүмкін болса VPN хосттан тыс ұстаңыз. Демонға басқа тіркелгі беріңіз, орналастырылған материалды оқу құқығымен және сертификат шығаратын ештеңеге жазу құқығынсыз. Ашық сертификаттарды сыртқа көшіру арқылы орналастырыңыз, ал шығарушының жеке күйін ешқашан ішке тартпаңыз. Екі рөлдің резервтік көшірмесін бөлек жасаңыз, өйткені олардың сезімталдығы мен қалпына келтіру тарихы әртүрлі.
Кері қайтарудан кейін сервер конфигурациясы атайтын CRL файлын жаңартыңыз, содан кейін жаңа қосылымдар оны оқитындай қызметті қайта жүктеңіз. Easy-RSA құжаттамасы жұмыс кеңістігінің құрылымы мен қол қою үдерісін қамтиды; оның айналасындағы меншік ережелері сіздің хост туралы шешім болып қалады. Қызмет нені жүктегенін openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate арқылы растаңыз, қайта жүктеу оны алды деп болжаудың орнына.
Бөлуді дәлелдейтін тест
Тек жұмыс істейтін жағдайды емес, теріс жағдайды да тексеріңіз. Жоба бойынша шығарушы тіркелгісінен сертификатқа қол қойыңыз, содан кейін сол тіркелгі қызметті іске қоса алмайтынын немесе сервердің жеке кілтін оқи алмайтынын растаңыз. Содан кейін демон тіркелгісі CA жеке кілтін оқи алмайтынын растаңыз.
Бұл үш тексеріс бірнеше минут алады және қызметкерлер ауысқанда да сақталады, өйткені олар дағды туралы емес, рұқсаттар туралы тұжырымдар. Нәтижені ол қамтыған жолдар мен тіркелгілермен және оларды іске қосқан күнмен бірге жазыңыз. Әйтпесе бұл орналастыруды мұрагерлікке алатын келесі адам шекараны онда ешқашан болмаған оқулықтан қайта шығарады. Күні жазылған жазба — келесі шолуды түстен кейін емес, бірнеше минутқа айналдыратын нәрсе.