محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش رفع اشکال گروپ پالیسی (Group Policy) به زبان بسیار ساده

به عنوان یک کارشناس فناوری اطلاعات قطعا با ساختار های Group Policy کار کرده اید و بعضا به مشکلاتی نیز در این مورد برخورد کرده اید ، در این مقاله به شما برخی از اشتباهات معمولی که در پیاده سازی Group Policy ایجاد می شود و همچنین روش های مقدماتی رفع مشکلات مربوط به آنها را بررسی خواهیم کرد . زمانیکه تنظیمات Group Policy را طراحی و توسعه دادید و آنها را برای اعمال در محیط واقعی کار آماده کردید ( این یک اصل است نه یک پیشنهاد : اول فکر کنید ، طراحی کنید و سپس اعمال کنید ) همه چیز بایستی به درستی در شبکه اعمال شود مگر اینکه به حرف استادتون خوب گوش نداده باشید .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اما اگر Group Policy همانطوری که انتظار می رود کار نکرد چطور ؟ اگر یک سری از کاربران و کامپیوترها تنظیمات مربوطه را دریافت نکردند چطور ؟ خوب در اینجاست که شما بایستی از ابزارهایی که خاص رفع ایراد تنظیمات Group Policy هستند استفاده کنید و متوجه بشوید که ایراد کار کجاست که آنرا برطرف کنید ، توجه کنید که ابزار همیشه یک نرم افزار نیست ، شیوه نگاه کردن شما به مشکلات و نحوه تحلیل موضوع خود به تنهایی بهترین ابزار برای رفع مشکلات است ، این دقیقا همان هدفی است که در این مقاله به آن خواهیم پرداخت .

ساده فکر کنید و با مبانی شروع کنید

قبل از اینکه به سراغ ابزارهای رفع اشکال Group Policy و روش های مختلف رفع اشکال بپردازیم ، یک لحظه به عقب برگردیم و چند سئوال ساده از خود بپرسیم . این قسمت از صحبت ما بر می گردد به یک سخن خیلی خیلی زیبا که یک ساعت فکر کردن بهتر از هزار ساعت عبادت است ، بسیار خوب قبل از اینکه مراحل پیچیده و حرفه ای تر را آزمایش کنیم ، مراحل ساده را پیش می بریم ، در ادامه سئوالاتی که مطرح می شود را قبل از اینکه به فرآیند رفع اشکال برسیم از خود بپرسید و با خود تجزیه و تحلیل کنید ، در بسیار از موارد همین سئوالها مشکلات شما را به سادگی برطرف می کنند :

1- این Policy بایستی به کاربران اعمال شود یا به کامپیوترها ؟ برای شروع فکر می کنم این بهترین سئوال باشد . بعضی اوقات پیش می آید که کاربری به شما مراجعه می کند و اعلام می کند که زمانیکه بر روی Shortcut یک نرم افزار بر روی دسکتاپ خود کلیک می کند نرم افزار مربوطه نصب نمی شود و به وی پیغام خطا داده می شود و همین کاربر عنوان می کند که کاربری دیگر در نزدیک او می تواند با کلیک کردن بر روی آیکن نرم افزار ، براحتی آن را نصب کند .

در اینجاست که شما بایستی با خود مرور کنید که من Policy با عنوان Software Installation را به کاربران اعمال کرده ام و ممکن است این policy به کاربر مربوطه اعمال نشده باشد و این policy بر روی کاربری که در همان نزدیکی است اعمال شده است !! ممکن است کاربر دیگر مرتبط با یک قسمت سازمانی دیگر باشد ، در اینجا وقتی کاربر به شما می گوید کاربری دیگر ، حتما توجه کنید که کدام کاربر دیگر ؟ کاربر دیگر در کجای شبکه قرار دارد ؟

