استفاده از سرویس Windows Auditing برای نظارت بر فعالیت کاربران
استفاده از سرویس Auditing برای نظارت بر اعمال کاربران در ویندوز
در یک رایانه اشتراکی و یا در محیط شبکه همواره ممکن است اتفاقاتی رخ دهد که برای ما ناگوار باشد. در چنین مواردی حتماً خواهیم گفت «کی این کار را کرده است؟». فیلم مورد علاقه تان پاک شده، موزیک هایتان دیگر نیست، پایانامه ای که ماه ها روی آن کار کرده بودید پاک شده، بر روی سیستم کاربر جدیدی تعریف شده که شما از آن خبر ندارید، برنامه جدیدی بر روی سیستم نصب شده یا برنامه ای از روی سیستم حذف شده و مواردی از این قبیل که از اصلی ترین مشکلات رایانه های اشتراکی هستند.
اعمال بالا شاید بندرت رخ دهند ولی برخی از آنها اینقدر مهم هستند که مدیر سیستم (Administrator) بخواهد آنها را پیگیری کند. از این رو مدیر سیستم باید برای چنین مسائلی آماده باشد.
در اکثر شرکت ها، ادارات، دانشگاه ها و محیط های مشابه گروه های مختلفی مثل مدیران پروژه، حسابدارها، توسعه دهندگان و برنامه نویس ها و دیگر گروه های کارکنان و کارمندان وجود دارند که باهم کار می کنند. با مجموعه ای از اسناد و فایل های اشتراکی که عموماً در یک یا چند پوشه اشتراکی در فایل سرور یا یک سیستم مشخص نگهداری می شوند. بعضی مواقع فردی یک پوشه مهم با انبوهی از فایل ها و اسناد مهم را پاک می کند حال یا بصورت غیر عمد یا عمدی که باعث عواقب جبران ناپذیری برای کل مجموعه می شود. در چنین مواقعی فوراً سوالاتی نظیر موارد ذیل بوجود می آیند:
- در چه تاریخ و زمان حادثه صورت گرفته است؟
- چه نسخه پشتیبانی باید برای بازیابی اطلاعات از دست رفته مورد استفاده قرار گیرد؟
- آیا حادثه رخ داده یک عمل غیر عمد بوده یا یک عمل عمدی از جانب یک کاربر؟
- آیا ممکن است حادثه رخ داده شده یک ایراد سیستمی باشد که ممکن است دوباره رخ دهد؟
در سیستم عامل ویندوز، سرویسی درون ساز (built-in) با نام حسابرسی (Auditing) وجود دارد، که قادر است داده ها و گزارشات مربوط به حذف فایل ها و پوشه ها و همینطور نام کاربری و نام های اجرایی (executable name) که برای اجرای یک عمل استفاده شده اند را ذخیره کند. ابزار حسابرسی بصورت پیش فرض فعال نیست زیرا نظارت (monitoring) بر اعمال کاربران باعث مصرف مقداری از منابع پردازشی و حافظه سیستم می شود. از این رو رهگیری هر چه بیشتر رویدادها ممکن است باعث کند شدن سیستم و کاهش بازدهی و عملکرد آن گردد.
از آنجایی که همه اعمال کاربران برای ثبت عملکرد (logging) مورد توجه و مهم نیستند، سیاست های حسابرسی (Auditing policies) به ما این امکان را می دهد که فقط رویدادهایی را رصد کنیم که احساس میکنیم برای ما مهم هستند.
ابزار حسابرسی (Auditing policy configuration interface) در تمامی نسخه های خانواده ویندوز NT شامل XP، Vista، 7، 8، 8.1، 10، سرور 2000، 2003، 2008، 2012 و 2016 وجود دارد. با این استثناء که متاسفانه نسخه Home تمامی ویندوزهای ذکر شده دارای ابزار حسابرسی نیستند.
برای فعال سازی سرویس Auditing چه تنظیماتی باید انجام شود؟
برای فعال سازی ابزار Auditing به ترتیب مراحل زیر را انجام دهید:
1- با حساب کاربری که سطح دسترسی مدیر (administrative permissions) داشته باشد وارد ویندوز سیستمی که می خواهید بر آن نظارت کنید شوید.
2- یا از منوی Start گزینه Run را انتخاب کنید یا ترکیب کلیدهای Win + R با هم بفشارید تا کادر Run باز شود.
3- در کادر Run دستور gpedit.msc را تایپ و OK کنید تا کنسول Group Policy باز شود.
4- در نوار پیمایش سمت چپ مسیر زیر را دنبال کنید.
Computer Configuration → Windows Settings → Security Settings → Local Policies → Audit Policies
در این قسمت عناوین مختلفی وجود دارند که وقتی روی هر کدام از آنها کلیک کنید در کادر باز شده دو گزینه Success و Failure را مشاهده خواهید کرد. در حالت پیش فرض هیچ کدام از دو گزینه فعال نیستند. اما می توانید با تیک زدن هر کدام از این گزینه ها نوع عملکرد سیستم در حسابرسی از آن نوع عملیات را مشخص کنید.
- Success: اگر فقط این گزینه فعال باشد زمانی که یک عملیات با موفقیت انجام شود گزارش آن ثبت می شود.
- Failure: اگر فقط این گزینه فعال باشد زمانی که یک عملیات با شکست مواجه شود گزارش آن ثبت می شود.
- اگر هر دو گزینه فعال باشند هر دو حالت موفقیت و شکست عملیات ثبت خواهند شد و اگر هیچکدام فعال نباشند هیچ گزارشی برای آن نوع عملیات ثبت نخواهد شد.
هر کدام از عناوینی که در این قسمت وجود دارد کاربرد خاص خود را دارد که عبارتند از: .
Audit account logon events
این تنظیم امنیتی تعیین می کند که کی سیستم عامل فرآیند اعتبارسنجی یک حساب کاربری در هنگام ورود به سیستم را بررسی (حسابرسی) کند. رویدادهای ورود به حساب (Account logon events) زمانی که سیستم عامل اعتبار یک حساب کاربری را برای ورود بررسی می کند (اعتبارسنجی می کند) تولید می شوند. اگر این تنظیم امنیتی در سیستم تعریف شده باشد مدیر می تواند تعیین کند که حسابرسی در چه زمانی انجام شود.
Audit account management
این تنظیم امنیتی همانطور که از نام آن پیداست تعیین می کند که در چه حالتی گزارش رویدادهای مرتبط با مدیریت حساب کاربری در کامپیوتر ثبت شوند. بطور مثال می توان به رویدادهای مدیریت حساب کاربری زیر اشاره کرد:
- یک حساب کاربری یا گروه ساخته یا حذف شود یا تغییر داده شود.
- یک حساب کاربری غیرفعال یا فعال شود و یا نام آن تغییر کند.
- رمز عبور برای یک حساب کاربری تعیین شود و یا رمز عبور تغییر کند.
Audit directory service access
این تنظیم امنیتی مشخص می کند که کی فرآیند ثبت گزارش حسابرسی در هنگامی که کاربران سعی در دسترسی به اشیاء اکتیودایرکتوری (Active Directory objects) می کنند انجام شود. ثبت گزارش فقط برای اشیائی انجام می شود که دارای لیست کنترل دسترسی سیستمی (SACL: system access control lists) باشند و نوع دسترسی درخواست شده و حساب کاربری که درخواست را ارسال کرده است با تنظیمات موجود در SACL آن شیء همخوانی داشته باشد.
Audit logon events
این تنظیم امنیتی تعیین می کند که سیستم عامل آیا گزارش تلاش یک کاربر برای ورود به حساب یا خروج از آن را ثبت کند یا خیر. رویداد خروج از حساب (Log off) زمانی رخ می دهد که نشست فعال یک کاربر وارد شده (logon session) متوقف شده و از بین برود (کاربر از حساب خود خارج شود).
Audit object access
این تنظیم امنیتی مشخص می کند که سیستم عامل چگونه گزارش تلاش کاربران برای دسترسی به اشیاء خارج از اکتیو دایرکتوری را ثبت کند. و همانطور که در قبل هم گفته شد ثبت گزارش فقط برای اشیائی انجام می شود که دارای لیست کنترل دسترسی سیستمی (SACL: system access control lists) باشند و نوع دسترسی درخواست شده و حساب کاربری که درخواست را ارسال کرده است با تنظیمات موجود در SACL آن شیء همخوانی داشته باشد.
Audit policy change
تنظیم Audit policy change تعیین می کند که آیا سیستم عامل گزارش تلاش ها در راستای تغییر حقوق انتسابی به کاربران (user rights assignment policy)، سیاست حسابرسی (audit policy)، سیاست حساب کاربری (account policy) و سیاست اعتماد (trust policy) را ثبت کند یا خیر.
Audit privilege use
این تنظیم یکی از تنظیمات حسابرسی حساس از نظر مصرف منابع سیستم است. در این تنظیم امنیتی تعیین می شود که آیا سیستم عامل گزارش هر یک از موارد استفاده کاربر از حقوق خود را ثبت کند یا خیر. به عبارتی یعنی هر کاری که کاربر در راستای سطح دسترسی که دارد می تواند شامل این قانون گردد. بدلیل شامل شدن موارد بسیاری از عملیات قابل انجام در این قانون در صورت فعال سازی آن سیستم باید گزارش های بسیاری را ثبت کند که این خود باعث کندی سیستم و اتلاف منابع آن خواهد شد.
نکته: حسابرسی برای موارد زیر حتی اگر یکی یا هر دو حالت success audits یا failure audits فعال باشد انجام نخواهد شد. فعال کردن حسابرسی برای هر کدام از موارد زیر باعث تولید گزارشات متعدد که بازدهی کامپیوتر شما را کاهش می دهد خواهد شد.
- Bypass traverse checking
- Debug programs
- Create a token object
- Replace process level token
- Generate security audits
- Backup files and directories
- Restore files and directories
برای اینکه گزارش این اعمال هم در حسابرسی سیستم ثبت شود باید کلید FullPrivilegeAuditing در رجیستری ویندوز فعال شود (اینکار توصیه نمی شود برای همین بیشتر توضیح داده نمیشود).
Audit process tracking
این تنظیم امنیتی تعیین می کند که سیستم عامل گزارش رویدادهای مرتبط با فرآیندهای اجرایی (process-related events) در سیستم مثل ایجاد فرآیند (process creation)، ختم فرآیند (process termination)، کنترل نسخه تکثیر فرآیندها (handle duplication)، دسترسی غیر مستقیم به اشیاء (indirect object access) و … را ثبت کند یا نکند.
Audit system events
این تنظیم روال حسابرسی رویدادهای زیر را برای سیستم عامل مشخص می کند:
- تلاش ها برای تغییر ساعت و زمان سیستم
- تلاش در راه اندازی یا خاموش کردن سیستم های امنیتی
- تلاش برای بارگذاری مولفه های احراز هویت قابل توسعه (extensible authentication components)
- از دست دادن و ثبت نشدن وقایع حسابرسی به علت نارسایی و اخلال در سیستم حسابرسی
- عبور اندازه گزارشات امنیتی ثبت شده از اندازه مشخص شده در پیکربندی های انجام شده
مثال) ثبت گزارش حذف فایل ها و پوشه ها در سیستمی که پوشه اشتراکی بین همه در آن قرار دارد.
برای این کار بر روی سیاست Audit object access دوبار کلیک کرده و گزینه Success را تیک بزنید. این تنظیم باعث می شود تا از این پس گزارش هرگونه تلاش برای دسترسی و عملیات بر روی فایل ها، پوشه ها، و کلیدهای رجیستری که با موفقیت انجام شده، ثبت شود.
تنها فعال کردن این سیاست کافی نیست و باید تعیین کنیم که دقیقاً کدام پوشه باید تحت نظارت حسابرسی باشد. خب بطبع باید پوشه ای که به اشتراک گذاشته شده است و همه به آن دسترسی دارند مشمول این سیاست باشد. همچنین از آنجایی که نمی توان حدس زد چه کسی داده ها را دستکاری کرده است باید حسابرسی را برای گروه کاربری Everyone فعال کنیم. این کار باعث می شود تا اگر هر کاربری اقدام به حذف یک شیء مورد نظارت کند گزارش آن ضبط و در لیست گزارشات رویدادها (event log) ذخیره شود.
برای اینکار ابتدا باید کادر مشخصات (properties) پوشه اشتراکی را باز کنید. وارد زبانه Security شوید. بر روی گزینه Advanced کلیک کرده و سپس در زبانه Auditing گزینه ADD را انتخاب کنید و گزینه Everyone را تایپ کرده و از لیست پایین دو گزینه Delete و Delete Subfolders and Files را تیک بزنید و OK کنید تا Everyone به لیست اضافه شود.
از آنجایی که ممکن است تنظیمات حسابرسی برای رویدادهای پرتکرار باعث ایجاد گزارشات زیاد شود. ایده خوبی است که پیکربندی گزارشات رویدادهای امنیتی (Security event log settings) را بنحوی انجام دهیم که کمتر به سیستم فشار وارد شود. برای اینکار در کادر RUN دستور eventvwr.msc را اجرا کنیدتا کنسول Event Viewer نمایش داده شود. در پنجره Event Viewer بر روی گزینه Security در نوار پیمایش سمت چپ راست کلیک کرده و گزینه Properties را انتخاب کنید. می توانید در کادر مشخصات مقدار فضای مجاز را بشرح زیر تنظیم کنید. البته این مقدار بنا به قدرت سیستم شما می تواند متفاوت باشد.
- Maximum Log Size = برای سیستم های (workstations) ایستگاه کاری 65536 کیلوبایت و برای سرورها 262144 کیلوبایت
در پایان چگونه از گزارش های ثبت شده استفاده کنیم؟
برای اینکار کافی است در کادر RUN دستور eventvwr.msc را اجرا کنید تا کنسول Event Viewer نمایش داده شود. در این کنسول گزارشات سیستم در نوار سمت چپ دسته بندی شده اند که با انتخاب هر کدام می توانید محتوای آن را مشاهده کنید.
منابع و توضیحات بیشتر:
https://technet.microsoft.com/en-us/library/dd772693(v=ws.10).aspx
https://technet.microsoft.com/en-us/library/cc737542(v=ws.10).aspx
http://www.thewindowsclub.com/track-user-activity-windows