فاطمه قرباوی
کارشناس شبکه و مجازی سازی

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

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

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

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

1- IP Address های DNS به خوبی تنظیم نشده است !

برای اینکه GP به صورت کامل و بدون نقص کار کند،باید کامپیوتری که GP مدیریتش میکند به خوبی توسط اکتیودایرکتوری شناخته شده و احراز هویت شود.حال این فرآیند احراز هویت و شناسایی شدن کامپیوترها در شبکه به دوست همیشگی ادمینها، DNS برمی گردد.زمانی که کلاینت از DHCP در شبکه IP میگیرد، به DNS مراجعه میکند تا لیست دامین کنترلرهای شبکه را برای پیدا کردن دامینی که به عضویت آن درآمده است را بگیرد.

سپس مجددا از طریق DNS به دامین رسیده و توسط پروتکل Kerberos در دامین احراز هویت میشود و در نهایت وارد دامین میشود.اگر DNS در شبکه به خوبی کار نکند،کامپیوترها نمی توانند از طریق آن دامین را پیدا کنند و مجددا از طریق آن توسط Kerberos احراز هویت شوند و در نهایت نمی توانند به اکتیودایرکتوری دسترسی پیدا کنند،پس تمامی سرویسهای اکتیودایرکتوری از جمله گروپ پالسی fail خواهند شد.پس مثل همیشه،پایه ی بسیاری از مشکلات ممکن است از DNS و خوب کار نکردن آن باشد.همیشه در وهله ی اول برقراری ارتباط در شبکه و صحت DNS را بررسی کنید.

2- GPO لینک داده نشده است !

با استفاده از کنسول مدیریت گروپ پالسی یا GPMC شما میتوانید گروپ پالسی آبجکت ایجاد و آن را به قسمتهای دیگر لینک دهید.ایجاد گروپ پالسی تنها یک دوم همه ی مراحلی است که برای داشتن گروپ پالسی موثر باید طی شود.سپس GPO باید به نودهای دامین ،OU یا سایت لینک شود.زمانیکه یک GPO به یکی از نودهای اکتیو دایرکتوری لینک میشود،سپس به همه ی آبجکتهای زیر نظر یا در دامنه ی آن نود اعمال میشود.

خوب برای اینکه اطمینان حاصل کنید که گروپ پالسی به آن محدوده ای که میخواستید اعمال شده است یا نه،بهتر است تب scope در کنسول زیر را مورد بررسی قرار دهید،چرا که در برخی موارد GPO ای که ایجاد کرده اید به خوبی به دامنه های مورد نظرتان لینک داده نشده است و باعث fail شدن گروپ پالسی شما میشود.

وب سایت توسینسو

3- تنظیمات GPO برای یک آبجکت از مسیری اشتباه وارد شده است !

زمانی که میخواهید تنظیمات مربوط به گروپ پالسی را انجام دهید،شما از دو قسمت میتوانید استفاده کنید:یکی Computer Configuration و دیگری User Configuration است.این دو قسمت به خوبی واضح و مشخص هستند و شما از طریق GUI به راحتی می توانید تنظیمات مربوط به GP را انجام دهید.بدیهی است که تنظیمات Computer Configuration محدوده ی مربوط به computer objectها را پشتیبانی میکند و تنظیمات مربوط به User Configuration تنها محدوده ی مربوط به تنظیمات و پالسی های مربوط به user ها تحت پوشش قرار میدهد.

برای مثال اگر شما تنظیماتی در GPO خود برای اعمال شدن بر روی منوی Start کاربران اعمال کنید ، اما GPO خود را به OU ای مرتبط کنید که در محدوده آن هیچگونه حساب کاربری وجود نداشته و صرفا حساب کامپیوتری یا Computer Account در آن وجود دارد ، Policy شما بی تاثیر خواهد بود و اثری بر روی کامپیوتر ها ندارد. مثلا فرض کنید شما دو OU به نامهای امور مالی و آموزش دارید.دوکاربر UNITY و Jovial در OU امور مالی قرار دارند.

