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 немесе маршрут интеграциясын алып тастауы мүмкін, ал нәтижесіндегі қосылым мінсіз аутентификациядан өтеді, бірақ ештеңені шешпейді.
Жазып алуға тиіс шешім тар: қай скрипт, қай жолда, қай деңгейде рұқсат етілген, қай профиль үшін. Профильдегі қалғаны өзгеріссіз қалады, және бұл рецензент тексере алатын сөйлем.