در کدام قسمت سازمانی قرار دارد ؟ شاید اصلا کاربر دیگر حق دسترسی به این نرم افزار را داشته باشد چون در قسمتی قرار دارد که به آن نرم افزار خاص نیاز دارند ، اما کاربر مربوطه امکان دسترسی به چنین نرم افزاری را نباید داشته باشد ، قرار نیست همه در شبکه بتوانند از نرم افزارهای مختلف استفاده کنند . در اینجا Group Policy شما مشکلی ندارد ، این کاربر شما است که دارای مشکل است ( اساسا کاربران مشکل ساز هستن ، به مقاله انواع گونه های کاربران IT از مهندس احمد نصیر عزیز مراجعه شود ) ، کاربران شبکه همیشه نسبت به یکدیگر حس حسادت دارند و تحمل این را ندارند که شخص دیگری به منبعی دسترسی داشته باشد و خودشان از آن محروم باشند. در اینجا از خود یک سئوال کلیدی بپرسید : این policy قرار است به چه کسی اعمال شود ؟

2-یک چیز معمول بین کامپیوترها و کاربران این است که چرا یک policy به یک سری از کاربران یا کامپیوترها اعمال نمی شود ؟ این سئوال زمانی پیش می آید که چندین نفر یا کامپیوتر policy که بایستی دریافت کنند را دریافت نمی کنند . 4 نفر از قسمت مالی به شما مراجعه می کنند و اعلام می کنند که دیگر قادر به مشاهده کنترل پنل از طریق منوی start نیستند . این چه چیزی را به شما می گوید ؟

خوب در اینجاست که شما بایستی GPO ای که به OU مربوط به قسمت مالی link شده است را چک کنید و ببینید که آیا policy به نام Prohibit access to the Control Panel برای این OU فعال شده است یا خیر ؟ این policy را می توانید در قسمت Configuration\Administrative Templates\Control Panel مشاهده کنید ، اگر این policy در حالت Disabled و یا Not Configured بود پس مشکل از اینجا نیست و بایستی جای دیگر را چک کنیم ، اولین اقدام این است که ممکن است این OU تنظیمات خود را از یک OU بالاسری به ارث ببرد.

پس GPO ای که به OU والد یا بالاسری آن link شده است را نیز بایستی بررسی کنید .از جهت دیگر ممکن است ایراد از Security Filtering باشد که بصورت ناخواسته باعث شده است policy مورد نظر به کاربرانی که می خواهیم اعمال نشود و یا گروه مالی در قسمت Security Filtering قرار گرفته است .

3-جه زمانی کاربران شروع به تماس گرفتن با شما کردند ؟ آیا درست زمانی که شما یک سری تغییرات در Group Policy اعمال کردید تماس ها شروع شدند ؟ مثلا link کردن یک GPO جدید به OU ؟ این نکته خیلی برای شما می تواند مفید باشد. آیا زمانی که شما یک سری تغییرات مدیریتی بر روی ساختار اکتیودایرکتوری انجام دادید این تماس ها شروع شدند ؟ مثلا یک سری کاربر را از یک OU به یک OU جدید که بایستی به آن منتقل شوند ، انتقال داده اید ؟

در این حالت Computer ها تنظیمات مربوط به policy های خود را از GPO ای دریافت کرده اند که مربوط به Domain است ، اما الان هر GPO دیگری که به OU مورد نظر link شده باشد نیز به آنها اعمال خواهد شد . اما در همین حین اگر گزارش هایی که از کاربران دریافت می کنید ، نمایانگر این است که تنظیمات جدیدی اعمال نشده است و مدت ها است که تغییراتی بر روی GPO ها اعمال نشده است ، در این زمان است که قطعا مشکلی در فرآیند اعمال شدن GPO ها در شبکه به وجود آمده است و شما بایستی با استفاده از ابزارها و روش هایی که در ادامه ذکر می کنیم این مشکلات را برطرف کنید، باید این احتمال را هم بدهید که برخی از کاربران هنوز به شما در خصوص مشکل به وجود آمده خبر نداده اند .

