مقدمه:

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

بدون شک در راستای حفظ و نگهداری و Auditing روند ایجاد و تغییر مستندات سازمانی استفاده از sharepoint بالغترین و دست کم در ایران به واسطه عدم نیاز به پرداختهای بعضا چند ده هزار دلاری تهیه لایسنس ، در دسترس ترین راه حل ممکن خواهد بود اما در سناریو پیش رو و با هدف آشنایی با جنبه های عمومی Object Auditing صرفا متمرکز بر قابلیتهای Advanced Audit Policy در ویندوز خواهیم بود. در ادامه یک سناریو پر کابرد از این گروه یعنی ثبت رخداد ها و اخذ گزارشات Customize شده از تغییرات صورت گرفته بر فایلهای مهم واقع در   File server را از طریق ترکیبی از قابلیتهای Advanced Audit Policy در اکتیو دایرکتوری و Audit collection services در System Center operations manager 2012 و  Report Builder در Sql server 2008 R2 پیاده سازی خواهیم کرد.

 

دیاگرام عمومی سناریو

 

آشنای با Event ID های مرتبط با Auditing  File Access

Auditing  File Access از طریق رخدادهای زیر کنترل میشود:

رخداد 4656 – اولین رخدادی است هنگامی که کاربر اقدام به دسترسی به فایل(object ) می نماید ایجاد میشود و بیانگر نوع دسترسی مورد درخواست کاربر میباشد. این رخداد از طریق فعال شدن Handle Manipulation در زیر شاخه Object Access ایجاد میشود.

رخداد 4663 – بیانگر عملی است که کاربر پس از دسترسی به فایل بر روی فایل انجام داده است.رخداد پس از 4656

رخداد 4658 –  بیانگر زمانی است که فایل توسط کاربر بسته شده است و از آن برای دریافتن مدت زمان باز بودن فایل از طریق همبستگی ان با رخداد 4656 دارای Hanlde id یکسان استفاده میشود.

4660 – بیانگر حذف شدن فایل یا فولدر توسط کاربر است

4990 – بیانگر باز شدن فایل توسط کابر است

4670 – بیانگر تغییرات اعمال شده در مجوزهای دسترسی فایل توسط کاربر است

5145 – همتراز رخداد 4565 حاوی اطلاعات بیشتری همچون نام کامپیوتر کاربر و مسیر فایل هدف است و از طریق آیتم Audit detailed file shared واقع شده در گروه Object access  ایجاد میشود

رخدادهای فوق به صورت پیش فرض تولید نمیشوند و نیاز است تا از طریق اعمال Group policy های مرتبط با Advanced audit policy  وبرخی Policy Auditها روی SACL -System Security access list های محلی آنها را فعال کنیم.  در ادمه به شرح هر یک از این موارد خواهیم پرداخت

 

فعال کردن File access auditing از طریق Group policy

1-       ورود به پنل Group policy management از طریق دستور gpmcmsc

2-       انتخاب OU در بردارنده Computer object های هدف سپس کلیک راست روی OU و انتخاب Create a GPO in this domain, and link it here... مطابق با تصویر زیر



3-تخصیص یک نام (Audit policies )به پالیسی جدید در حال ساخت

4-کلیک راست روی OU جدید و انتخاب گزینه Edit

  

 

5- ورود به شاخه Computer Configuration->Polices->Windows Settings->Security Settings->Advanced Audit Policy Configuration و انتخاب Object access از لیست و فعال کردن subcategory ها مطابق با تصویر زیر

6-اعمال پالیسی به سرورهای هدف و جلوگیری از اعمال به سایر سرورها

از آنجایی که ممکن است Computer object های دیگری هم در OU هدف وجود داشته باشند و مایل به اعمال این پالیسی به آنها نباشیم از طریق ویژگی Security filtering محدوده اثر این پالیسی را محدود میکنیم

در قدم اول Authenticated Users  را از لیست  حذف میکنیم

 

 

سپس با افزودن Computer object های هدف باعث خواهیم شد پالیسی جدید صرفا به این کامپیوترها اعمال شود.

 

 

