tls-crypt-v2 профилін билетке қою, файлда не бар екенін санағанша зиянсыз көрінеді. Клиенттің басқару арнасының кілті сол кілттің шифрланған көшірмесінің қасында тұрады, ал үшінші нысан — орау кілті қабылдайтын серверден ешқашан шықпайды. Бұл үшеуі сақтау, бөлісу және шығару туралы әртүрлі сұрақтарға жауап береді. Оларды бөлу көптеген саясат дауларын басталмай тұрып шешеді.

Профиль шын мәнінде неден тұрады

tls-crypt-v2-нің клиенттік жартысы — кілт және оның оралған көшірмесі. Клиент ашық кілтті басқару арнасын қорғау үшін пайдаланады және орнату кезінде оралған көшірмені серверге береді, сондықтан сервер әр клиент үшін ашық көшірме сақтамай-ақ сол кілтті қалпына келтіреді. Орау кілті сол қалпына келтіруді мүмкін етеді және тек қабылдаушы жаққа тиесілі. Төмендегінің бәрі осы үш нысанның қайда тұратынынан туындайды.

ObjectWhere it livesWhat can open itWhat a leak costs
Server wrapping keyaccepting servers onlythe unwrap step inside the serverevery wrapped copy issued to that group becomes readable
Wrapped client keyinside the client profilethe server wrapping keyit names a client and exposes its metadata, but not the key inside
Client control keyinside the client profile, usable as-isthe client that owns itsomeone can open handshakes as that client until the server refuses the key

Кестені атауы бойынша емес, сақтау тұрғысынан оқыңыз, сонда салдар өзі айқындалады. Орау кілтін жоғалту — қымбат оқиға, өйткені профильде оны қайта құра алатын ештеңе жоқ және адал қалпына келтіру — топты қайта шығару. Сынып кеткен профиль арзанырақ, бірақ әлдеқайда жиі кездеседі, өйткені адамдар оралған көшірме файлды бөлісуге қауіпсіз етеді деп сеніп, профильді билеттерге қояды. Екі сәтсіздік әртүрлі жауап қажет етеді, сондықтан нысандар бөлек ұсталады.

Неге оралған көшірме бүкіл әңгіме емес

Профиль пайдалы клиенттік материалды оралған жұбымен бірге алып жүреді, сондықтан сервер үшін көшірмені қорғау файлды қорғау туралы ештеңе айтпайды. Blob жіберуге қауіпсіз, ал жариялауға қауіпсіз емес. Оның ішіндегі метадеректер blob-ты алған кез келген адамға көрінеді, соның ішінде ол қойылған билетті кейін оқитын адамға да.

Профильді конфигурация үлгісі емес, тіркелгі деректері ретінде қарастырыңыз. Сынып кеткен файл иесіне сервер бұл сәйкестікті қабылдауды тоқтатқанша жұмыс істейтін клиент сәйкестігін береді, ал орау сол терезеге қатысты ештеңе істемейді. Әр клиентке бір профиль шығарыңыз, сонда кері шақыру бір файлдың шешімі болып қалады, және орау кілтінің сақтық көшірмесін ол қосатын сервер конфигурациясынан бөлек жасаңыз. Екі әдет те бұзылған профильді қалпына келтірмейді, бірақ екеуі де келесісінің қаншалықты тез тежелетінін анықтайды.

Тексеру ілмегі қол алысуда қайда тұрады

Тексеру ілмегі TLS дестесі ашылудан бұрын жұмыс істейді, оның міндеті — оралған blob-та тасымалданатын метадеректерді тексеру. Ол сол метадеректерді және кішкентай, құжатталған ортаны алады, және аутентификация ілмегіне қарағанда оның жұмыс істейтін материалы азырақ. Ол пайдаланушы атын, сессия күйін немесе плагин айнымалыларын көреді деп болжау — бұл ілмектің нашар жазылуының әдеттегі жолы. Басқа ілмектен күтулерді қарызға алмай, ілмектің өз нұсқаулық бөлімін оқыңыз.

