Два каталогі, што выглядаюць падобна ў інструкцыі, выконваюць цалкам розныя задачы. Адзін трымае цэнтр сертыфікацыі: яго прыватны ключ, лічыльнік серый і запіс усяго, што ён падпісаў. Другі трымае тое, што патрэбна дэману для запуску і абслугоўвання кліентаў. Трымаць абодва на адным хосце пад адным уліковым запісам зручна на адзін дзень і дорага для ўсяго наступнага жыцця разгортвання, бо дэман тады працуе побач з адзіным ключом, здольным стварыць любую ідэнтычнасць.

Што змяшчае працоўная прастора 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.

Гэтыя тры праверкі займаюць некалькі хвілін і перажываюць змены супрацоўнікаў, бо гэта сцверджанні пра правы, а не пра звычку. Запішыце вынік разам са шляхамі і ўліковымі запісамі, якія ён ахапіў, і датай правядзення. Інакш наступны чалавек, што атрымае гэтае разгортванне, зноў выведзе мяжу з інструкцыі, дзе яе ніколі не было. Датаваны запіс — гэта таксама тое, што робіць наступны агляд справай некалькіх хвілін, а не цэлага паўдня.

Падобныя артыкулы