4-سئوال بعدی این است که چه مقدار زمان از لحظه اعمال کردن GPO توسط شما گذشته است ؟ در این موارد شما تنظیمات GPO را انجام داده اید و آن را به یک سری کاربر و کامپیوتر اعمال کرده اید ، اما این تغییرات هنوز اعمال نشده اند . فراموش نکنید که Group Policy در وهله های زمانی معینی بروزرسانی می شود ، و شما پس از اعمال کردن Group Policy بایستی مدت زمانی صبر کنید که تغییرات مربوطه از طریق اکتیودایرکتوری اعمال شوند .

Group Policy در پس زمینه بروز می شود و شما متوجه آن نخواهید شد بنابر این صبر کنید . به یاد یک ضرب المثل زیبا افتادم : گر صبر کنی ز غوره حلوا سازم . خوب ممکن است زمانی که شما تغییرات را اعمال کرده اید درست لحظه ای بعد از زمان تعیین شده برای اعمال و بروز رسانی روزانه تنظیمات بوده باشد و شما بایستی تا مرحله بعدی از این وهله زمانی منتظر بمانید و یا سیستم را ری استارت و یا log off کنید .

برخی از policy های هستند که قطعا برای اعمال شدن آنها بایستی سیستم ها یا log off شوند و یا restart شوند ، برای مثال folder redirection ، software installation و بسیاری از اسکریپت های نوشته شده ، برای اینکه به درستی اعمال شوند نیازمند restart شدن سیستم هدف هستند . معمولا برای اعمال شدن این policy ها در قالب ایمیل به کاربران جهت اطلاع رسانی برای log off کردن و یا restart کردن سیستم خود اطلاع رسانی می شود ، از جهتی می توان صبر کرد تا در انتهای روز و اتمام زمان کاری کاربر کامپیوتر خود را خاموش کرده و یا log off می کند .

نکته در اینجاست که شما می توانید به زور و با استفاده از دستورات تحت شبکه کامپیوتر هدف را restart کنید اما اینکار پیشنهاد نمی شود زیرا ممکن است باعث از بین رفتن فعالیت های کاری کاربر سیستم شود . برخی اوقات ممکن است که شما policy مانند folder redirection را اعمال کنید اما حتی بعد از اینکه سیستم هدف restart شد ، policy مورد نظر اعمال نمی شود ، در اینگونه موارد حتما مشکلات و موارد مشترکی که بین کاربران و سیستم ها وجود دارند را شناسایی و پرس و جو کنید ، مشکلات مشترک کلید حل مشکل شما خواهد بود ، ممکن است کندی لینک WAN شما باعث تاخیر در اعمال شدن policy های تحت forest شده باشد ، اما در ادامه به بررسی راهکار های موجود خواهیم پرداخت .

از ابزارها استفاده کنید

سئوالات بالا شما را بسیار به حل مشکل نزدیک می کنند ، خوب الان که سئوالات مقدماتی بالا را ازخود پرسیدید اگر حتی به نتیجه نهایی نرسیده باشید محدوده مشکل به وجود آمده را کوچک کرده اید و می توانید در مراحل بعدی سریعتر راهکار مشکل را بیابید . الان وقت آن رسیده است که از ابزارهایی مثل ping و لاگ های userenv استفاده کنید . این خیلی سخت است که کلیه مسائل مربوط به حل مشکلات Group Policy را در یک مقاله بگنجانیم اما در این مقاله نکات مهم این موراد را به شما آموزش خواهیم داد :

1-تنظیمات ارتباطی شبکه کامپیوتر مشکل دار را بررسی کنید . شاید فقط Group Policy Processing نباشد که مشکل دارد و کلا کامپیوتر نمی تواند به شبکه دسترسی پیدا کند و کابل شبکه آن دچار مشکل شده است یا سوکت آن از جای درآمده است. شاید برای شما هم جالب باشد که مشکلی به این سادگی می تواند به نظر مشکلی بسیار حاد باشد . باید به این موضوع توجه کنید که فعالیت Group Policy به نوعی پیچیده است و درک مفهوم اینکه دقیقا به چه شکل فعالیت می کند می تواند بسیار به شما در خصوص رفع ایراد آن کمک کند ، اما تمام این فعالیت ها در قالب این مقاله نمیگنجد .

