OpenVPN'дин script-security деңгээлдери 0дөн 3кө чейин жана ар бири эмнени ачат
script-security'нин ар бир деңгээли профилдин эмнени аткара аларын кеңейтет: адегенде административдик жардамчылар, анан колдонуучу скрипттери, акырында чөйрөдөгү сырсөздөр. Нускамаларды окуңуз.
Профилди иш такта кардарга импорттоп көрүңүз, биринчи ката көбүнчө кардар аткаруудан баш тарткан сап болот: иштетпей турган скрипт илгичи же өтө уруксаттуу деп эсептеген script-security мааниси. Санды көтөрүү диалогду жок кылат. Бирок ал ошол профилдин машинаңызда эмнени аткара аларын да кеңейтет, ал эскертүүнү жабуу үчүн гана берүү таң калыштуу нерсе. Импортту нускамага чейин ээрчиңиз, ошондо чечим конкреттүү болот.
Импорт диалогунан нускамага чейин
Профиль — нускамалары бар тексттик файл, жана кардар аларды тоннел пайда боло электе эле окуйт. up, down же tls-verify сыяктуу нускама OpenVPN белгиленген учурда иштетүүгө тийиш болгон тышкы программаны атайт. OpenVPN аны иштетүүгө даярбы же жокпу — script-security деп аталган өзүнчө параметр, жана профиль адатта аны да коет.
Ошондуктан эскертүү криптография же сертификаттар жөнүндө эмес. Ал конфигурация файлынын кардардан хосттогу бир нерсени аткаруусун сурашы жана кардардын учурдагы уруксат деңгээли бул сурамга жол берерин текшерүүсү жөнүндө.
Бул этапта эки башка ийгиликсиздик окшош көрүнөт. Кардар бербей турган деңгээлди сураган профиль баш тартуу жаратат. Кардар берген деңгээлди сураган, бирок скрипт жок профиль анын ордуна аткаруу учурунда ийгиликсиздик жаратат, жана экөө колдоо темаларында аралашып кетет. Бири уруксат маселеси, экинчиси таңуу маселеси.
Ар бир деңгээл чындыгында эмнени ачат
0-деңгээл тышкы программа чакырууларына толугу менен тыюу салат, бул интерфейсин жардамсыз өзү конфигурациялаган кардар үчүн ырааттуу жана операциялык системага кайрылган кардар үчүн ыраатсыз. 1-деңгээл, демейки, интерфейс жана маршрут конфигурациясына керектүү курулма аткарылуучу файлдарга уруксат берет. Эки деңгээлдин тең бири колдонуучу берген эч нерсени иштетпейт.
| Level | What OpenVPN may execute | What it exposes |
|---|---|---|
| 0 | No external programs at all | Interface and route setup must not depend on helpers |
| 1 (default) | Built-in helpers such as ip, ifconfig, route or netsh | Privileged commands the platform already ships |
| 2 | Built-in helpers plus user-defined scripts | Whatever the named script does with the client's privileges |
| 3 | Everything above, plus passwords in environment variables | Credentials visible to child processes and their logs |
2-деңгээл кызыктуу чек, анткени ал колдонуучу аныктаган скрипттерди кабыл алат. Ошол учурдан тарта кардардын артыкчылыктары сиз эч качан окубаган болушуңуз мүмкүн болгон кодго тиешелүү, сиз тандабаган учурларда чакырылат, туташуу маалыматтарын камтыган чөйрөдө иштейт. 3-деңгээл андан ары барып, сырсөздөрдү чөйрө өзгөрмөлөрү аркылуу берүүгө уруксат берет, ошондуктан колдонмо аны ыктымал кооптуу деп сүрөттөйт.
Бул сандардын эч бири күч параметри эмес. 3-деңгээлдеги профилдин шифрлөөсү 1-деңгээлдегиден жакшы эмес; анын жөн гана аткаруу аянты чоңураак, ал эми тоннель бирдей.
Профиль эмнеге татыктуу экенин чечиңиз
Скриптке кайсы деңгээл керек экенин сураардан мурун ал эмне үчүн экенин сураңыз. DNS параметрлерин түрткөн же туташкандан кийин маршрутту оңдогон илгич бир нерсени иштетүүгө мыйзамдуу себеп. Убактылуу папкада белгисиз бинардык файлды чакырган илгич токтоого себеп.
Скрипттин жолу скрипттин өзүндөй эле маанилүү. Салыштырмалуу жол кардар колдонгон папкага карата чечилет, ал эми жазууга боло турган папка бир жолку импортту туруктуу аткаруу ордуна айландырат. Колдонуучу өзгөртө албаган папкадагы абсолюттук жолдор — тандалуучу форма.
Скрипттер кардардын чөйрөсүн да мураска алышат, анда эсептик маалыматтар жана туташуу метамаалыматтары жашайт. Ушул мурас 3-деңгээлди өз чөйрөсүн журналга жазуучу скрипт менен кошкондо кооптуу кылат, ошондуктан скрипттери күйгүзүлгөн кардардын диагностикалык үзүндүсү билетке чапталганга чейин экинчи көз карашка татыктуу. Бөлүшүүдөн мурун чөйрөнү тазалаңыз.
grep -nE 'script-security|^up |^down |tls-verify' client.ovpnБир нерсени өзгөртүңүз, анан ажыратууга да көз салыңыз
Эгер профилге скрипт чын эле керек болсо, деңгээлди гана жана ошол профиль үчүн гана өзгөртүңүз. Кардарды алдыңкы планда толук чыгарылыш менен иштетиңиз, ошондо скрипттин өз каталары көрүнөт, тейлөө менеджери аларды жутуп кетпейт.
openvpn --config client.ovpn --script-security 2 --verb 3
ip route show default
Бүткүл жашоо циклин сынаңыз, туташууну гана эмес. Ийгиликсиз өчүрүү илгичи маршруттарды өлүк тоннелге багыттап калтырат, бул туташкандай көрүнгөн, бирок эч жерге жетпеген машина жаратат. Өзгөртүүнү бүттү деп жарыялоодон мурун бир жолу кайра туташып, бир жолу ажыратыңыз, жана ар биринен кийин маршруттоо таблицасын текшериңиз.
Баштапкы профилдин көчүрмөсүн сактаңыз. Эгер платформа кардары ошол эле скрипт моделисин ишке ашырбаса, импорт ийгиликтүү болгонго чейин нускамаларды жок кылуу тоннелге керек болгон DNS же маршрут интеграциясын алып салышы мүмкүн, ал эми натыйжадагы туташуу кемчиликсиз аутентификациядан өтөт, бирок эч нерсени чечпейт.
Жазып коюуга тийиш чечим тар: кайсы скрипт, кайсы жолдо, кайсы деңгээлде уруксат берилген, кайсы профиль үчүн. Профилде калганы өзгөрүүсүз калат, жана бул рецензент текшере ала турган сүйлөм.