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

دا له درې ناکامیو کومه ده؟

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

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

کله چې یوازې خدمت ناکام شي، د واحد د فایل سیستم لید معمول مجرم دی۔

systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20

غوراوی A: راز له کوره وباسئ

کله چې خدمت /home پټوي او تاسو غواړئ هغه ساتنه وساتئ، راز هلته وساتئ چې هغه یې وګوري۔ ماډول secret= لار او user= حساب چې د فایل عملیات ترسره کوي مني، چې مرکزي زېرمې ته اجازه ورکوي ډېرو هویتونو ته خدمت وکړي۔

دا منظمه غوراوی ده، او همدا ډېره پاملرنه غواړي، ځکه شریکه زېرمه یوه لیست د هر حساب د امنیت پوله جوړوي۔

auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otp

مخکې له دې چې پرې باور وکړئ درې شیان وګورئ: حساب شته، د ماډول کاري بهیر کولی شي ورته واوړي، او فایلونه د محدودو حالتونو سره د هغې دي۔ له user= سره ~ یا د کور بدلونکې لار مه کاروئ، او د لارې د کارولو لپاره د ماډول د مالکیت ګوتنې مه بندوئ۔ د پاسورډ پړاو او پاتې سټک نیمګړي مه پرېږدئ۔

غوراوی B: فایل پرېږدئ او لار خلاصه کړئ

که راز باید د کارونکي په کور کې پاتې شي، واحد ته هغه لید ته اړتیا ده چې یوازې هغه لیست شامل کړي پرته له دې چې په کوربه باندې هر کور ښکاره کړي۔ drop-in کولی شي د سانډباکس شوي کور لاندې یو تنګ محدود bind mount اضافه کړي۔

دا د هر کارونکي مالکیت د ماډل په توګه ساتي، د واحد د بدلون په بیه چې هر کله سانډباکس بدل شي بیاکتنه غواړي۔

دوه پولې اسانه له لاسه ورکېږي۔ یوازې-لوستلو لار چې د سانډباکس پټ شوي لیست لاندې اضافه شي هغه نه ښکاره کوي، ځکه مورنۍ لیست هلته نه دی۔ او نښلول باید لیکل کېدونکي وي که ماډول باید حالت تازه کړي، چې بل غوراوی راولي۔ drop-in د /usr/lib لاندې بسته شوي واحد د سمون پر ځای جلا فایل ولیکئ، ترڅو د بستې لوړوالی یې په غلې ډول لغوه نه کړي۔

غوراوی C: سانډباکس وساتئ او د حالت لیکنې سمې کړئ

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

هغه ناکامي په راتلونکې هڅه کې د بد کوډ په څېر ښکاري نه په دې هڅه، ځکه د ساعت د تېښتې سره ګډه شوې ده۔

ټول کور د لیکلو وړ کولو پر ځای ورته خپل لیکل کېدونکی لیست ورکړئ او د راز لاره هلته وګرځوئ۔ د لیست مالک، د فایل سیستم تش ځای او دا چې واحد بلې خوا ته لیکنې محدودوي که نه تایید کړئ۔ بیا پرلهپسې دوه ننوتل ازموئ، ځکه دویم د لیکلو لاره ثابتوي او لومړی یوازې لوستل۔

د خدمت په توګه تایید کړئ، نه د ځان په توګه

هر مهمه ګوتنه باید د واحد په سانډباکس کې د واحد د هویت سره چل شي۔

هغه حکم چې د root په توګه بریالی شي یوازې وايي چې فایل شته او نور هېڅ۔ له ریښتیني خدمت څخه ننوتل وايي چې ماډول کولی شي راز ولولي، وکاروي او اړین څیز بیرته ولیکي۔

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

اړوندې مقالې