برای اینکه بتوانید به درستی با مفاهمی Group Policy و شیوه فعالیت آن آشنا شوید به شما پیشنهاد می کنم که کتاب Group Policy: Management, Troubleshooting, and Security نوشته Jeremy Moskowits را حتما مطالعه کنید. به شخصه دو کتاب در خصوص Group Policy خوانده ام اولی از انتشارات مایکروسافت بود اما این کتاب به نظرم از کتاب مایکروسافت بهتر بوده و بسیاری از تنظیمات Group Policy را که برای هر مدیر شبکه ای لازم است که بداند را بطور کامل تشریح کرده است ، در ضمن کلیه فرآیند ها و شیوه عملیات و اعمال شده و همچنین رفع ایراد Group Policy را نیز به خوبی تشریح کرده است . به نظرم با خواندن این کتاب یک Group Policy Expert خواهید شد .

2-تنظیمات DNS ماشین کاربر را بررسی کنید و مطمئن شوید که براحتی می توانید فرآیند Name Resolution را انجام دهد. شاید بتوان گفت بیش از پنجاه درصد مشکلاتی که در خصوص Group Policy با آن برخورد می کنید مربوط به تنظیمات DNS است ، ممکن است رکوردهای DNS دچار مشکل شده باشند و یا خود DNS سرور دچار مشکل شده باشد . در این میان ممکن است کاربر تنظیمات DNS خود را بصورت دستی تغییر داده باشد و یا تنظیمات DHCP سرور برای برقراری ارتباط درست با سرور DNS انجام نشده باشد و بسیاری دیگر از همین قبیل مشکلات .

به خاطر داشته باشید برای پردازش یک Group Policy کامپیوتر ابتدا بایستی لیستی از GPO هایی که به آن مرتبط شده اند را بدست بیاورد . برای انجام اینکار بایستی از دامین کنترلر Query گرفته شود و در ادامه برای اینکه یک کامپیوتر بتواند دامین کنترلر را بیابد بایستی آدرس درستی از DNS سروری داشته باشد که دارای رکوردهای SRV باشد که به سرویس مرود نظر درخواست وی را هدایت کنند . بنابراین اگر DNS دچار مشکل شود قطعا Group Policy نیز دچار مشکل خواهد شد.ابزارهایی که با استفاده از آنها می توان مشکلات مربوط به DNS را حل کرد عبارتند از دستورات ipconfig ، nslookup ، netdiag ، dnscmd و ...