شما یک GPO ایجاد میکنید و در آن تنظیمات مربوط به منوی استارت ( که در زیر مجموعه ی User Configuration است ) ایجاد میکنید.سپس این GPO را به OU آموزش لینک میکنید.خوب بدیهی است که هیچ کدام از کاربرانی که در OU امور مالی قرار دارند این پالسی را نمیگیرند.پس حتما دقت داشته باشید که پالسی ها را متناسب با اینکه میخواهید به کاربران اعمال شوند یا کامپیوترها،در قسمت درستی از GP اعمال کنید و به درستی آن را به OU های دیگر لینک کنید.

وب سایت توسینسو

4- Valueهای مربوط به GPO ها (Enable یا Disable) به خوبی تنظیم نشده است!

زمانی که شما وارد کنسول مدیریت گروپ پالسی میشوید ،همانطور که مشاهده میکنید آپشن های مختلفی به صورت سلسله مراتبی در زیر هر گزینه مشاهده میکنید.در نهایت برای انجام تنظیمات به دو گزینه ی Enable یا Disable برخورد خواهید کرد.البته در Administrator Temple شما به 3 گزینه روبرو خواهید شد:Enable ,Disable و Not Configured. لازم به ذکر است که value ی هر کدام از این سه گزینه ،معادل value ی در ریجیستری است.

حال در خیلی موارد اشتباهی که ممکن است پیش بیاید این است که شما با انتخاب Enable ،قابلیتی را حذف یا از بین ببرید یا با انتخاب Disable قابلیتی را ایجاد کنید.پس حتما فراموش نکنید که عنوان پنجره ای که باز شده را به دقت مشاهده کنید و براساس عنوان آن پنجره ،Enable یا Disable کردن آن قابلیت را انتخاب کنید.در مورد Not Configured نیز لازم به ذکر است که شما با انتخاب این گزینه ، هیچ تنظیمی را اعمال نکرده اید،بلکه آن قابلیت را خنثی نگه داشته اید.درواقع Not Configure از اعمال ریجیستری به مورد مورد نظرتان خودداری میکند.

5- Override کردن پالسی ها به یکدیگر

این قسمت را با دقت بخوانید چرا که در بیشتر موارد مشکل از همین Override کردن پالسی ها به یکدیگر است.زمانی که تعدا د GPO ها در اکتیودایرکتوری زیاد میشود و حجم پالسی های تعریف شده بالا میرود،گروپ پالسی پیچیده و مدیریتش سخت تر میشود.همانطور که میدانید گروپ پالسی از سطوح مختلفی تشکیل شده و هرکدام از این سطوح در کل گروپ پالسی برای خود دارای اولویت هستند.قبل از اینکه به بررسی مشکلی که ممکن است در این مورد پیش بیاید بپردازم به طور خلاصه به بررسی سطوح مختلف در گروپ پالسی میپردازم.

به عنوان مثال یک اکتیو دایرکتوری که دارای چندین دامین کنترلر است را در نظر بگیرید.هر کدام از این دامینها ممکن است دارای چندین کامپیوتر باشند.این کامپیوترها در فضایی در کنار یکدیگر قرار میگیرند و سایت را تشکیل میدهند.خوب بدیهی است که در تک تک این کامپیوتر ها کنسول مدیریتی گروپ پالسی وجود دارد.

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

  1. Local Group Policy Object : هر کامپیوتری دارای کنسول مدیریتی گروپ پالسی است که به صورت لوکال در آن ذخیره شده است.این کنسول به صورت پیش فرض دارای تنظیماتی میباشد.در نهایت امر اولویت اجرای پالسی ها با کنسول مدیریتی گروپ پالسی لوکال میباشدو در اکتیودایرکتوری این قسمت از پایین ترین اولویت برخوردار است.
  2. Site :اولویت بعداز Local Group Policy Object اولویت با GPO هایی است که به سایت شامل کامپیتورهای دامین و اکتیودایرکتوری لینک داده شده است ، است.پالسی ها بر اساس اولویتی که administrator در تب Linked Group Policy Objects تعیین میکند،مشخص میشود.GPO ای که کمترین link order را دارد،اخیرا اعمال شده پس بیشترین اولویت را دارد.
  3. Domain: اولویت بعدی با دامینها است.زمانیکه چندین دامین وجود دارد .طبیعاتا GPO های زیادی به دامینها توسط administrator ها ،لینک زده شده اند .آخرین پالسی،آخرین آپدیت است پس بیتشرین اولویت را دارد.
  4. Organizational Unit : گروپ پالیسی هایی که به OU های parent لینک زده شده اند،در بین دیگر OU ها بیشترین اولویت را دارند.بعد از OU های parent، اولویت با child هاست.

خوب پس مشخص شد که ضعیفترین و کم اولویت ترین پالسی مربوط به پالسی های لوکال کامپیوتر است و بالاترین اولویت با پالسی های است که به OU داده شده است.معمولا ترتیب این اولویتها را با LSDOU تعریف میکنند.خوب برگردیم به بحث اصلیمون.حال شما تصور کنید که به کاربرانی که در دامین قرار دارند یک GPO مبنی بر disable شدن run در منوی استارت ،لینک کرده باشید و همچنین برای کاربران یک OU در دامین پالسی مبنی بر enable بودن این قابلیت لینک کرده باشید.در اینجا براساس اولویتها بدیهی است که کاربران OU پیروز خواهد بود چرا که اولویت پالسی هایی که به OU داده میشود نسبت به پالسی هایی که به دامین داده میشود بیشتر است.

این اولویت بندی ها برای تک تک GPO ها ارزیابی میشود.در بسیاری موارد شما ممکن است یک پالسی در سطح دامین اعمال میکنید اما برای برخی از کاربران اجرا نمیشود.فراموش نکنید که در همچنین مواقعی پله به پله ابتدا دریابید که کدام قسمتها پالسی را دریافت نکرده اند،سپس براساس سطوح اولویت بندی شده،به دنبال ریشه ی مشکل باشید.

  • نکته: RSoP.msc یا Resultant Set of Policies کامندی است که با اجرای آن در سیستم مقصد میتوانید کلیه تنظیمات اجرا شده در آن سیستم ،و اینکه تنظیمات از کدام قسمتها گرفته شده اند را مشاهده کنید.مانند شکل زیر:
وب سایت توسینسو

در قسمت اول ،برخی از دلایل اعمال نشدن GP در اکتیودایرکتوری را مورد بررسی قرار دادیم .در این قسمت نیز به معرفی دلایلی دیگر از اعمال نشدن GP خواهیم پرداخت.

6- اعمال تنظیمات مربوط به Security Filtering در GPO

همانطور که در مقاله Security filtering و WMI filters و تفاوت آنها با یکدیگر، صحبت کردم،Security filtering مشخص میکند که پالسی های تعریف شده به چه کاربران،کامپیوترها و گروههایی اعمال میشود که البته به صورت پیش فرض تنها Authenticated Users در آن لیست وجود دارد.درواقع Security filtering چیزی غیر از ACL یا Access List Control نمی باشد.Security Filtering برخلاف سادگی که به نظر میرسد دارد،دارای پیچیدگی های به خصوصی میباشد.شکل زیر کنسولی را نمایش میدهد که شما از طریق آن میتوانید گروهها،کاربران و کامپیوترهایی که میخواهید پالسی به آنها اعمال شود را تعریف میکنید.

وب سایت توسینسو

درواقع با اضافه کردن هر کاربر،کامپیوتر و گروه ،شما به ACL مربوط به آن GPO یک آبجکت افزوده اید و در تب Delegation به آن دسترسی Read و Apply Group Policy داده اید . این عملیات را در شکل زیر میتوانید مشاهده کنید.

وب سایت توسینسو

خوب حال بیایید Detailوارتر صحبت کنیم.برای اینکه به شکل بالا دسترسی پیداکنیم،لازم است وارد کنسول مدیریتی GP شوید (GPMC ) و GPO ای را که میخواهید جزئیات آن را مشاهده کنید را انتخاب کنید.حال به جای انتخاب تب Scop ، تب Delegation را انتخاب کنید. تب Delegation ،قابلیت هایی که برای هر آبجکت در GPMC تعریف شده است ،را لیست کرده است.همانطور که گفتم Authenticated users در default GPO وجود دارد.

ابتدا باید آبجکت مورد نظر را انتخاب کنید که در اینجا ما Authenticated users را انتخاب میکنیم.با انتخاب گزینه ی Advanced در گوشه ی پایین سمت راست،قادر خواهید بود تنظیمات امنیتی آن GPO ای که انتخاب کرده اید ( یا Authenticated users ) را مشاهده کنید.حال به پنجره ی باز شده در بالا خواهید رسید. پس از این طریق شما میتوانید وارد تنظیمات امنیتی هر آبجکت و دسترسی های آن در گروپ پالسی شوید.در اینجا شما میتوانید دسترسی های مجاز را به هر گروه،کاربر و کامپیوتر در شبکه تعریف کنید.در برخی موارد این دسترسی ها ممکن است به صورت نادرست اعمال شده باشد که این باعث اعمال نشدن گروپ پالسی میشود.

دربیشتر موارد Authenticated Users ( به صورت پیش فرض نیز وجود دارد ) مشکل ساز میشود.اکثر مدیران شبکه براین تصورند که Authenticated Users تنها شامل user account ها میباشد.در صورتی که بدین صورت نیست.Authenticated Users شامل کلیه ی آبجکتهایی میباشد که در اکتیودایرکتوری احراز هویت میشوند که این شامل همه ی کاربران و گروههای دامین ( که یا در اکتیودایرکتوری ایجاد شده اند یا به صورت پیش فرض جزئی از آن بوده اند ) و کامپیوترهایی که به عضویت دامین در آمده اند، میباشد.

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

7-اعمال تنظیمات مربوط به ( Enforced ( No override در GPO

به صورت پیش فرض هر GPO که تعریف میشود دارای Security filtering ، Enforced ( No override ) ، block inheritance و ... نمی باشد.حتما لازم است شخصی این تنظیمات را اعمال کند.در قسمت قبلی در مورد تنظیمات مربوط به Security filtering صحبت کردم،در این قسمت به بحث در رابطه با Enforced خواهم پرداخت.Enforced قابلیتی است که این امکان را به شما میدهد زمانی که شما میخواهید GPOای که تعریف کرده اید ،بدون در نظر گرفتن پالسی های با اولویت بالاتر از خود، اعمال شود.

از اینرو درک این موضوع که GPO ها به ترتیب دارای اولویت local,site,domain,OU که به اختصار به آنها LSDOU میگویند،حائز اهمیت است.یعنی زمانی که یک GPO تعریف میشود،این GPO در گرفتن پالسی ها از این ترتیب اولویت ها پیروی میکند،در ابتدا پالسی های اعمال شده به OU ایی را میگیرد که در آن قرار دارد،سپس پالسی های دامینی که عضو آن است،سایت و در نهایت کامپیوتر لوکالی که با آن بالا آمده است .اما زمانی که از قابلیت Enforced استفاده میشود،در واقع تعریف میکنید که بدون در نظر گرفتن این ترتیب اولویتها،پالسی هایی که در GPO مورد نظر وضع شدن اند باید اعمال شوند.

وب سایت توسینسو

خوب حال اینکه Enforced به چه طریق میتواند در اعمال شدن گروپ پالسی خللی ایجاد کند به این برمیگردد که شما فراموش کنید که با تیک دار کردن این گزینه ،GPO مورد نظرتان اولویتی بالاتر از دیگر GPO ها پیدا خواهد کرد.مسئله ی بسیار مهمتری که باید به آن دقت داشته باشید و در بسیاری موارد سبب ایجاد ابهام و عدم اعمال شدن گروب پالسی میشود را در زیر در قالب یک مثال برایتان توضیح خواهم داد:

خوب میدانید که ساختار گروپ پالسی به صورت سلسله مراتبی می باشد و با ایجاد هر OU ی جدید ، OU هایی در مرتبه ی بالاتری نیز قرار خواهند داشت.تصور کنید که در بالای این ساختار سلسله مراتبی یک OU جدید ایجاد میکنید و قابلیت Enforced را به آن اعمال میکنید.همچنین ممکن است بعد از مدتی این قابلیت را به OU ای در پایین ساختار اعمال کنید،توجه داشته باشید که در این شرایط OU موجود در بالای ساختار سلسله مراتبی نسبت به OU پایینی دارای اولویت بالاتری خواهد بود.

این مسئله در بسیاری موارد سبب ایجاد ابهام و عدم اعمال گروپ پالسی میشود.ممکن است شما پالسی های جدیدی را در OU موجود در پایین ساختار سلسله مراتبی تعریف کنید و قابلیت Enforced را هم به آن اعمال کنید اما این پالسی ها اعمال نشود،زیرا که ممکن است پالسی های اعمال شده در OU های بالای ساختار با قابلیت Enforced ،پالسی ای مخالف با آن را دارا بوده باشند و چون اولویت بالاتری دارند سبب عدم اعمال پالسی های مورد نظر شما در پایین ساختار میشود.

8- Block Inheritance را بررسی کنید

یکی دیگر از قابلیتهایی که پیشنهاد میشود در حالت معمول استفاده نشود،قابلیت Block Inheritance میباشد.همانطور که در این سری مقالات زیاد اشاره کردم،ترتیب اولویتها در گروپ پالسی از LSDOU تبعیت میکند.خصوصیت Block Inheritance زمانی که فعال باشد ،مانع از پیروی کردن GPO مورد نظر از این ترتیب میشود.به عبارتی این قابلیت باعث میشود GPO مورد نظر از بالاسری های خود چیزی را به ارث نبرد.به عنوان مثال مجددا ساختار سلسله مراتبی اکتیودایرکتوری و گروپ پالسی را به یاد بیاورید.اگر در سطح را در نظر بگیریم و در سطح دوم این قابلیت Block Inheritance را اجرا کنیم،سطح دوم کلیه ی پالسی های اعمال شده در سطح بالاسری خود را به ارث نخواهد برد و از آن تبعیت نخواهد کرد.در شکل زیر میتوانید تفاوت را در اعمال کردن و نکردن Block Inheritance مشاهده کنید:


وب سایت توسینسو
وب سایت توسینسو


از اینرو در برخی موارد با اعمال پالسی ها و تصور اینکه این پالسی ها به کلیه ی زیر مجموعه های GPO مورد نظرمان اعمال میشود،ممکن است یکی از OU ها در چندین سطح پایین،با داشتن این قابلیت از پیروی کردن از پالسی هایی که شما تنظیم کرده اید سرباز زند.پس بهتر است مراقب این گزینه نیز باشید.

9-WMI filter ها مهم هستند

با توجه به این مقاله ،میدانید که WMI filter ابزاری قدرتمند است برای کنترل اینکه چه آبجکتهایی ( چه کاربران و کامپیوترهایی ) تنظیمات GPO مورد نظرمان را بگیرند.این قابلیت میتواند به یک یا چند GPO لینک شود.WMI filter برا ساس ساختار true/false کار میکند.زمانی که true بازگردانده شود WMI filter اعمال میشود و زمانی که false بازگردانده شود ،تنظیمات مورد نظر اعمال نخواهد شد.

البته موارد بسیاری ممکن است در WMI filter پیش بیاید که موجب اعمال نشدن گروپ پالسی شود.به عنوان نمونه،اگر فایل WMI filter تغییر کند یا پاک شود اما لینک آن در ظاهر همچنان وجود دارد،WMI filter و تنظیمات آن نیز اعمال نخواهد شد.یا اگردر WMI filter ، ارورهای گرامری و نحوی ایجاد شود ( WMI filter بر اساس and/or کار میکند )،این باعث میشود که query ها دچار مشکل شوند و در نهایت پالسی ها اعمال نخواهد شد و WMI filter نیز fail خواهد شد.و در نهایت اگر query ها به اشتباه طراحی شده باشند یا منطق آن در رسیدن به true درست نباشد ،GPO نیز اعمال نخواهد شد.امروزه از این قابلیت زیاد استفاده نمی شود چرا که second party و third party های زیادی وجود دارد که عملکردی مشابه WMI filter را بسیار راحت تر و سریعتر انجام میدهند.

نتیجه گیری

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

مسئله ی دیگری که باید به آن دقت کنید ساده نگه داشتن ساختار گروپ پالسی است.اجازه دهید گروپ پالسی که طراحی کرده است از قوانین پایه ای و default خود پیروی کند و در صورت امکان و ضرورت از Security filtering,Enforced,WMI filters و ... استفاده کنید.چرا که در بسیاری موارد و در ساختار های بزرگ گروپ پالسی،فراموش خواهید کرد که در چه قسمتهایی چه استثنائات و تنظیمات خاصی اعمال کرده ایدو همین به مرور باعث ایجاد collision و از تنظیم در رفتن گروپ پالسی میشود.


فاطمه قرباوی
فاطمه قرباوی

کارشناس شبکه و مجازی سازی

کارشناس شبکه و مدیریت شبکه های مایکروسافتی ، دارای مدارک MCITP ، CCNA و VCP و علاقمند به مجازی سازی و توسعه شبکه های مجازی مبتنی بر VMware می باشم .

نظرات