دسترسی VPN بدون حقوق دسکتاپ راه دور: چهار دروازه جداگانه
نشست RDP ردشده یک حق ورود ویندوز است، نه خرابی VPN. خطمشی مؤثر را بخوانید، گروه باریک را بدهید و مسیر شبکه را جدا نگه دارید.
کاربری به VPN وصل میشود، یک اشتراک فایل و یک برنامه داخلی را باز میکند و سپس تلاش RDP پیام «حساب کاربری برای ورود از راه دور مجاز نیست» را برمیگرداند. در آن پیام هیچ چیز درباره تونل اشتباه نیست. چهار دروازه مستقل بین حساب VPN و یک دسکتاپ تعاملی قرار دارند و فقط دروازه آخر آن را ایجاد کرد. مردم معمولاً حساب را به Administrators اضافه میکنند، که بسیار بیشتر از دسکتاپ میدهد و اگر خطمشی گروهی آن را رد کند دروازه را درست نمیکند. در ادامه آمده است هر دروازه واقعاً چه میکند و چگونه فقط همان دروازهای را تغییر دهید که رد میکند.
چهار دروازه در ترتیبی ثابت
دروازه نخست تصمیم میگیرد آیا این هویت اصلاً میتواند تونل بسازد: خطمشی RADIUS، شرط گروه، بررسی گواهی، مجوز Access Server. سپس مسیریابی و فایروالها تصمیم میگیرند آیا بسته از استخر تونل به شنونده TCP 3389 مقصد میرسد. سپس دستدادن NLA کلاینت حساب را در برابر مقصد احراز هویت میکند. فقط پس از این سه، مرجع امنیت محلی بررسی میکند آیا حساب حق ورودی را دارد که یک نشست راه دور تعاملی میخواهد.
چون ترتیب ثابت است، هر دروازه دروازههای پشت خود را پنهان میکند. تونل ناموفق چیزی درباره مسیریابی نمیگوید؛ پورت مسدود چیزی درباره حق ورود نمیگوید؛ آزمون موفق پورت چیزی درباره پذیرش نمیگوید. به همین دلیل «VPN کار میکند اما RDP نه» یک مشکل نیست بلکه مرزی بین دو دروازه از این دروازهها است، و به همین دلیل متن خطا سریعترین راه برای فهمیدن این است که به کدام برخوردید.
حقی که واقعاً نشست را رد میکند
ورود به دسکتاپ راه دور به حق کاربر اجازه ورود از طریق سرویسهای دسکتاپ راه دور، یعنی SeRemoteInteractiveLogonRight نیاز دارد. این حق هنگام ورود بررسی میشود، نه هنگام ساخت تونل، به همین دلیل حساب میتواند ساعتها در شبکه بگردد و باز هم دسکتاپ از او دریغ شود. دیالوگی که آن را نشان میدهد زیر خطمشیهای محلی، تخصیص حقوق کاربر قرار دارد و معادل دامنه در GPO است.
عضویت پیشفرض به نقش دستگاه بستگی دارد: ایستگاههای کاری و سرورهای عضو آن را به Administrators و Remote Desktop Users میدهند، در حالی که کنترلکننده دامنه فقط به Administrators. همین یک واقعیت بیشتر سردرگمی را توضیح میدهد، چون همان حساب روی سرور فایل موفق میشود و روی DC شکست میخورد. حق رد بر حق اجازه متناظر فارغ از عضویت گروهی پیروز میشود، پس حسابی که هم اجازه و هم رد دارد، رد میشود. یک گروه رد گسترده میتواند مدیر ارشدی را که بهعنوان لطف اضافه شده گرفتار کند.
خطمشی مؤثر را بخوانید، نه دیالوگ محلی
خطمشی محلی را هر GPO دامنهای که همان حق را تعریف کند بازنویسی میکند، پس اسنپاین محلی میتواند فهرستی درستنما نشان دهد در حالی که وضعیت مؤثر متفاوت است. آنچه دستگاه واقعاً اعمال میکند صادر کنید، سپس حق را جستوجو کنید و بهجای نامهای نمایشی SIDها را بخوانید:
secedit /export /cfg C:\temp\secpol.cfg
Select-String -Path C:\temp\secpol.cfg -Pattern SeRemoteInteractiveLogonRight
gpresult /scope computer /v
در آن خروجی، *S-1-5-32-544 همان Administrators است و *S-1-5-32-555 همان Remote Desktop Users.
اگر هیچکدام ظاهر نشود، هیچکس جز دارنده خطمشی نمیتواند دسکتاپ باز کند، هر چه دیالوگ محلی کاربران و گروهها پیشنهاد کند. سپس gpresult نام GPO برنده را میآورد و همان شیئی است که باید ویرایش کنید؛ تغییر خطمشی محلی روی دستگاهی که به دامنه پیوسته آزمایش است، نه اصلاح.
باریکترین حق را که کافی است بدهید
پاسخ معمول گروه Remote Desktop Users روی مقصد است. این گروه حق را بهطور پیشفرض دارد، بسیار کوچکتر از Administrators است و «میتواند دسکتاپ باز کند» را از «میتواند سرور را مدیریت کند» جدا میکند. جایی که خطمشی حق را صریحاً بازتخصیص داده، گروه یا حساب را به همان خطمشی اضافه کنید، نه گروهی که هیچکس آن را کنترل دسترسی نمیپنداشت.
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "CORP\a.user"
پیش از افزودن هر چیز، فهرست رد را بررسی کنید. اگر حق ردی گروهی را نام میبرد که کاربر را در بر دارد، تغییر درست حذف حساب از آن گروه یا باریککردن رد است، نه افزودن اجازه دوم در جای دیگر. ثبت کنید کدام حق را و کجا تغییر دادید، چون بهروزرسانی بعدی GPO وضعیت پیشین را بیصدا بازمیگرداند و تیکت با همان پیام دوباره باز میشود.
مسیر شبکه را تصمیمی جداگانه نگه دارید
گروه VPN لازم نیست به هر پورتی برسد. وقتی گروهی برنامه میخواهد نه دسکتاپ، یک قاعده فایروال محدود به استخر تونل و پورت برنامه به آن خطمشی اثر میدهد، در حالی که حق ورود دستنخورده میماند.
Get-NetFirewallRule -DisplayGroup "Remote Desktop"
Test-NetConnection -ComputerName 10.20.0.50 -Port 3389
پیکربندی بهازای هر کلاینت OpenVPN و مجوزهای گروه Access Server میتوانند پیشوندهای مقصد را با همان روح محدود کنند؛ هیچکدام حق ورود ویندوز نمیدهند و حق ورود نمیتواند پورتی باز کند. آنها را در پنجرههای تغییر جداگانه نگه دارید، چون قاعده پورت و حق را افراد متفاوتی تأیید میکنند.
به همان ترتیبی که دروازهها اعمال میشوند بررسی کنید: آیا حساب میتواند تونل بسازد، آیا نشست به شنونده میرسد، آیا کلاینت احراز هویت میکند و آیا حساب حق را دارد. پینگی که شکست میخورد در حالی که آزمون پورت موفق است، فایروالی است که به ICMP متفاوت پاسخ میدهد، نه دلیلی بر مسدود بودن RDP. مرجع حق ورود مایکروسافت پیشفرضها را بر اساس نقش دستگاه و قاعده پیروزی رد بر اجازه فهرست میکند.