VPN жеке ачкычы кайда жашоосу керек: файл, CNG же TPM?
VPN инсандыгы үчүн ачкыч файлы, экспорттолбой турган программалык кампа жана TPM ортосунда тандап, тандоону буйруктар жана кайтаруу планы менен далилдеңиз.
Эки суроо VPN жеке ачкычынын кайда экенин аныктайт: ачкыч материалын хосттон көчүрүүгө болобу жана процесс аны клавиатурада эч ким жок кезде колдоно алабы. Кампанын маркетингдик белгиси экөөнө тең жооп бербейт. Көчүрүүдөн кийин кайтышы керек болгон туннель демону көзөмөлсүз колдонууну талап кылат, бул адам киргизген PINге байланган нерселердин баарын жокко чыгарат.
Көчүрүү менен колдонуунун ортосунда тандаңыз
Көчүрүү жана колдонуу ар кандай жол менен ишке ашпайт, ошондуктан аларды бир эмес, эки талап катары караңыз. Ачкыч байттарын окуй алган чабуулчу инсандыкты башка хостко алып кетет, ал эми баштапкы машина муну байкабайт. Байттарды окуй албаган, бирок кол тамга процессине жете алган чабуулчу бул жетүү уланганча аутентификациядан өтө берет.
Файлдагы ачкыч тривиалдуу түрдө көчүрүлөт, ошондуктан аны сактоо жана калыбына келтирүү да эң оңой. Программалык ачкыч кампасы чекти эмес, APIни өзгөртөт: провайдер өзүнүн экспорт чакырууларын четке кагат, бирок ачкычты орноткон ошол эле администратордук контексттин материалга башка жолдору көбүнчө бар. Программалык провайдерде экспорттолбой тургандык колдоого алынган операциялар тууралуу билдирүү, аппараттык дубалдын далили эмес. Аны кокустан көчүрүүгө каршы тормоз катары караңыз, сессияңызды мурун эле кармаган адамдан коргоо катары эмес.
TPM же смарт-карта кол тамга операциясын аппараттык ичинде аткарат жана бир гана натыйжаны кайтарат. Бул көчүрүү жолун жабат, колдонуу жолун кол тамга сурай алган нерселердин баарына ачык калтырат.
Кампаны туннель демонуна шайкештештириңиз
Демон муну коопсуздук саясатынан да көбүрөөк чектейт. WireGuard файлдан же wg set киргизүүсүнөн base64 жеке ачкыч алат жана сертификат кампасына жолу жок, ошондуктан TPM колдогон интерфейс ачкычы сөзгө келбейт. OpenSSL 3кө каршы курулган OpenVPN ачкычты провайдер URI аркылуу жүктөй алат, ал эми strongSwan PKCS#11 колдоосунун жанында TPM плагинин жеткирет, бирок экөө тең пакетиңиздин кантип курулганына байланыштуу.
Тандалган кампага жете албаган демон аппараттык чекти жасалгага айландырат. Бирөө ачкычты бир жолу экспорттоп, файлда калтырат, ал эми долбоордун калганы ошол көчүрмөдө тынч иштейт.
Жаңыртуу шайкештиктин экинчи жарымы, жана көпчүлүк долбоорлор так ушул жерде кыйрайт. Биринчи каттоодо иштеген, бирок ар бир кайра чыгаруу үчүн консолго кирүүнү талап кылган кампа, сертификат ыңгайсыз саатта бүткөндө биринчи жолу айланып өтүлөт. Учурдагы ачкычтын дагы айлары бар кезде кайра чыгаруу жолун сынаңыз.
Ачкычты жылдыруудан мурун инвентарлаңыз
Ачкычтын эмне экенин, анын кайда жашаарын өзгөртүүдөн мурун жазып алыңыз, анткени subject alternative names жоготкон миграция туннелди маршруттоо катасы катары окулган түрдө бузат. Сертификатты чыгарыңыз, жеке ачкычтын демон күткөн жерде окулаарын ырастаңыз жана жуптун чын эле дал келерин текшериңиз.
openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256
Акыркы эки корутунду бирдей болушу керек. Эгерде андай болбосо, демон орнотууну бүтүрөт, анан ар бир аракетте чыныгы себепке жакын эмес сертификат же кол тамга катасы менен ишке ашпайт. WireGuard баламасы кыскараак, анткени ачык ачкыч түздөн-түз жекеден чыгарылат: wg pubkey < /etc/wireguard/wg0.key сервериңиз мурун эле сактаган шерик ачкычын чыгарышы керек.
Укуктар ошол эле инвентарга таандык. stat -c '%a %U:%G' /etc/wireguard/wg0.key 600 root:root кайтарышы керек, ал эми топко же дүйнөгө окулган нерселердин баары ачкычтын сиз эч качан ойлобогон процесстерге мурун эле жеткиликтүү болгонун билдирет.
Кампаны жана колдонуу жолун текшериңиз
Текшерүүнүн үч бөлүгү бар, үчүнчүсү өткөрүп жиберилет. Ачкычтын тандалган кампада бар экенин ырастаңыз, демон ошол ачкычты жүктөгөнүн, калган көчүрмөнү эмес, ырастаңыз жана анан экспорт артефакты жок кезде дагы эле башталаарын ырастаңыз.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
Windowsта биринчи буйрук жеке кампаны тизмелеп, ар бир жазуунун жанына ачкыч провайдерин басып чыгарат, жана ошол жерде аппараттык корголгон окшогон, бирок программалык провайдерде отурган сертификат чыгат. Экинчиси платформалык криптопровайдер кармаган ачкычтарды тизмелейт, ошондуктан сертификаты бар болгондо ошол жерде жок VPN инсандыгы жеке жарымы башка жерде жашаарын билдирет. Linux дарбазасында ipsec listcerts strongSwan эмнени жүктөгөнүн, TPM плагининен келген ачкычтарды кошуп билдирет. Жазуу санына ишенүүнүн ордуна манжа изин же ачык ачкыч хэштерин инвентар менен салыштырыңыз.
Терс тест — долбоорду далилдеген тест. Экспорттолгон ачкычты демондун конфигурациялык каталогунан сыртка жылдырыңыз, кызматты кайра баштаңыз жана журналда кандай инсандык сунуштаарын окуңуз. Баары бир көтөрүлгөн туннель кампаны колдонот; ишке ашпаган баштоо долбоор чын эле көчүрмөдө иштегенин билдирет.
Жаңыртууну жана кайтарууну жазыңыз
Кайтаруу эки үй-бүлөнүн ортосунда катуу айырмаланат, жана бул айырма долбоордук жазууга таандык, инцидент чалуусуна эмес. Файлдагы ачкычты шифрлеп сактоого жана калыбына келтирүүгө болот, ошондуктан ишке ашпаган миграция кайтарылат. Экспорттолбой турган ачкычты такыр сактоого болбойт, бул түзмөк өлгөндө кайра чыгаруу жана кайра каттоо жалгыз калыбына келтирүү жолуна айландырат.
Мөөнөттүн бүтүшүн үзгүлтүккө айланганга чейин текшериңиз: openssl x509 -in vpn.crt -noout -checkend 2592000 сертификат отуз күндүн ичинде бүткөндө нөл эмес код менен аяктайт, ошондуктан мониторинг текшерүүсүнө түз кирет. Бул сапты жума сайын иштетүү эч ким пландабаган жаңыртууну кармайт.
Жоюу серверде болот: шерикти жок кылыңыз же сериялык номурду кайтарып алыңыз, анан туннелдин ишке ашпаганын ырастаңыз, анткени кэштелген сессиясы бар кардар жарым аткарылган кайтарып алууну бир аз убакыт жашыра алат. Кайтарып алуу CA маалымат базасына гана эмес, концентратордун CRL же OCSP жолуна да жетиши керек. Сертификат — ачык документ, жана RFC 5280 профили анын кантип текшерилерин камтыйт; бул текшерүүнүн эч бир бөлүгү ротацияга чейин көчүрүлгөн жеке ачкычты коргобойт.
Чечимди бир жерге жазыңыз: кайсы кампа ачкычты кармайт, кайсы процесс аны колдоно алат, ким аны кайра чыгара алат жана кайтаруу кандай. Аудиторлор сураган абзац — ошол, жана кадрлардын алмашуусунан аман калганы — ошол.