چه کسی میتواند شمارهگیری کند؟ حسابرسی msNPAllowDialin پیش از دسترسی VPN
msNPAllowDialin سه حالت دارد و مقدار NULL تصمیم را به NPS میسپارد. پرچمها را صادر کنید، آنها را از دسترسی گروهی جدا کنید و ثبت کنید چه کسی چه چیزی را بررسی کرده است.
گذرواژه درست است، حساب در گروه VPN قرار دارد و اتصال همچنان با پیامی رد میشود که هیچ سیاستی را ذکر نمیکند. وقتی این اتفاق روی سرور دسترسی از راه دور ویندوز میافتد، نخستین جایی که نگاه میکنم قاعده NPS نیست، بلکه یک صفت Active Directory است که هیچکس آن را باز نمیکند: msNPAllowDialin، یعنی مقدار پشت زبانه Dial-in. این صفت سه حالت دارد و حالت سوم بیصدا تصمیم را به جای دیگری میسپارد. بیشتر وقتها هیچکس آن را عمداً تغییر نداده است: حساب از یک الگو کلون شده یا اسکریپتی آن را ساخته که سالها پیش یک رد صریح نوشته و هرگز بازبینی نشده است.
رد شدن میتواند پیش از خواندن سیاست رخ دهد
ویندوز هنگام ساختن تصمیم مجوزدهی، اجازه شمارهگیری حساب را بررسی میکند، بنابراین یک رد صریح گفتگو را زود پایان میدهد. آنچه در کلاینت میبینید یک خطای عمومی احراز هویت است، گاهی پس از تکمیل تبادل گواهی، و به همین دلیل افراد یک بعدازظهر را صرف آزمایش اعتبارنامههایی میکنند که هرگز مشکل نبودهاند.
حالت معکوس هم به همان اندازه گیجکننده است. حسابی که هرگز پرچم برایش تنظیم نشده ممکن است با موفقیت متصل شود چون سیاست اجازه داده است، و سپس همان حساب وقتی کسی قاعده NPS را به دلیلی نامرتبط ویرایش میکند از اتصال بازمیایستد. هیچیک از این دو رویداد از بیرون شبیه تغییر اجازه شمارهگیری نیست.
سه حالت، و حالت سوم نامرئی است
TRUE شمارهگیری را مجاز میکند، FALSE آن را رد میکند، و مقدار NULL یعنی حساب پاسخ خود را از سیاست دسترسی از راه دور یا مجوزدهی NPS به ارث میبرد. رابط کاربری آن حالت سوم را «Control access through NPS Network Policy» نشان میدهد و بیشتر شبیه کادر تیکنخورده خوانده میشود تا یک تصمیم.
به همین دلیل شمردن کاربران مجاز از کنسول تقریباً هیچ چیزی به شما نمیگوید. یک حساب ارثی میتواند امروز مجاز و فردا رد شود بدون اینکه به حساب دست بزنند، و یک FALSE حساب ممکن است هنوز روی سروری متصل شود که سیاستش برای نادیده گرفتن ویژگیهای شمارهگیری کاربر تنظیم شده است. صفت و سیاست را با هم بخوانید، وگرنه نیمی از یک تصمیم را حسابرسی میکنید.
پرچمها را بدون از دست دادن حسابهای ارثی صادر کنید
خروجی را از یک کنترلکننده دامنه یا از ایستگاه کاری دارای ماژول Active Directory اجرا کنید و فایل خام را بهعنوان مدرک نگه دارید، نه اینکه خلاصهای را دوباره تایپ کنید:
Get-ADUser -Filter * -Properties msNPAllowDialin, LastLogonDate |
Select-Object SamAccountName, Enabled, msNPAllowDialin, LastLogonDate |
Sort-Object SamAccountName |
Export-Csv -NoTypeInformation .\dialin.csv
یک فیلتر LDAP واحد را میتوان راحتتر در یک سابقه تغییر جای داد. این یکی فقط مجوزهای صریح را برمیگرداند:
dsquery * -Filter "(&(objectCategory=person)(objectClass=user)(msNPAllowDialin=TRUE))" -Attr sAMAccountName
سپس بدون بند شمارهگیری دوباره پرسوجو کنید و حسابهایی را بیابید که مقدارشان غایب است. اینها همان حسابهای ارثی هستند، معمولاً بزرگترین گروه در دامنه، و نادیده گرفتن آنها حسابرسی را به فهرستی از چند نفری تبدیل میکند که کسی به یاد داشته دستی تنظیمشان کند.
پرچم را از دسترسی گروهی و سلامت حساب جدا کنید
این صفت به یک پرسش پاسخ میدهد: آیا این حساب میتواند شمارهگیری کند. درباره اینکه آیا آن شخص هنوز اینجا کار میکند، حساب فعال است یا گذرواژه مشترکی در یادداشتی از میز پشتیبانی مانده، چیزی نمیگوید. خروجی را با وضعیت فعالسازی، تاریخ آخرین ورود و عضویت گروهی که دسترسی به سرور میدهد جفت کنید.
این ترکیبها هستند که بر اساسشان عمل میکنید. یک حساب غیرفعال با TRUE فقط نویز است. یک حساب فعال با TRUE که یک سال وارد نشده، نامزد حذف است. اما یک حساب ارثی در گروه VPN که هیچکس نمیتواند توضیحش دهد همان یافتهای است که اهمیت دارد، چون هیچ تنظیم واحدی ثبت نمیکند که چرا داده شده است.
آن را از کنترلکننده دامنهای بخوانید که سرور VPN واقعاً در برابر آن احراز هویت میکند. تأخیر همانندسازی میتواند مقداری را نشان دهد که سرور پیشتر جایگزینش کرده است، و حسابرسیای که به مقدار کهنه DC استناد کند، همان لحظهای که کسی دوباره بررسی کند به چالش کشیده میشود.
یک حساب را تغییر دهید و ثابت کنید که تغییر رسیده است
برای حذف دسترسی، صفت را روی FALSE بگذارید، نه اینکه پاکش کنید. پاک کردن حساب را به وراثت سیاست بازمیگرداند که ممکن است در اتصال بعدی دوباره مجازش کند، و تغییر شبیه یک اصلاح به نظر میرسد در حالی که در واقع تصمیمی متفاوت است:
dsmod user "CN=Jane Doe,OU=Staff,DC=corp,DC=example" -allowDialin no
Set-ADUser -Identity jdoe -Clear msNPAllowDialin
خط دوم بازنشانی وراثت است که عمداً جدا نگه داشته شده تا کسی دو عملیات را با هم اشتباه نگیرد. سپس از یک نشست دوم تأیید کنید، صفت را دوباره بخوانید و برای رد شدن، رویدادهای حسابداری NPS را بررسی کنید نه اینکه به تازهسازی کنسول اعتماد کنید.
در پایان بنویسید که برای هر سرویس دسترسی از راه دور کدام سازوکار صاحب تصمیم است. اگر سیاست ویژگیهای شمارهگیری کاربر را نادیده بگیرد، شرط گروه مرجع است و این صفت فقط برای همان سرویس جنبه مشورتی دارد. دو سرویس در یک دامنه میتوانند بهطور مشروع پاسخ متفاوت بدهند و سابقه بازبینی باید این را در یک خط برای هر سرویس بگوید.
خروجیای که از حسابرسی جان سالم به در میبرد کوتاه است: چه کسی میتواند متصل شود، با کدام سازوکار، چه زمانی بازبینی شده، توسط چه کسی. پرچم شمارهگیری دو پاسخ نخست را میدهد؛ بقیه را فقط بازبینی سیاست میدهد.