7-در ادامه  جهت auditing دسترسی به فایلها نیاز است تا این تنظمیات از طریق System access control list - SACL مرتبط به پوشه های مورد نظر اعمال شوند.

 

 

8-در این برگه نوع فعالیتهای مرتبط با فایلها و فولدرهایی که هدف Auditing هستند را انتخاب میکنیم . در این سناریو قصد داریم روند حذف و ایجاد شدم فایلها و فولدرها را مانیتور کنیم

 

 9- از آنجایی که با فعال شدن File security Auditing در فایل سرور ها حجم و تعداد لاگهای مرتبط به طرز سرسام آوری افزایش میباد لازم است تا تنظمیات event log size و محل قرارگیری این لاگها و روند پشتیبان گیری از آنها مورد بازبینی قرار گیرد . برای این منظور از مسیر Computer Configuration\Administrative Templates\Windows Components\Event Log Service اقدام به انجام این تنظیمات خواهیم کرد

 

 

 

10-  تا به اینجا مراتب تنظیمات Group policy و File security auditing را  با موفقیت به انجام رسانیدم جهت حصول اطمینان از اعمال پالیسی ها از طریق دستور auditpol.exe /get /category:"object access " مراتب را چک میکنیم

فاز دوم انتقال لاگ فایلهای تولید و ذخیره شده محلی به پایگاه داده مرکزی System Center operations manager  است که در ادامه به آن می پردازیم

آشنایی با Audit collection Services-ACS

ویژگی Audit collection Services-ACS در SCOM امکانی را به وجود می آورد که به واسطه آن کلیه Event log های نشات گرفته ازAudit policy های فعال شده در سرورهای  سطح شبکه  به یک پایگاه داده مرکزی جهت تحلیل و گزارشات آتی منتقل شوند.به صورت پیشفرض هنگامی که یک Audit policy در کامپیوتری فعال میشود لاگهای مرتبط در Local security log آن سیستم ذخیره میشوند و رفته رفته حجم قابل توجهی را به خود اختصاص میدهند

به واسطه استفاده از ACS این امکان فراهم می آید که همگی این Security log های پراکنده در کامپیوترهای مبتنی بر Windows,Linux,Unix,… در پایگاه داده ای مبتنی بر SQL تجمیع شوند و از طریق ابزارهای آنالیز و گزارش موجود در SQL Server مورد تحلیل و بررسی قرار گیرند.

Audit Collection Services از سه جز بنیادین به شرح زیر تشکیل یافته است.

ACS Forwarder

این سرویس همزمان با نصب Operation Manager Agent در کامپیوترهای هدف نصب میشود و تا زمانی که به طور مرکزی از س��ت SCOM Sever دستور فعال شدن را دریافت کند غیر فعال باقی میماند. پس از فعال شدن این سرویس کلیه Security Event ها به سمت سرویس ACS Collector ارسال میشوند. نصب این Agent عمدتا از طریق صفحه Discovery wizard که طی آن کلیه Computer object های موجود در Active directory شناسایی و کاندید نصب agent میشود انجام میپذیرد.

 

ACS Collector

این سرویس وظیفه دریافت،پردازش اولیه و ذخیره سازی Security Event log ها از Forwarder  های پراکنده و ذخیره سازی آنها در پایگاه داده مرکزی را به عهده دارد.این پردازش اولیه مشتمل است بر تفکیک رخدادها به اجزا کوچکتر جهت توزیع آنها مابین جداول پایگاه داده همینطور فیلترینگ اولیه جهت کنار گذاشتن و جلوگیری از ذخیره سازی رخدادهای غیر لازم. وابسته به تعداد Forwarder ها و حجم رخدادهای ارسالی و با در نظر گرفتن ملاحضات Capacity planning به یک یا بیش از یک Collector سرور نیاز خواهیم داشت.

ACS Database