Оның шығу мәртебесі — шешім: нөлге тең емес нәтиже клиенттен бас тартады, ал нөлдік нәтиже қол алысуды жалғастыруға мүмкіндік береді. Сондықтан саясат метадеректер жоқ болғанда, талданбағанда немесе күтпегенде не болатынын айтуы керек. Алдымен бас тарту жолын жазыңыз, содан кейін қандай мәндер қолайлы екенін шешіңіз.

tls-crypt-v2 /etc/openvpn/server/tcv2-server.key
tls-crypt-v2-verify /etc/openvpn/server/verify-client-metadata.sh

Бұл екі жол сервердегі саясат беті: біреуі орау кілтін атайды, екіншісі әр клиентті бағалайтын бағдарламаны атайды. Қызықтың бәрі скриптте өмір сүреді, ол нұсқаларды басқаруға және кез келген басқа қатынау ережесіндей қарауға лайық.

Тіркелгі, сертификат және басқару кілті бөлек шығады

Басқару арнасын ерте қабылдау — аутентификация емес, өйткені ол TLS сәйкестігін тексеруден бұрын және кез келген тіркелгі авторизациясынан бұрын болады. Тіркелгіні өшіру, сертификатты қайтарып алу және клиенттің басқару кілтінен бас тарту — үш механизмі бар үш әрекет. Олардың тек біреуін орындайтын орналастыруда саясат емес, олқылық бар. Үшеуін әдейі үйлестіріңіз және қай қадам қай өкілеттікті жүзеге асыратынын жазып қойыңыз.

Уақыт — екінші айырмашылық. Өзгерген қабылдау тізімі жаңа қол алысуларға қолданылады, ал бұрыннан орнатылған сессиялар бірдеңе оларды тоқтатқанша жалғаса береді. Жаңа тізімдегі жазбаларды ескі сессиялардың аяқталғанының дәлелі ретінде санау — жойылған клиенттің сағаттар бойы қосылып тұруының жолы.

Үйлестірілмеген өкілеттіктер тәжірибеде оңай табылатын екі тесік қалдырады. Тіркелгі өшірілген күйде болуы мүмкін, ал оның басқару кілті әлі қол алысуды ашады, және сертификат қайтарып алынған болуы мүмкін, ал метадеректер саясаты сол клиентті әлі қабылдайды. Екеуі де әртүрлі жерлердегі бірдей қате, өйткені оператор бір тізімді бүкіл өкілеттік деп қарады. Жою кезінде үш тізімді қатар қойыңыз, сонда қате көрінеді.

Профильді шығару және кері шақыру

Шығару — жеңіл жартысы: қабылдаушы жақта клиент кілтін жасаңыз, профильді дәл бір иеге беріңіз, орау материалын шектеулі ұстаңыз және әр қабылдаушы серверде сол тексеру бағдарламасын іске қосыңыз. Арзан қабылдау — бүкіл топтың қасиеті, ең жаңа хосттың емес. Ескірірек немесе босаңырақ скрипті бар екінші сервер орналастырудың ең әлсіз жолына үнсіз айналады.

Кері шақыру үш қадамды әдейі ретпен талап етеді. Жаңа қол алысулар сәтсіз болуы үшін клиенттен тексеру ілмегінде бас тартыңыз, егер PKI пайдаланылса, оның сертификатын қайтарып алыңыз және тіркелгіні өшіріңіз, сонда кейінгі авторизацияда авторизациялайтын ештеңе қалмайды. Содан кейін ескі қабылдау рұқсат еткен сессияларды тоқтатыңыз, өйткені олар үшеуінің ешқайсысын байқамайды. Реттілікті сындыруға болатын клиентте жаттығыңыз.

Профильдегі метадеректер — сол саясаттың кірісі, ал қатынауды бақылау бұрыннан бар екенінің дәлелі емес. OpenVPN 2.6 дизайн құжаты нысандарды және олар тартатын шекараны сипаттайды, ал оларды орындау операторға қалады.

Қатысты мақалалар