Group Policy و پیاده سازی نرم افزارها (قسمت 2)

Software Deployment - پیاده سازی نرم افزار

یکی از جالب ترین ویژگی های Group Policy می تواند پیاده سازی نرم افزار ها و Application ها از طریق آن باشد . برای مثال در محیط Active Directory با تعداد زیادی User/Computer نصب نرم افزار روی تک تک سیستم ها کاری دشوار و وقت گیر خواهد بود . لذا با استفاده از Group Policy در حالات مختلف می توانید به پیاده سازی نرم افزار بپردازید . البته در این راهکار چندین نکته مهم وجود دارد که در طول مطلب به آنها اشاره خواهیم کرد . سعی می کنیم از توضیحات اضافی پرهیز کرده و مطلب را بصورت عملی پیش ببریم . 
از جمله مهم ترین نکاتی که باید به آن دقت کرد این است که در ساختاری که قصد انجام عملیات Software Deployment را دارید بایستی حتما از سیستم های عامل بکار رفته آگاه شوید . ساختار مناسب استفاده از Windows Server 2000 یا بالاتر همراه با Active Directory و وجود Client هایی با سیستم عامل Windows 2000 Professional یا بالاتر می باشد . در این بحث فرض بر این است که سرور ما از Windows Server 2003 استفاده می کند لذا توضیحات ارایه شده بر مبنای این سیستم عامل می باشد .


اگر به مطلب شماره 1 رجوع کنید مشاهده خواهید کرد که در دو بخش User/Computer Configuration زیر بخش Software Settings وجود دارد . تفاوت این دو بر اساس توضیحاتی که در مطلب قبل به آن اشاره کردیم مشخص است . اما آنچه در اینجا برای ما مهم خواهد بود تفاوت در نوع و نحوه پیاده سازی نرم افزار بر اساس این دو گروه است . 

اول از همه باید بدانیم که برای پیاده سازی نرم افزار دو روش کلی زیر وجود دارد :
1. Assigning Software 
Publishing Software .2  

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

GP1



برای هر دو بخش User/Computer Configuration می توانید با انتخاب Software Installation و کلیک راست بر روی آن و سپس انتخاب Properties در سربرگ General دقت کنید که ایا Assign و Publish برای هر دو گروه وجود دارد یا خیر ! 
( حتما این کار را انجام دهید ) 
پس متوجه شدید که Assign و Publish برای کدامین گروه وجود دارد . بهتر است نگاه جزئی تری به تفاوت این دو بیاندازیم :

Assigning Software :

هنگامیکه نرم افزاری را به یک کاربر Assign می کنید اعلانی از این نرم افزار در Start Menu در اولین ورود User پس از Assign ظاهر می شود . همچنین تغییرات رجیستری Local مانند Filename Extension  نیز آپدیت خواهد شد . این نرم افزار در اولین اقدام User برای استفاده از فایلی متناسب با نرم افزار ( برای مثال فایلی با پسوند PDF متناسب با Acrobat Reader ) و یا با انتخاب نرم افزار از طریق منوی Start فعال خواهد شد .

هنگامیکه نرم افزاری را به کامپیوتر Assign می کنید نرم افزار بطور کامل روی کامپیوتر نصب خواهد شد . این نصب کامل درست در اولین Start Up کامپیوتر صورت می گیرد .



Publishing Software : 

هنگامیکه نرم افزاری را برای کاربران Publish می کنید به ظاهر در کامپیوتر مربوط به کاربر نصب نخواهد شد . همچنین اعلانی برای معرفی نرم افزار در منوی Start یا Desktop دیده نمی شود . از طرف دیگر , نرم افزار ویژگی های اعلان خود را در Active Directory ذخیره کرده و اطلاعات مربوط به نرم افزار را مانند نام نرم افزار و فایل های مرتبط با آن را در اختیار کاربر قرار می دهد . آنگاه کاربر می تواند از طریق  Add Or Remove Programs در Control Panel و یا با اجرای فایلی مرتبط با نرم افزار مربوطه برای نصب نرم افزار اقدام نماید . 


با توضیحات فوق تفاوت بین دو حالت نصب برای User ها و Computer ها بررسی شد . حال این وظیفه شماست که با بررسی نیاز کاربران و همچنین تحلیل دو راه فوق برای پیاده سازی نرم افزار اقدام کنید . اما سوالی که ممکن است مطرح شود این است که آیا هر نرم افزاری را می توان با این روش پیاده سازی کرد ؟ 

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

GP2


با انتخاب Software Installation و کلیک راست در سمت راست کنسول عبارت New  Package را برگزینید . در کادری که باز می شود دقت کنید که برای نصب چه Package هایی را قبول می کند .

همانطور که متوجه شدید دو نوع Package برای نصب قابل پذیرش است :

• Windows Installer Package که خود بر دو نوع زیر است : 

1. Native Windows Installer Package که از ابتدا پسوند msi دارد و توسط تولید کنندگان نرم افزار برای نصب نرم افزار ایجاد شده است . 

2. Repackaged مواردی هستند که فایل نصب آنها msi نبوده و پس از تبدیل به msi تغییر یافته اند . برای ساخت فایل های نصب msi از روی فایل های دیگر مسیر و روال خاصی وجود دارد که خارج از بحث این مقاله بوده لذا به آن نمی پردازیم .

• Application ( . Zap ) Files این نوع فایل ها نیز جزء مواردی هستند که می توانید در پیاده سازی نرم افزار از آنها استفاده کنید . این فایل ها با پسوند zap در واقع فایل های Text ی هستند که نحوه نصب یک فایل نصب ( مانند Install.exe یا Setup.exe ) را تعریف می کنند . دقت کنید که در این حالت نرم افزار تنها می تواند بصورت Publish پیاده سازی شود .

برای آگاهی از اینکه فایل های Zap چگونه ساخته می شوند بهتر است نگاهی به آدرس http://support.microsoft.com بیاندازید .

مثال عملی Software Deployment


جزئیاتی که تا اینجا بررسی کردیم توضیحات و معرفی پیاده سازی نرم افزار بود . حال به بررسی عملی پیاده سازی نرم افزار می پردازیم .
محیط انتخابی در این بررسی Windows server 2003 Active Directory بوده و فایل نصب Adminpak.msi می باشد . 

1. برای نصب و پیاده سازی نرم افزار مربوطه ابتدا Active Directory Users and Computers را باز کردیم . با انتخاب Properties مربوطه به Domain Controllers سربرگ Group Policy را بر گزیدیم .

GP3


در حالت پیش فرض Default Domain Controller Policy وجود دارد . برای پیاده سازی نرم افزار همین Policy را انتخاب کردیم . 

2. در کنسول Group Policy بخش Computer Settings را انتخاب می کنیم . با انتخاب Software Installation و سپس کلیلک راست در سمت راست کنسول New  Package را انتخاب می کنیم . در کادر باز شده مسیر مورد نظر را اعلام می کنیم . دقت کنید که این مسیر می تواند مسیری در شبکه نیز باشد . اصطلاحا فایل قابل نصب را بر روی کامپیوتری در شبکه قرار می دهیم که به آن Software Distribution Point می گویند . 

GP5


3. پس تایید مسیر در کادری که باز می شود سوالی در مورد نوع نصب خواهد پرسید . ملاحظه می کنید که تنها Assign را می توانید بر گزینید . آن را انتخاب کرده و OK کنید .

GP6


4. پس از آن در داخل کنسول ( سمت راست ) فایل های Assign شده را ملاحظه می کنید .

GP7


برای اینکه نتیجه را ملاحظه کنید بایستی کامپیوتر یکبار Restart گردد تا در هنگام Startup نرم افزار مورد نظر نصب گردد . آنگاه در Add Or Remove Programs می توانید از صحت نصب آن آگاه شوید . 

GP8


البته باید بدانید که Software Deployment مباحث گشتره دیگری نیز دارد . مواردی چون اضافه کردن Patch یا Service Pack و یا آپدیت نرم افزار و .. که خارج از بحث این مقاله است . برای اطلاعات بیشتر می توانید منابع موجود در سایت مایکروسافت را بررسی کنید و یا در خواست خود را در تاپیک مربوط به این مقاله قرار دهید تا در مورد آن بحث و تبادل نظر کنیم . تاپیک مربوطه در انتهای مقاله معرفی خواهد شد . 

Software Restriction - محدودیت اجرای نرم افزار


این ویژگی که در ویندوز XP و ویندوز Server 2003 بعنوان یک ویژگی جدید قرار گرفته است اجازه می دهد تا محیط کامپیوتر در مقابل اجرای کد و نرم افزار های غیر مطمئن حفاظت شده باشد . این Policy نیز مشابه قبل قابل اعمال بر روی User و یا Computer است و با توجه به نیازی که وجود دارد بایستی از طریق User/Computer Configuration برای ایجاد آن اقدام کرد . 

بطور خلاصه می توان توانایی های Software Restriction را در زیر لیست کرد :

1. کنترل نرم افزار های قابل اجرا بر روی کامپیوتر .
2. اجازه اجرا و یا عدم اجرای نرم افزار خاص برای کامپیوتر و یا کاربر .
3. جلوگیری از اجرای فایل خاص ( مانند ویروس یا تروجان ) بر روی کامپیوتر . 
و ...

Software Restriction در واقع جرئی از Policy های امنیتی Group Policy است که در این مطلب بررسی کرده ایم . این Policy امنیتی مشابه تمام Policy های دیگر قابل اعمال بر روی Site / Domain / OU می باشد . در این Policy دو سطح امنیتی از پیش تعریف شده وجود دارد :

• Unrestricted : به نرم افزار ها اجازه می دهد بطور کامل اجرا شوند .
• Disallowed : به هیچ نرم افزاری اجازه اجرا نمی دهد .

در هر دو حالت فوق می توانید اصطلاحا Ruleهایی تعریف کنید که بعنوان استثنا تلقی شده و خارج از سطوح تعیین شده قرار گیرد . در این رابطه بعدا مفصل صحبت خواهیم کرد . 


اما Software Restriction بر چه اساسی کار خواهد کرد :

وقتی کاربری برای اجرای نرم افزاری اقدام می کند ان نرم افزار ابندا باید توسط Policy ها تعریف شده مورد شناسایی قرار گیرد . این شناسایی به چهار طریق زیر صورت می گیرد :

1. Hash : مجموعه ای از بایت ها با اندازه ثابت که بطور یکتا نرم افزاری را معرفی می کند .
2. Certificate : وجود یک Document دیجیتالی برای شناسایی اطلاعات .
3. Path : مسیر نرم افزار یا فایل اجرایی .
4. Internet Zone : زیر درخت معرفی شده از طریق IE برای مثال Internet , Intranet , Restricted Sites و ..

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

 Hash Rule
 Certificate Rule
Path Rule
Internet zone Rule


برای مثال اگر فایلی داشته باشید که که بر روی آن Hash Rule با سطح امنیتی Unrestricted اعمال شده باشد ولی فایل مد نظر در فولدری باشد که Path Rule آن با سطح امنیتی Disallowed تعریف شده باشد انگاه فایل مورد نظر اجرا خواهد شد . چراکه اولویت Hash Rule بالاتر از Path Rule می باشد . 

بعد تعریف کلی از Software Restriction نوبت به آن می رسد تا با اجرای دو مثال عملی نحوه پیاده سازی این Policy را بررسی کنیم . برای اجرای Software Restriction Policy سه مرحله را باید انجام دهید :

1. تعیین سطح امنیتی 
2. ایجاد Rule 
3. انتخاب نوع فایل

مثال عملی Software Restriction


مراحل بررسی شده در صفحه قبل را به ترتیب مورد ارزیابی قرار می دهیم :

مسیری که برای دسترسی به Software Restriction Policy باید طی کنید به قرار زیر است :

Windows Setting  Security setting  Software Restriction Policy
در هر دو بخش User / Computer Settings می توانید این Policy را ببینید .

1. در ابتدا در Software Restriction Policy تنظیماتی وجود ندارد . بایستی با انتخاب آن و کلیک راست و سپس New Software Restriction Policies نسبت به ایجاد آن اقدام کنید . 

GP9


2. در مرحله بعدی در بخش Security Levels بنا بر سیاست کاری خود یکی از دو حالت تعیین شده را انتخاب می کنید .
3. در بخش بعدی ( Additional Ruls ) یکی از Rule هایی را که قبلا بررسی کردیم انتخاب می کنید . در این تست Path Rule بر گزیدیم .

GP10


4. نهایتا نوبت به Designate File Type می رسد که مربوط به تاثیر Rule های تعریف شده بر روی نوع فایل هاست . انتخاب نوع فایل در این بخش برای تمام Rule ها یکسان و مشترک خواهد بود . 

در ادامه با ارایه یک مثال بطور عملی مطالب بیان شده را مورد استفاده قرار می دهیم :

فرض کنید می خواهیم برنامه Notepad.exe برای کاربران قابل استفاده نباشد . به ترتیب مراحل زیر را طی می کنیم :

1. ابتدا سطح امنیتی را بصورت Unrestricted تعریف می کنیم .
2. در مرحله بعدی در بخش Additional Rules یک Path Rule جدید برای برنامه Notepad.exe اضافه می کنیم . ملاحظه می کنید که در این Rule سطح امنیتی را Disallowed قرار داده ایم .

GP12



3. در بخش Enforcements نیز می توانید تنظیمات مورد نظرتان را تعیین کنید .
4. Designate File Types در واقع نوع فایل هایی که توسط Rule های نوشته شده تحت تاثیر قرار می گیرد . همانطور که قبلا اشاره کردیم لیست نوع فایل ها بین تمام Rule ها مشترک می باشد . در این مرحله نیز می توانید File Type های مدنظرتان را اضافه و یا پاک کنید .

نهایتا با اتمام مراحل فوق ایجاد یک Restriction Policy به پایان رسیده است . حال برای اینکه از صحت این Policy مطمئن شوید ابتدا یک فایل با پسوند .doc را با نرم افزار Word و سپس با Notepad باز کنید و نتیجه را ببینید : 

GP13


Audit - رهگیری رخداد


Audit همانطور که از نامش پیداست بررسی و باز بینی Object در سیستم عامل است . در واقع پروسه رهگیری فعالیت های User و یا سیستم ( که Event نامیده می شود ) در یک کامپیوتر Audit نام دارد . بدین طریق می توانید اطلاعات مربوط به رخداد های فوق را در فایل های Log ثبت کرده و پس از بررسی تصمیم نهایی را اتخاذ کرد . اگر این Policy را در Domain تعریف کرده باشید آنگاه Log های ثبت شده در Domain Controller ذخیره می شوند بدون توجه به اینکه Logon روی کدام کامپیوتر صورت گرفته است . چراکه Domain Controller مسوول احراز هویت در پروسه Logon می باشد . 

برای پیاده سازی Audit بایستی ابتدا در Group Policy رخدادی را که برای Audit مد نظر دارید انتخاب کنید . مسیری که برای دسترسی به audit Policy باید طی کنید عبارتست از :

Computer Configuration  Windows settings  Security settings  Local Policies  Audit Policy

در تصویر زیر می توانید بخش مربوطه را ملاحظه کنید : 

GP14


برای اینکه با هر کدام از موارد پیش رو بیشتر آشنا شوید Help مربوط به هر یک را ( همانطور که در مقاله شماره 1 ذکر کردیم ) مطالعه کنید .

مثال عملی Audit


یکی از مواردی که دارای اهمیت می باشد استفاده از Audit Object Access است که بر خلاف دیگر گزینه ها بایستی در دو مرحله اجرا شود . برای مثال عملی این بخش این گزینه را انتخاب می کنیم .

روش کار بدین شکل است :

برای فعال سازی Audit Object Access و اجرای آن تنظیمات دو بخش در سیستم عامل مورد نیاز است . اول اینکه Policy مربوطه باید در Group Policy تعریف گردد . برای Audit دو انتخاب Success و Failure را ملاحظه می کنیم . 

GP15


این مطلب نشان دهنده این است که بررسی رخداد ها هم در حالت دسترسی موفقیت آمیز و هم در حالت دسترسی ناموفق ثبت و Log برداری شوند . توصیه می کنیم در مواردی که ضروری است حتما این دو انتخاب را برگزینید . برای مثال از Policy هایی که انتخاب این دو گزینه در آن از اهمیت بالایی برخوردار است Policy های مربوط به Logon می باشد :

Audit Account Logon Events
Audit Logon Events

دقت کنید که این دو متفاوت می باشند . سعی کنید تفاوت آنها را پیدا کنید !

در مرحله بعد بایستی بر روی Object مربوطه Audit را فعال کنیم . برای مثال از فولدری با نام List در درایو C , Properties میگیریم . در سربرگ Security مطبق شکل زیر گزینه Advanced را انتخاب می کنیم .

GP16


در کادر باز شده ملاحظه می کنید که سربرگ Auditing وجود دارد :

GP17


سپس با کلیک بر روی Add یوزر مورد نظر خود را برای رهگیری بر می گزینیم . پس Apply , Policy مورد نظر فعال گشته است . 

این Policy را برای محیط Local فعال کردیم . حال اگر بخواهیم در محیط Active Directory یک Object خاص را مورد بررسی قرار دهیم به طریق زیر عمل می کنیم :
1. ابتدا کنسول Active Directory Users and Computers را باز می کنیم .
2. در کنسول باز شده View را کلیک کرده و سپس Advanced Features را انتخاب می کنیم . ( مطابق شکل )

GP18


3. در ادامه Object مورد نظر خود را بر گزیده و سپس از طریق دکمه Action , Properties را نتخاب می کنیم . در اینجا ما Domain Controller را انتخاب کردیم .

GP19


4. مطابق شکل در سربرگ Security گزینه Advanced را کلیک می کنیم . ادامه مسیر مانند قبل است و با اضافه کردن User می توانیم رخداد های مربوط به آن را رهگیری کنیم .

GP20


دقت کنید که پس از انتخاب User مورد نظر در ادامه کادری برای شما باز می گردد که Audit Entry نام دارد و از طریق آن می توانید مواردی را که برای شما اهمیت بیشتری دارد برای رهگیری انتخاب کنید . این کادر هم در حالت Local و هم در Active Directory مورد استفاده قرار می گیرد .

نکته مهمی که در اینجا مورد توجه قرار می گیرد این است که Log ها ثبت شده را به چه طریق بررسی کنیم . Event Viewer نام نرم افزاری است که بصورت Built In در ویندوز وجود دارد . این نرم افزار را می توانید از طریق Administrative Tools ببینید . کنسول آن مطابق شکل زیر است :

GP21


همانطور که ملاحظه می کنید در بخش Security می توانید Log های ثبت شده مرتبط با Audit را بررسی و باز خوانی کنید .

بررسی نهایی

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

نظرات 0 + ارسال نظر
ایمیل شما بعد از ثبت نمایش داده نخواهد شد