3-شما می توانید با استفاده از کنسول ( GPMC ( Group Policy Management Console و استفاده از ویزارد Group Policy Results یک کاربر یا کامپیوتر را مشخص کرده و نتیجه اعمال GPO ها بر روی آن را در قالب فایل HTML مشاهده کنید و ببینید که چه تنظیماتی بر روی کاربر یا کامپیوتر مورد نظر اعمال شده است . این ویزارد از query های WMI برای دریافت اطلاعات از سیستم ها استفاده می کند. شما این فایل را می توانید در جایی ذخیره کرده و بر روی هر کامپیوتری که دوست داشتید توسط مرورگر خود باز کرده و آن را تجزیه و تحلیل کنید .

این ابزار واقعا می تواند برای رفع مشکلات GPO به شما کمک کند . روش جانبی و شاید جایگزینی که من خودم بیشتر از آن استفاده می کنم استفاده از دستور خط فرمانی به نام gpresult.exe است که در واقع یک ابزار از پیش نصب شده بر روی سیستم کاربران است که می تواند از کلیه تنظیمات مربوط به Group Policy که بر روی کامپیوتر اعمال شده اند query گرفته و آنرا به شما نمایش دهد ، اما نکته در اینجاست که این دستور را بایستی در کامپیوتری که دچار مشکل شده است اجرا کنید و حضو در آن محل به گفته ای اجباری است .

در خصوص استفاده از این ابزار در مقاله ای جداگانه بصورت مفص صحبت خواهم کرد . علاوه بر ارائه گزارش های ( RSOP ( Resultant Set Of Policy توسط ویزارد GPMC ، ابزار GPMC می تواند به روش های دیگری نیز به شما جهت برطرف کردن مشکلات GP کمک کند . برای مثال اگر شما بر روی یک GPO راست کلیک کنید شما می توانید با استفاده از گزینه Save Report تمامی تنظیماتی که در آن GPO انجام شده است را بصورت یکجا در قالب یک فایل HTML مشاهده کنید .

با استفاده از این روش شما می توانید متوجه شوید که با اعمال شدن یا بهتر بگوییم link شدن این GPO به یک کامپیوتر یا کاربر چه تغییراتی می بایست بر روی کامپیوتر یا کاربر مورد نظر اعمال شود . طبیعی است که این روش خیلی خیلی بهتر از این است که با استفاده از Group Policy Editor یک GPO را باز کنیم و همه قسمت هایش را دانه به دانه باز کنیم که متوجه بشویم چه تنظیماتی توسط آن اعمال شده است !!!! یکی دیگر از مزایای GPMC این است که دقیقا به شما می گوید که کدام GPO در حالت Disabled قرار دارد و یا به کدام OU لینک شده است و آیا از جایی Inherit کرده است یا نه و بسیاری دیگر از موارد که می تواند توسط این کنسول پرکاربرد انجام شود .

نتیجه

رفع ایراد های مربوط به Group Policy خیلی خیلی از بحث این مقاله گسترده تر و بیشتر است ، اما با استفاده از همین نکات شما می توانید نقطه شروع خوبی در فرآیند رفع ایراد Group Policy را داشته باشید و بسیاری از مشکلات نه چندان پیچیده را به همین روش حل کنید و یا حداقل اگر نتوانستید مشکل را بصورت کامل رفع کنید آنرا محدود می کنید و می توانید بررسی های دقیقتری بر روی آن داشته باشید.

برخی از افراد که بصورت حرفه ای به برطرف کردن مشکلات Group Policy می پردازند log برداری از فایل Userenv.dll که در واقع موتور اصلی کارکرد Group Policy است را پیشنهاد می کنند ، اینکار چندان آسان نیست . مایکروسافت در مقاله ای به نحوه انجام دادن چنین log برداری اشاره کرده است ، اما شیوه تجزیه و تحلیل کردن log های آن را توضیح نداده است ، برای اینکار بهتر است به همان کتابی که معرفی کردیم مراجعه کنید.

روش دیگر این است که شما log های موجود در Event Viewer مربوط به رویدادهای Userenv را در قسمت Application Log چک کنید ، اما باز هم تجزیه و تحلیل کردن Event های ویندوز هم کار چندان آسانی نیست ، وب سایت www.eventid.net به بررسی بیشتر این event ها در ویندوز پرداخته است و بصورت تخصصی در قالب تالارهای گفتمان مشکلات احتمالی ناشی از هر log را بررسی کرده است که می تواند برای کار شما منبع خوبی باشد .

در نهایت و البته شروع مقاله های بعدی در خصوص مشکلات بوجود آمده در خصوص Group Policy Processing حتما جستجو در اینترنت را پیشنهاد می کنم ، به عنوان کارشناس بایستی بتوانید نیاز خود را در اینترنت بیابید. این مقاله شروعی بود برای مقاله های تخصصی بعدی که بیشتر در خصوص Group Policy با همدیگر صحبت خواهیم کرد ، امیدوارم مورد توجه شما قرار گرفته باشد.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات