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

گروپ پالیسی چگونه کار می کند؟ معرفی ساختار Group Policy و عملکردش

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. Group Policy Component

اگر بخواهیم از صفر شروع کنیم می گوییم : همانطور که می دانید Group Policy ساختاری است که برای اعمال مجموعه ای از تنظیمات یا policy ها به مجموعه ای از کاربران یا کامپیوترها استفاده می شود.Group Policy در شبکه حکم دست راست admin ها را دارد که اگر نباشد کار خیلی خیلی سخت خواهد بود.

این ساختار از دو قسمت اصلی تشکیل شده است:Group Policy engine یا همان موتور GP و CSEs که مخفف client-side extensions است و مسئولیت نوشتن یک سری تنظیمات خاص را در کامپیوترهای مقصد کلاینتها برعهده دارد.در واقع می توان اینطور برداشت کرد که Group Policy Engine یک رئیس است که به عوامل خود دستور می دهد که کاری را بر روی افراد یا سیستم هایی که تحت امر آن هستند انجام دهد و Client Side Extensions در واقع همان عوامل هستند که دستور داده شده را بر روی اهداف اجرا می کنند.

تنظیمات GP در GPO ها یا همان Group Policy Object قرار دارندکه این GPO ها در دامین ها زندگی می کنند و می توانند به دیگر قسمتهای اکتیودایرکتوری های دیگر لینک داده شوند مانند سایت ها ، دامین ها یا OU ها.تنظیمات GPO ها از ساختار سلسله مراتبی اکتیودایرکتوری تبعیت می کنند و توسط object های مقصدی که تحت تاثیر قرار گرفته اند ارزیابی می شوند.در واقع GP یکی از دلایل اصلی گسترش اکتیودایرکتوری می باشد.

GP یکی از گروه های تکنولوژی مدیریت است که همه ی این گروه ها به صورت کلی به عنوان IntelliMirror شناخته شده است، خدماتی که به کاربران ارائه می دهند شامل دسترسی دائم به برنامه های کاربردیشان ، تنظیمات کاربردیشان،پروفایل های roaming کاربران و داده های کاربران از هر کامپیوتر مدیریت شده ای حتی اگر به شبکه متصل نباشند.

اگر بخواهم ساختار کلی GP را به زبان ساده توضیح دهم ، client side و server side را در این مورد مثال میزنم.در واقع هسته GP یا Core Group Policy که به آن Group Policy engine هم گفته می شود حکم server side را در GP دارد که شما از طریق آن می توانید کلیه تنظیمات را به عنوان administrator انجام دهید و به کامپیوترها و کاربرانی که می خواهید در قالب GPO اعمال کنید. Client-side extension هم از نامش پیداست و مانند client side کلیه ی تنظیمات را می گیرد،تفسیر می کند و در نتیجه بر روی مقصدی که برایش تعریف شده اعمالشان می کند.حال اینکه GP Core از چه اجزایی تشکیل شده است را در ادامه بررسی خواهیم کرد.

Group Policy Component

