د 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 یا لاره یوځایوالی لرې کړي چې تونل ورته اړتیا لرله، او پایله نښلون به بشپړ تصدیق شي خو هېڅ به حل نه کړي.
د ثبت وړ پرېکړه تنګه ده: کوم سکریپټ، په کومه لار، په کومه کچه اجازه، د کوم پروفایل لپاره. په پروفایل کې نور هر څه نه بدلیږي، او دا هغه جمله ده چې یو بیاکتونکی یې کولی شي وګوري.