سومین و آخرین لایه این معماری دیتابیس ACS است که وظیفه تجمیع و تحلیل  رخدادهای وابسته به Audit policy را به عهده دارد . این سرویس میتواند به همراه ACS Collector در یک سرور نصب و فعال شود اما بر مبنای Best Practice ها توصیه میشود در سروری مختص به SQL و به طور مجزا نصب شود

از ویندوز 2008 و ویستا به بعد و تحت عنوان Advanced Audit Policy Configuration تعداد 53عدد پالیسی تفکیک شده تحت 9 گروه اصلی   با هدف ثبت ریزترین جزیئات مرتبط با تغییرات فایلها و فولدرها،رجیستری،اشیاء اکتیو دایرکتوری و لاگین کاربران به عنوان جانشینی برای پالیسسهای کلاسیک واقع در Security Settings\Local Policies\Audit Policy به این سیستم عاملها افزوده شد.فعال شدن هر یک از این پالیسی ها در گروه متناظر خود موجبات ذخیره شدن لاگهای  متناظر در event log های ویندوز را فراهم خواهد کرد. اضافه شدن این 53 پالیسی تفکیک شده این تسهیل را فراهم آورد تا از خیل عظیم لاگهای بی مورد و بی استفاده تولید شده به واسطه فعال شدن Audit policy های کلاسیک که به آن شاره شد رهایی یابیم و قادر باشیم به آسانی رخدادهای هدف را ثبت و رصد کینم .

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

توضیح : گزارشاتی که از طریق برگه Reports در SCOM قابل مشاهده هستند همگی از طریق Sql server report builder طراحی و به SCOM لینک شده اند . در تصویر زیر صفحه گزارشات را در SCOM2012 مشاهده میکنید

 

 

از آنجایی که قصد داریم مستقیما با جداول پایگاه داده Audit collection services کار کنیم بیاید نگاهی به ساختار آن داشته باشیم . در اولین نگاه متوجه میشویم خبری از جداول با نامهای استاندارد و معنا دار نیست و با صدها جدول پویا با اسامی عجیب و غریب که همه روزه هم به تعداد انها افزوده میشود مواجه هستیم

 

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

 

 

صحت اطلاعات View فوق را با یک دستور Select ساده به دنبال Event id 4663 که رخداد نشانگر حذف فایل است امتحان میکنیم . نتیجه مثبت است و اطلاعات کافی در خصوص فایلهای پاک شده بازگزدانده میشود.

 

 

از نتیجه Query بالا در میابیم اطلاعات با ارزش Event های مرتبط با Object auditing در فیلدهای پایگاه داده به نامهای String01 لغایت String20 ذخیره میشوند و متناظر با هر رخدادی باید به دنبال پیدا کردن فیلد متناسب با آن رخداد باشیم که به آسانی نیز از طریق بررسی چشمی مانند مثال بالا قابل یافت شدن هستند.

 

پس از شناسایی فیلدهای حاوی داده های بارازش از طریق متد بالا Query را قدری ساخت یافته تر و با هدف اخذ خروجی قابل ارائه قدری تغییر میدهیم و تعدادی شرط نیز جهت محدود شدن بازه خروجی به آن اضافه میکنیم

همانطور که ملاحظه میکنید موفق شدیم گزارشی از فایلهای پاک شده تهیه کنیم.

 

 

قدم بعدی ساخت یک گزارش رسمی از طریق Sql report builder و دسترسی به آن از طریق پنل SCOM خواهد بود.از طریق وب پنل Report builder وارد محیط میشویم

 

در قسمت Audit Reports یک پوشه جدید به نام  My reports ایجاد میکنیم

 

 

اکنون با کلیک روی دکمه Report builder  وارد محیط ساخت گزارشات میشویم


  

 

در صفحه Getting started از آنجایی که مایل هستیم قدم به قدم گزارش را از ابتدا شخصا طراحی کنیم گزینه Blank report را انتخاب میکنیم تا وارد محیط ساخت گزارش شویم

 

 

در این محیط قادر به تعریف و انجام موارد زیر هستیم :

تعریف Datasource  : به زبان ساده یعنی Connection به یک پایگاه داده و جداول مرتبط