به شکل زیر توجه کنید:

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

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

  • Group Policy Object : مجموعه ای از تنظیمات GP است که در دامین به عنوان یک شی مجازی (virtual object ) ذخیره شده است و از دو قسمت Group Policy container و Group Policy template تشکیل شده است.Group Policy container که شامل تنظیمات مربوط به یک GPO است ، در اکتیودایرکتوری هر دامین کنترلر بر روی دامین ذخیره شده است.Group Policy template شامل داده های یک GPO است و در Sysvol ( در ادامه در موردش صحبت خواهیم کرد ) درون /Policies subdirectory ذخیره شده است.
  • Group Policy Object Editor : حتما این کنسول را بارها و بارها دیده اید .این کنسول با اجرای دستور gpedit.msc در run اجرا می شود و شما از طریق آن می توانید تنظیمات مربوط به GPO را ویرایش کنید.این کنسول تحت عناوین Group Policy snap-in، Group Policy Editor یا Gpedit شناخته می شود.از خصوصیات قابل توجه Group Policy Object Editor قابلیت توسعه پذیری اش است. شما می توانید کلیه تنظیمات مورد نیازتان را در هر object اعمال کنید،یا در صورت نیاز به صورت کامل یک GP جدید درست کنید .نکته ای که وجود دارد Group Policy Object Editor توانایی خواندن و نوشتن در AD ،Sysvol و local GPO را دارد.توجه داشته باشید که در ویندوز سرور 2008 این اجزا در Group Policy Management Editor قرار گرفته است.
  • Server-side snap-in : نودهای Group Policy Object Editor ،MMC snap-in هستند.این snap-in ها شامل administrative templates ، scripts ،security settings ، software installation ، folder redirection ، remote installation services و internet explorer maintenance هستند.هرکدام از این snap-in ها قابل توسعه دادن هستند ،به عنوان مثال security setting snap-in شامل snap-in های توسعه داده شده ی مختلف دیگری هستند.کسانی که مایلند خودشان snap-in ها را متناسب با نیاز خودشان در Group Policy Object Editor طراحی کنند،می توانند policy های بیشتری را داشته باشند. این snap-in های توسعه داده شده همچنین قابلیت خواندن و نوشتن در local GPO را دارا می باشند.
  • Domain Controller :در یک اکتیودایرکتوری فارست،دامین کنترلر سروری است که شامل یک کپی قابل نوشتن و خواندن از پایگاه داده اکتیودایرکتوری می باشد، در عمل replication اکتیودایرکتوری شرکت می کند و دسترسی به منابع شبکه را کنترل می کند.GPO ها در دو قسمت ذخیره می شوند: 1- در پایگاه داده اکتیودایرکتوری 2- در sysvol به اشتراک گذاشته شده.
  • Client: در اکتیودایرکتوری کلیه GPO ها بر روی کلاینت ها که کامپیوترهای عضو دامین هستند اعمال می شوند.GPMC و RSoP snap-in از کلاینت ها query می گیرند تا تعیین کنند که policy ها چگونه به یک کاربر و کامپیوتر خاص اعمال شده است.
  • (GPMC ( Group Policy Management Console : این کنسول با ارائه نمایی از GPO ها ،سایت ها،دامین ها و OU ها ،مدیریت GP را چندین برابر راحتتر می کند.این کنسول هم در ویندوز سرور 2003 استفاده می شود هم در ویندوز سرور 2008.GPMC مدیریت GP را با ارائه ی فضایی برای مدیریت جنبه های مختلف هسته GP مانند scoping، ,delegating ,filtering را آسانتر کرده است.شما همچنین می توانید از GPO ها back up بگیرید و آنها را restore نیز کنید.GPMC خصوصیتی را دارد که به ادمین ها این امکان را می دهد که پیشبینی کنند با اعمال این GPO ها در شبکه چه تغییراتی در کدام کامپیوتر ها و کاربران رخ خواهد داد.GPMC توانایی خواندن و دسترسی نوشتن در Sysvol با استفاده از پروتکل SMB را دارد.همچنین با استفاده از پروتکل LDAP توانایی خواندن و نوشتن در AD را فراهم می کند.به علاوه GPMC توانایی خواندن event log ها و RSoP را می دهد.
  • Resultant Set of Policy (RSoP) infrastructure: RSoP یک MMC است که تعیین می کند کدام تنظیمات مربوط به policy ها به کامپیوترها و کاربران اعمال شده است یا تاثیرات این تنظیمات را پیش بینی می کند.این snap-in دارای همان باینری هایی است که snap-in مربوط به Group Policy Object Editor داراست (gpedit.dll ).شاید شما بخواهید تنظیمات مربوط به GPO را مشاهده کنید و ببینید که چه policy هایی اعمال شده است ،خوب شما قادر به مشاهده این تنظیمات خواهید بود اما تفاوتی در اینجا وجود دارد و آن این است که شما تنها قادرخواهید بود تنظیمات مربوط به یک GPO واحد را مشاهده کنید اما در RSoP شما تغییرات حاصل از GPO ها را به صورت یکجا و باهم مشاهده خواهید کرد.RSoP قابلیت نوشتن در AD ، Sysvol ، Event log ، ساختار RSoP و local GPO را دارد.اگرچه RSoP snap-in قابلیت نوشتن در AD و Sysvol را دارد،بیشتر کارهای مربوط به پیش بینی policy ها و گزارش دهی GP توسط ارتباطات مربوط به RPC/COM با استفاده از RSoP چه در کلاینت و چه در دامین کنترلر انجام میشود.
  • WMI : مدیریت زیرساخت هایی را که کنترل و مانیتورینگ منابع سیستم را در طول مجموعه ای از ارتباطات معمول ، برعهده دارد و ساختاری منطقی و مدلی سازگار از ساختاربندی،حالت و عملکرد ویندوز را ارائه می دهد.WMI داده های مقصد را برای administrator آماده می کند،داده هایی مانند فهرست نرم افزار و سخت افزارها،تنظیمات و اطلاعات مربوط به پیکربندی ها.خوب به عنوان مثال می توان گفت که WMI در مورد سخت افزار اطلاعاتی مانند حافظه CPU و فضای دیسکها ، در مورد نرم افزار داده های مربوط به رجیستری،درایورها،فایل سیستمها،اکتیودایرکتوری،سرویس نصب ویندوز،پیکربندی شبکه و داده های کاربردی را در اختیار administrator قرار می دهد.همچنین WMI filtering در ویندوز سرور 2003 به شما این امکان را می دهد که query هایی بر اساس این اطلاعات ( که در بالا در موردشان صحبت شد ) گرفته شود.این query ها (WMI filter ) مشخص می کند که کدام کاربران و کامپیوترها همه ی تنظیمات policy در GPO ایی که شما query گرفتید،دریافت می کنند. همانطور که می بینید این بخش در قسمت کلاینت قرار دارد و کلیه اطلاعات لازم را از سیستم کلاینت گرفته و به admin می دهد تا عملیات لازم صورت گیرد. به نوعی این یک Agent نضب شده برای دریافت اطلاعات سخت افزاری و نرم افزاری از سیستم کلاینت ها می باشد.
  • SYSVOL : یک پوشه به اشتراک گذاشته شده است که در سرور یک کپی از فایلهای public دامین را که البته در میان همه ی دامین کنترلرها replicate می شوند، ذخیره می کند. فولدر sysvol بصورت پیش فرض در Subfolder های پوشه( systemroot (%\systemroot\sysvol\sysvol ذخیره شده است و به صورت اتوماتیک وقتی که یک سرور دارای اکتیودایرکتوری می شود،ساخته می شود.sysvol شامل بزرگترین قسمت GPO ، که Group Policy Template است،می باشد.Group Policy template شامل تنظیمات مربوط به Administrative Template-based policy ، تنظیمات امنیتی،script file ها و اطلاعات مربوط به application هایی که برای software installation باید در دسترس باشند ،است.sysvol از طریق سرویسFRS یا File Replication Service بین تمامی دامین کنترلرها replicate می شود.
  • LDAP : یک پروتکل استاندارد اینترنت است که توسط application ها برای دسترسی به اطلاعات موجود در یک اکتیودایرکتوری استفاده می شود.LDAP مستقیما از طریق TCP اجرا می شود.این پروتکل به عنوان راهی برای به حداقل رساندن پیاده سازی ها برای دسترسی کلاینتها به اکتیودایرکتوری ایجاد شد از اینرو می توان به راحتی از دایرکتوری ها در طول برنامه کاربردی استفاده کرد.
  • SMB: یک پروتکل استاندار اینترنت است که ویندوز از آن برای به اشتراک گذاری فایل ها،پرینترها و سریال پورتها استفاده می کند.به عنوان مثال در محیط شبکه،سرور فایل سیستمها و منابع را برای دسترسی کلاینت آماده می کند،کلاینت درخواستهای SMB برای منابع می فرستد،سرور در جواب درخواست SMB کلاینت منابع مورد نیاز را برایش ارسال می کند.این خلاصه ای از عملکرد SMB بود.
  • RPC : پروتکلی است که برای درخواست یک سرویس ازطریق شبکه از یک برنامه که در یک remote computer قرار گرفته است،استفاده می شود.این پروتکل نیز مانند دو پروتکل قبلی از مدل کلاینت/سرور استفاده می کند.یعنی کلاینت درخواست می دهد و سرور پاسخ می دهد. مدل های مختلفی از RPC وجود دارد که در حوصله این مقاله نمی گنجد.

خوب ، میدانم که هنوز به صورت کامل متوجه روند کار GPO نشدید ! به ادامه بحث توجه کنید: فرض کنید که شما به عنوان ادمین شبکه تصمیم به اعمال policy هایی در شبکه می گیرید.قاعدتا برای تعیین و اعمال policy ها در ویندوز سرور ( فرض کنید 2008 ) به مسیر زیر رفته و از پنجره زیر استفاده خواهید کرد:

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

خوب این پنجره همان GPMC است.سپس شما بعد از انتخاب گروهی که می خواهید به آن Policy اعمال کنید در نهایت وارد کنسول زیر خواهید شد:

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

این هم چیزی نیست غیر از همان Group Policy Object Editor .خوب زمانی که شما اینجا پالسی مورد نظرتون رو اعمال می کنید، این تنظیمات به (RSoP (RSoP یک MMC است که تعیین می کند کدام تنظیمات مربوط به policy ها به کدام کامپیوترها و کاربران اعمال شده است ) توسط پروتکل LDAP (که یک پروتکل استاندارد است برای دسترسی به اطلاعات موجود در یک اکتیودایرکتوری ) ارسال می شود.سپس LDAP یک نسخه از این تنظیمات را به اکتیودایرکتوری می برد و در آنجا ذخیره می کند.

همزمان با این عمل پروتکل SMB (یک پروتکل است که ویندوز از آن برای به اشتراک گذاری فایل ها،پرینترها و سریال پورتها استفاده می کند ) کلیه تنظیمات را از سه قسمت GP Object Editor ، GPMC و RSoP می گیرد و در sysvol ( sysvol یک پوشه به اشتراک گذاشته شده است که در سرور یک کپی از فایلهای public دامین را که البته در میان همه ی دامین کنترلرها replicate می شوند، ذخیره می کند ) ذخیره می کند. در واقع با اینکار تنظیمات شما به دیگر دامین کنترلرها نیز فرستاده میشود.

خوب در نهایت کلیه تنظیماتی که انجام شد توسط پروتکل RPC به کلاینت ارسال می شود.برای فرستادن این تنظیمات از دو قسمت RSoP و WMI استفاده می شود که این طبیعی است ،چرا که RSoP مثلا میگه که این پالسی ها باید بر روی کاربر مثلا x اعمال شود،WMI منابع این کاربر را بررسی می کند و در نهایت پالسی ها به کاربر مورد نظر اعمال خواهد شد. انشاا.. در قسمتهای بعدی در مورد عملکرد GP و راههای جلوگیری از fail شدن آن بیشتر صحبت خواهیم کرد.


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

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

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

نظرات