Дадаць кліента VPN без перабудовы CA
Яшчэ адна прылада — гэта рэгістрацыя, а не новая ўстаноўка. Вырашайце па стане эмітэнта, захаванні ключа і ідэнтычнасці сервера: падпішыце запыт або плануйце поўны перавыпуск.
Патрэбен яшчэ адзін сертыфікат для яшчэ аднаго ноўтбука, але першы ўрок у выніках пошуку пачынаецца з каманды, якая знішчае каталог PKI. Гэтая каманда належыць першай наладзе, а не рэгістрацыі; яе запуск каштуе CA, гісторыю выпуску і ўсе профілі кліентаў, якія давяралі старому эмітэнту. Рашэнне вузейшае: ці мае ваш эмітэнт прыдатны стан і ці адпавядае новая прылада вашай палітыцы рэгістрацыі? Тры ўмовы вырашаюць гэта, і толькі адна апраўдвае перабудову.
Што насамрэч знішчае перабудова
Пераініцыялізацыя PKI замяняе каталог пустой структурай: новы ключ і сертыфікат CA, пустая база выпуску, новы лічыльнік серый. Кліенты не ідуць за гэтым самі; іх профілі замацоўваюць стары CA, таму кожную прыладу трэба рэгістраваць нанова, а недасяжныя — уручную.
Цішэйшая страта — улік. Адкліканне залежыць ад таго, ці ведаеце вы, якія серыі каму выдалі. Ачысціце індэкс — і вы можаце падпісваць, але не скажаце ўпэўнена, якія з выдадзеных сертыфікатаў хацелі адклікаць. Каталог CA з сертыфікатамі без стану эмітэнта — гэта рэзервовая копія, якая вяртае не тую палову сістэмы.
Капіяванне прыватнага ключа CA побач з працуючым серверам — іншы кароткі шлях, ад якога варта адмовіцца: ён робіць паўнамоцтвы подпісу, якія павінны быць па-за сеткай, яшчэ адным файлам на хасце.
Умова першая: стан эмітэнта дасяжны?
Спачатку знойдзіце каталог, якому сервер сапраўды давярае. Параўнайце сертыфікат, які сервер падае як CA, з тым у каталогу PKI па адбітку, а не па імені файла:
openssl x509 -in ca.crt -noout -fingerprint -sha256
openssl x509 -in /etc/openvpn/ca.crt -noout -fingerprint -sha256Калі адбіткі супадаюць, рэгістрацыя інкрэментная і перабудова не патрэбна. Калі не — вы падпішаце CA, якому сервер не давярае: сертыфікат усталюецца чыста і збанкрутуе на рукапоціску, а гэтую памылку гадзінамі блытаюць з памылкай кліента.
Затым шукайце стан выпуску: файл індэкса, лічыльнік серый і файл нумара CRL. Калі індэкса няма, а ключ ёсць, вы можаце выдаваць, але атрымаеце праблему з улікам адкліканняў. Запішыце гэта ў журнал змен, бо наступны запыт на адкліканне гэта выявіць.
Умова другая: у каго новы прыватны ключ?
Гэта рашэнне адчуваюць карыстальнікі, таму вырашайце яго яўна. Ключ, створаны кліентам і пададзены як запыт, пакідае прыватную частку на прыладзе з першай каманды, і адміністратар яе не кранае. Ключ, створаны серверам, прасцей для прылад без інструментаў запыту, але робіць адміністратара захавальнікам усіх ключоў і пашырае наступствы ўзлому сервера.
З Easy-RSA 3 супраць існуючага CA імпарт і подпіс запыту — дзве каманды:
./easyrsa import-req /tmp/alice.req alice
./easyrsa sign-req client aliceВыбірайце тып сертыфіката свядома. Запыт, падпісаны як серверны, а не кліенцкі сертыфікат, дае файл, што выглядае добра і адхіляецца партнёрам, а паведамленне пра памылку рэдка тлумачыць прычыну. Калі вы падпісваеце праз openssl ca, той жа выбар жыве ў пашырэннях, а не ў секцыі па змаўчанні.
Умова трэцяя: серверу патрэбна больш за сертыфікат?
Для звычайнага OpenVPN сервера з аўтэнтыфікацыяй па сертыфікатах сертыфікат і ёсць рэгістрацыя: агульнае імя становіцца ідэнтычнасцю кліента, і любы каталог, маршрут ці статычны адрас прывязаны да гэтага імя. Дадайце сертыфікат і забудзьце канфігурацыю — тунель злучыцца, а патрэбныя маршруты не з’явяцца.
Платформы гэта змяняюць. OpenVPN Access Server трымае сваю базу карыстальнікаў, таму падпісаны сертыфікат — не ўліковы запіс; запіс мусіць існаваць і быць дазволены. Іншыя шлюзы прывязваюць радок ідэнтычнасці да групы. Рэгістрацыя адной прылады звычайна закранае дзве сістэмы, і сертыфікат толькі першая.
Інкрэментная працэдура і выпадак перабудовы
Паслядоўнасць, якая дадае адну прыладу без страт: пацвердзіце эмітэнт па адбітку, зрабіце свежую копію каталога PKI, імпартуйце і падпішыце запыт для ролі кліента, перадайце сертыфікат з ланцужком праз дазволены канал, потым праверце да падключэння:
openssl verify -CAfile ca.crt alice.crt
openssl x509 -in alice.crt -noout -subject -issuer -dates -purposeРадок прызначэння павінен паказваць SSL client. Завяршыце абнаўленнем копіі CA пасля выпуску, бо копія да запісу новай серыі верне стан без прылады, якую вы толькі што дадалі.
Перабудова слушная ў трох выпадках: ключ CA скампраметаваны, стан выпуску безнадзейна страчаны або вы свядома змяняеце алгарытм ключа ці палітыку сертыфікатаў. Усе тры — праекты з планам перарэгістрацыі кожнага кліента, а не крокі запыту адной прылады. Калі нічога не стасуецца, рэгіструйце інкрэментна і не чапайце эмітэнт.