تاسو up سکریپټ د روټ په توګه چلوئ، هغه بشپړېږي، او هماغه سکریپټ ناکامېږي کله چې خدمت یې بولي۔ د فایل په اجازو کې هیڅ نه دی بدل شوی، نو بل طبیعي ګام دا دی چې بیا یې سست کړئ، چې هیڅ هم نه سمېږي۔ په SELinux کوربه کې فیصله کوونکې نقطه ډېری وخت دا نه ده چې بهیر څوک دی، بلکې دا ده چې په کوم ډومین کې ګرځي، او د محدود ډومین دننه روټ بیا هم محدود پاتې کېږي۔

هماغه امر، دوه بېلې امنیتي ډومینونه

د ډولونو پلي کول د سرچینې ډومین، د موخې نښه او غوښتل شوې عملیه یوځای ارزوي۔ ستاسو د ټرمینل ناسته په یو نا محدود یا اداري ډومین کې ګرځي، او ډیمون په هغه ډومین کې ګرځي چې د هغه واحد ته ټاکل شوی۔ نو هماغه امرونه بېلې پرېکړې ورکوي، او دا توپیر په قصد سره دی نه د تګلارې خرابي۔

نو د دوو چلولو پرتله یوازې هغه وخت ګټوره ده چې د دوی شرایط پرتله کړئ۔ هماغه امر له شیل او له hook څخه چلوئ؛ د شیل بڼه ثابتوي چې باینري شته او استدلالونه سم دي، خو د دې په اړه هیڅ نه ثابتوي چې خدمت ته د هغه د چلولو اجازه ده که نه۔ دواړه لارې چلوئ او ډومینونه پرتله کړئ، نه یوازې د وتلو کوډونه۔ همدا پرتله ده چې یوه مبهمه د اجازې شکایت په یو ډومین او یوې نښې په اړه مشخصه پوښتنه بدلوي۔

د دې خرابۍ کلاسیکه بڼه یو مرستندوی دی چې بهرنی وسیله بولي۔ hook پخپله اجازه لرلی شي، خو هغه وسیله چې بولي یې داسې نښه لري چې د خدمت ډومین یې نه شي چلولی، یا په داسې فولډر کې لیکي چې نښه یې منع کوي۔

د hook د تېروتنې ترڅنګ AVC ریکارډ ولولئ

د AVC رد هغه برخې نوموي چې قضیه فیصله کوي: د بهیر د سرچینې شرایط، د شي د موخې شرایط، د شي ټولګی او هغه ځانګړې اجازه چې رد شوې۔ د نظریې له جوړولو دمخه څلور واړه ولولئ، ځکه چې د اجرا په اړه رد او د لیکلو په اړه رد بشپړ بېل سمونونه لري۔

ausearch -m AVC,USER_AVC -ts recent
ls -Z /usr/local/sbin/vpn-up.sh
ps -eZ | grep openvpn

د سرچینې شرایط باید له هغه ډومین سره سم وي چې خدمت واقعاً پکې ګرځي، او د موخې شرایط باید د هغه فایل یا فولډر له نښې سره سم وي چې عملیې ته لاس وروړی۔ که یو له دوی همغه تېروتنې سره سم نه وي چې تاسو یې تعقیبوئ، تاسو بله پېښه لولئ۔

د ریکارډ ترڅنګ د تګلارې نسخه او د اجرا وړ فایل دقیق لار ولیکئ۔ هغه ډومین نوم چې د یوې وېش تګلاره کې ښکاري د هغه نصب په اړه شاهد دی، نه دا تضمین چې بله جوړونه هماغه قواعد وړاندې کوي۔ همدا شرایط بل چاته اجازه ورکوي چې ستاسو پایله په خپل کوربه کې بیا تولید کړي۔ پرته له دې، ریکارډ د شاهد پر ځای د حکایت په توګه لوستل کېږي۔

نښه، ترتیب یا تګلاره: درې سمونونه

لومړی سمون هغه نښه ده چې د فایل له نصب شوي ځای سره سمه نه ده۔ هغه سکریپټ چې د cp په مرسته خپل ځای ته کاپي شوی یا د ایډیټر لخوا لیکل شوی، کېدای شي داسې پخوانۍ نښه ولري چې د خدمت ډومین یې نه شي کارولی، او د تمه شوو شرایطو بیا رغول پرته له دې چې تګلارې ته لاس ووړي هغه سمېږي۔

دویم ترتیب دی۔ وېش کېدای شي د عملیې د چلولو یوه ملاتړ شوې لار، د مرستندوی لپاره یو مستند فولډر، یا یو تازه شوی تګلاره کڅوړه وړاندې کړي چې دمخه یې اجازه ورکوي۔ خپل ترتیب ملاتړ شوي ته بدلول د تګلارې له لیکلو ارزانه دي او تازه کېدو ته دوام ورکوي۔

دریم هغه قاعده ده چې واقعاً ورکه ده، او باید وروستی چاره وي۔ د پلټنې وسایلو سره یو نوماند جوړ کړئ، ولولئ چې واقعاً څه ته اجازه ورکوي، هغه عملیې او ډومین ته یې محدود کړئ چې تاسو لیدلي، او د تولید ته نږدې کېدو دمخه بل څوک یې بیاکتنه وکړي۔

ولې زوړ allow ماډل ځواب نه دی

د دې خرابۍ لپاره د لټون پایلې په چمتو ماډلونو ډکې دي، ډېری وخت د هغې وسیلې لپاره چې hook نور یې نه بولي۔ یو نصبول داسې اجازې ورکوي چې کېدای شي ستاسو د رد سره هیڅ تړاو ونه لري، او د تلپاتې سوري په اضافه کولو سره ریښتینی ناسم والی په خپل ځای پرېږدي۔

هغه بل ناکامي هم پټوي۔ هغه ماډل چې د عملیو پراخه ټولګي ته اجازه ورکوي دا تېروتنه ورکوي او بل یې په داسې شي بدلوي چې نسبت ورته ډېر سخت دی۔ ماډل وروسته لرې کول هم هغه بدلون دی چې هیڅوک یې نه غواړي مهالوېش کړي، نو لنډه لاره تلپاتې کېدو ته مخه کوي۔

منظمه پرتله د هغه رد چې تاسو یې لوستلی شئ او هغه بدلون چې تاسو یې وړاندیز کوئ ترمنځ ده۔ د Red Hat د SELinux د ستونزو حل لارښود د نښې او ترتیب څېړنې د جوړې شوې تګلارې دمخه ږدي، همدې دلیل لپاره۔ که په ریکارډ کې سم رد نه وي، نو SELinux ښایي ستاسو ستونزه نه وي، او د لارې، سندباکس یا اجازې ستونزې لا هم پرانیستې دي۔

اړوندې مقالې