تعریف Dataset : به زبان ساده یعنی جدول پایگاه داده مجازی که با Query که به آن منتسب میکنیم پر میشود

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

Graphic Design : هر گزارشی دارای شکل و شمایلی گرافیکی است مشتمل بر سطر ها و ستونها و فیلدها و مشخصه های بصری آنها همچون فونت و رنگ و از این دست. این موارد را نیز در همین صفحه طراحی و تنظیم میکنیم

در اولین قدم نیاز به اتصال به یک پایگاه داده که همان پایگاه داده Audit collection services است داریم پس با کلیک راست روی Add datasource در پنل سمت چپ محیط گزارش ساز وارد صفحه تنظمیات Datasource میشویم

در این پنجره ضمن تخصیص یک نام به Datasource جدید نوع آنرا از نوع Sql server انتخاب نموده و از طریق دکمه Build یک Connection string  جهت برقراری ارتباط صفحه گزارش با پایگاه داده نهایی ایجاد میکنیم . وابسته به تنظمیات و Security model سرور SQL هدف در صفحه Connection properties یکی از دو گزینه use windows authentication یا use sql server authentication را انتخاب خواهیم کرد.

 

 

قدم بعدی ایجاد یک Dataset جهت اخذ و نگهداری رکوردهای مورد نظر از دل پایگاه داده ACS است . با کلیک راست روی Datasets  و انتخاب Add dataset وارد پنجره تنظمیات میشویم. در این مرحله ضمن انتساب Datasource ساخته شده در مرحله قبل به Dataset  در حال ساخت Sql query را که از در بخشهای قبلی آماده کرده بودیم به آن معرفی میکنیم.

Query  مورد استفاده دو تغییر کوچک پیدا کرده و آنهم اضافه شدن دو پارامتر از نوع DateTime به نامها @DateFrom و @DateTo جهت اخذ بازه تاریخی از کاربر و ارسال آن به query در زمان اجرا میباشد.

 

 

 

پارامترهایی که در دل query لحاظ کردیم به طور خودکار در قسمت Parameters گزارش ساز در پنل سمت چپ نمایش داده میشوند با ورود به صفحه تنظیمات آنها نوع داده هریک را به Date Time تغییر میدهیم تا در زمان اجرای گزارش قادر باشیم به جای تایپ دستی تاریخ  ، آنرا از Calendar انتخاب کنیم


 

 

تا این مرحله موفق شدیم روند اخذ داده های مورد نظر از پایگاه داده SCOM ACS را به سرانجام برسانیم قدم بعدی طراحی گرافیکی و استفاده از فیلدهای اطلاعاتی است که از طریق Dataset به دست آوریم

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

 

 

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

 

 

سپس یکایک فیلدهای اطلاعاتی مورد نیاز را از Dataset  به این جدول Drag and Drop  میکنیم

 

 

و در نهایت چنین طرحی خواهیم داشت

 

 

پس از اجرای گزارش و تنظیم پارامترهای آن خروجی زیر را مشاهده خواهیم کرد

 

 

 

قدم بعدی ذخیره گزارش در پوشه گزارشات ACS  است تا قادر به مشاهده این گزارش در محیط  SCOM باشیم. با کلیک روی دکمه Save  پنجره آنتخاب مسیر ذخیره گزارش نمایان میشود

 

سپس آنرا در پوشه شخصی که در ابتدای این قسمت ساختیم با نام DeletedFiles ذخیره میکنیم


  

 

پس از ذخیره گزارش در محل از پیش تعیین شده مجددا به محیط کاربری SCOM قسمت Reporting باز میگردیم تا گزارش جدید را در آن محیط مشاهده کنیم:

 

با کلیک بر روی آن وارد محیط گزارش شده و با تنظیم پارامترهای تاریخ آن مجددا خروجی آنرا مشاهده میکنیم

 

 

 

 

==============================================================================

 

update 2014-01-28

 


 

در ادامه سناریوهای ایجاد گزارشات اختصاصی در SCOM بر مبنای Advanced Security audit policy به سناریوی رصد تغییرات در بخش User accounts اکتیو دایرکتوری خواهیم پراخت

یکی دیگر از قسمتهای Advanced Security audit policy زیر شاخه Account management است که با تنظیم آن قادر به دریافت Event log های متناظر با فرایندهای مدیریت اکانتهای کاربری در اکتیو دایرکتوری خواهیم بود.

فعالیتهایی که تحت این پالیسیها مورد Audit قرار میگیرند عبارتند از:

*ایجاد،حذف،تغییر، فعال ،غیر فعال ،قفل شدن و از قفل دراوردن اکانتهای کاربری

*ست کردن یا تغییر رمز عبور

*اضافه شدن تاریخچه SID  قدیمی به یک اکانت کاربری

*ست شدن پسورد Directory service restore mode

*تغییر مجوزهای دسترسی اکانتهای متعلق به administrators group

 

برخی از Event id ها مهم متناظر با Account management auditing به قرار زیر هستند

4720: یک اکانت کاربری ایجاد شده است

4722:اکانت فعال شده است

4723:تلاشی جهت تغییر رمز عبور اکانت صورت گرفته است

4724:تلاشی جهت ریست کردن رمز عبور اکانت صورت گرفته است

4725:اکانت کاربری غیر فعال شده است

4726:اکانت کاربری حذف شده است

4738:اکانت کاربری تغییر کرده است

4740:اکانت کاربری قفل شده است

4766:یک SID history به اکانت اضافه شده است

4767:حساب کاربری از قفل خارج شده است

4780:ACL جدیدی روی اکانت متعلق به گروه Administrators ایجاد شده است

4781:نام حساب کاربری تغییر کرده است

 

برای فعال کردن این قابلیت طبق روند سناریوی پیش منتها اینبار بر روی Defaul domain controllerS policy آنرا فعال میکنیم.

 

 

با اعمال این پالیسی و به محض انجام هر یک از فعالیتهای ذکر شده در خصوص حسابهای کاربری Envent log متناظر به پایگاه داده ACS منتقل خواهد شد.

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

اولین قدم در ستخت گزارش تدوین Sql Query مورد نیاز است.

بر مبنای اطلاعات مرور شده در ابتدای این بخش شماره Event id مورد نیاز جهت پیدا کردن اکانتهای حذف شده 4726  است و با جستجوی پایگاه داده ACS از طریق View اصلی Dvall رکوردهای اطلاعاتی مورد نیاز را پیدا میکنیم

select  top 10 * from AdtServer.dvAll where EventId=4726

خروجی این دستور را در شکل زیر مشاهده میکنید

قدم بعدی ورود به محیط SQL report builder و ساخت گزارش بالا در آن و در نهایت ذخیره کردن آن در  پوشه Audit reports متعلق به SCOM  است.

ضمن ایجاد Datasource و Dataset بر مبنای آموزشهای ارائه شده در سناریو پیشین فیلدهای اطلاعاتی مورد نیاز جهت طراحی گزارش را از پایگاه داده اخذ میکنیم

 

 

پس از ایجاد دیتاست در پنل سمت چپ با لیستی از فیلدهای بازگردانده شده توسط Query روبرو خواهیم شد با قرار دادن شی Table روی صفحه و Drag&Drop فیلدهای هدف در PlaceHolder های آن به مرحله پایانی ساخت این گزارش نزدیک میشویم

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

در نهایت با ذخیره این گزارش در پوشه Audit reports مختص به SCOM طبق توضیحات ارائه شده در سناریو قبلی آنرا در محیط SCOM قراخوانی میکنیم

و فراخوانی  آن در محیط Scom

 

 

 

 مراجع :

http://technet.microsoft.com/en-us/library/hh212908.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa374872%28v=vs.85%29.aspx

http://technet.microsoft.com/en-us/library/dn319046.aspx

http://contoso.se/blog/?p=1222

http://www.systemcentercentral.com/scom-2012-report-builder-3-custom-performance-report /