د حساب بندېدل د پتې له بنديز سره: OpenVPN په حقیقت کې څه شماروي
د سرچینې بنديز او د حساب بندېدل دوه بېل شیان شماروي. د PAM پر بنسټ VPN لپاره د حد له ټاکلو دمخه هغه زېرمه ومومئ چې د ناکامیو شمار لري.
د یوې پتې بندول او د یو حساب بندول دوه بېلابېلې د شمارلو میکانیزمونه دي، او په مخالفو لورو کې ناکامېږي. د پتې بنديز یوه سرچینه دروي او هدف حساب له بل هر ځایه د لاسرسي وړ پاتې کېږي. د حساب بندول هغه هویت هر ځای دروي، په شمول د قانوني کاروونکي له خپل لپ ټاپ څخه. ټیمونه ډېری یو ځای پرځای کوي خو بل یې بیانوي، بیا د یوې پېښې پر مهال توپیر مومي، هغه وخت چې ناسم شی ساتل شوی وي.
د هغه VPN لپاره چې تصدیق PAM ته سپاري، شمارونکی هغه څه دي چې د PAM سټک یې رسوي، نه هغه څه چې اورېدونکي ثبت کړي. د دې دواړو بېلول لومړنی ګټور ګام دی.
دوه شمارونکي، دوه بېلابېل قربانیان
د کچې محدودوونکی یوه سرچینه ګوري او پوښتنه کوي چې په دې وروستیو کې ترې څو هڅې شوې دي. بندول یو هویت ګوري او پوښتنه کوي چې هغه حساب څو ناکامۍ راغونډې کړې دي. لومړی د خدمت شتون ساتي؛ دویم د اعتبار سند ساتي. هیڅ یو یې د بل ځای نه ډکوي، او هغه ځای پرځای کول چې یوازې لومړی لري، حساب هېڅ نه دی ساتلی.
همدا لامل دی چې «پنځو ناکامیو وروسته IP بندوو» د اعتبار سند د ډکولو راپور ته ځواب نه دی. بریدګر سرچینې بدلوي، هرې یوې ته لږ شمېر هڅې ورکول کېږي، او حساب هېڅکله نه شمېرل کېږي. برعکس، د بندولو هغه تګلاره چې د سرچینې هېڅ کنټرول نلري، بریدګر ته اجازه ورکوي چې په قصداً ناکامۍ حساب په نامحدوده توګه بند وساتي، چې دا د خدمت منلو منع ده او دوی ته هېڅ لګښت نه لري.
دواړه کنټرولونه بېلابېلې د بیا رغېدو کیسې هم لري. د پتې بنديز پر یو ټایمر پای ته رسېږي چې هیچا ته د فکر کولو اړتیا نه لري. د حساب بندول ممکن مدیر، مستند انتظار موده یا د ځان خدمت بیا تنظیم ته اړتیا ولري، او هر یو یې یوه تګلاره ده چې باید د لومړي بندېدو دمخه شتون ولري.
هغه زېرمه ومومئ چې دمخه د شمېر خاوند دی
د هر څه د زیاتولو دمخه وپوښتئ چې آیا د ناکامیو زېرمه دمخه شتون لري. یو ځایي Linux حساب، یو لارښود خدمت او یو بهرنی هویت چمتو کوونکی هر یو خپل شمار لري، او هغه PAM ماډل چې د دوی مخې ته زیات شي، دویم شمار جوړوي نه دا چې لومړی وغځوي.
grep -rnE 'faillock|pam_tally|pam_unix' /etc/pam.d/
ls -l /etc/pam.d/ | head -20
هغه خدمت فایل ولولئ چې VPN یې په حقیقت کې نوموي، بیا د هغه د include کرښو پسې لاړ شئ. په ډېرو وېشونو کې د VPN خدمت یو ګډ شریک فایل شاملوي، چې مانا یې دا ده چې هغه شمار چې تاسو یې تنظیموئ، SSH او ځایي ننوتلو ته هم تطبیقېږي. دا ممکن د منلو وړ وي، او ممکن د هغه څه برعکس وي چې بدلون یې په نظر کې درلود.
که لارښود دمخه بندول پلي کوي، ګټوره پوښتنه دا ده چې د PAM خبرې اترې څنګه هغه پرېکړې ته رسېږي او VPN یې څنګه راپور ورکوي. پر سر یو ځایي شمار زیاتول د لارښود شمارونکی نه شي کېدای، او دواړه تګلارې ممکن د دې په اړه اختلاف ولري چې حساب کله پرانیستل شي.
pam_faillock درې د کارولو موقعیتونه لري، نه یو
ماډل درې عملیات بېلوي چې یوه کاپي شوې کرښه یې ګډوي: کتنه چې آیا حساب دمخه بند دی، د تصدیق د ناکامۍ ثبتول، او د بریالیتوب وروسته د ناکامیو تاریخ پاکول. د هغه لارښود دا د بېلابېلو موقعیتونو په توګه مستند کوي، او سټک پرېکړه کوي چې کوم یې چلیږي او په کوم ترتیب.
دا هغه برخه ده چې له زوړ شمار ماډل څخه لېږد معمولاً غلط کوي. له یوه کار کوونکي pam_tally2 بېلګې څخه pam_faillock سټک ته د کرښې کاپي کول یوازې نوم بدلول نه دي؛ مستند ترتیب توپیر لري، او ناسم ځای پرځای شوی بل ممکن هغه سټک جوړ کړي چې ناکامۍ ثبتوي خو هېڅکله یې نه کتنه کوي، یا یې هغه ځای کتنه کوي چې د تصدیق لاره هېڅکله نه رسېږي.
faillock --user alice
faillock --user alice --reset
د کتنې وسیله ترټولو ژر لاره ده چې وګورئ شمارونکی ریښتینی دی که نه: دا د یوه حساب ثبت شوې ناکامۍ راپور کوي او کولای شي یې پاکې کړي. که یوه کنټرول شوې ناکامي هغه پایلې نه بدلوي، د غوښتنې موقعیت غلط دی، هر څنګه چې ترتیب لوستل شي.
ځانګړی خدمت نوم جلاوالی نه دی
VPN ته خپل PAM خدمت فایل ورکول پام کې نیول شوې تګلاره ښکاره کوي، خو پخپله خپله اغېزه محدوده نه کوي. د یو شریک فایل هره include هغه څه راکاږي چې هغه فایل یې کوي، په شمول هغه شمار چې په ټول سیستم تطبیقېږي.
په ښکاره توګه پرېکړه وکړئ چې بندول یوازې VPN لاسرسی پوښي که هر هغه خدمت چې همدا حساب تصدیقوي. دواړه ځوابونه د دفاع وړ دي؛ د ناکامۍ بڼه دا ده چې تاسو باور وکړئ یو مو غوره کړی خو سټک بل پلي کوي. ځواب د خدمت فایل ترڅنګ ولیکئ ترڅو راتلونکی بدلون یې په خاموشۍ کې برعکس نه کړي.
بیا د لګښت حساب وکړئ. بندول ممکن بریدګر راوپاروي، او هغه کاروونکی زیان ویني چې حساب یې دی. حد، انتظار موده او اداري د بیا رغېدو لاره ټولې د تګلارې برخه دي، او د بیا رغېدو لاره باید د پېښې پر مهال د VPN بیا تنظیمولو ته تکیه ونه کړي.
تسلسل ومنئ، نه یوازې یو رد
د تصویب شوې پلان لاندې ټاکل شوو هویتونو سره ازموینه وکړئ، او یو ځنځیر ازموئ نه یوازې یوه پېښه. سم حساب باید تصدیق شي؛ په قصداً ناسم پټنوم باید شمارونکی وخوځوي؛ بیا ټاکل شوی بند باید عملي شي؛ او مستنده بیا رغېدنه باید لاسرسی بېرته راکړي.
faillock --user test-vpn-01
journalctl -u openvpn-server@lab -n 30 --no-pager | grep -i 'auth\|pam'
د بریالیتوب چلند هماغسې په دقت وګورئ لکه د ناکامۍ چلند. که بریالۍ ننوتنه تاریخ نه پاکوي، حساب به د عادي تېروتنو ورو راغونډېدو وروسته بند شي. که دا له هر خدمت څخه هر څه پاک کړي، شمارونکی له هغه څخه کمزوری دی چې تګلاره یې ادعا کوي.
په پای کې، د بریا اعلانولو دمخه بې پاملرې کلاینټونه ودروئ. یو ساتل شوی اعتبار سند چې په شالید کې بیا هڅه کوي، به د بیا رغېدو څو دقیقې وروسته ناکامۍ بیا جوړې کړي او حساب به بیا بند کړي، چې دا د ناسم تنظیم شوي کلاینټ پرځای د ماتې شوې بیا رغېدو لارې په څېر ښکاري. پر سرچینه ولاړ د کچې محدودول کولای شي د اضافي کنټرول په توګه پاتې شي، خو دا د حساب تګلاره نه ده او باید داسې ونه بیان شي.