گزارش ممیزی باید نشان دهد چه کسی چه اقدامی را با چه مجوز و نتیجهای انجام داده است. ذخیره کامل همه ورودیها، هم خطر افشا میسازد و هم جستوجوی رخداد مهم را سخت میکند.
مسئله را درست تعریف کنیم
شناسه همبستگی، زمان معتبر و نسخه ابزار به بازسازی مسیر کمک میکنند. رمز، کلید، داده شخصی غیرضروری و متن حساس نباید صرفاً برای راحتی در گزارش ثبت شوند.
روش اجرا
- رخدادهای مجوز، اجرا و شکست را با شناسه مشترک وصل کنید.
- فیلدهای حساس را حذف یا با جانشین مناسب ثبت کنید.
- دسترسی و تغییرپذیری گزارش را محدود و خوانایی آن را آزمایش کنید.
نمونه آموزشی
در نمونه آموزشی، یک اقدام تغییر رکورد پس از تأیید انجام میشود. گزارش باید شناسه درخواست، نسخه تأیید و نتیجه اجرا را داشته باشد؛ ثبت کل متن محرمانه رکورد لازم نیست. نبود شناسه تأیید، ممیزی مسیر تصمیم را ناقص میکند.
آزمون تکمیلی برای تصمیم عملی
ابتدا پرسشهایی را بنویسید که گزارش باید جواب دهد: چه کسی چه اقدامی خواست، کنترل مجوز چه تصمیمی گرفت و اجرای واقعی چه نتیجهای داشت. سپس برای هر پرسش حداقل داده لازم را تعیین کنید. ثبت تمام ورودی و خروجی مدل ممکن است اطلاعات غیرضروری یا محرمانه را نگه دارد و الزاماً گزارش مفیدتری نسازد. در تمرین از شناسه و محتوای ساختگی استفاده کنید و برای رخداد مرتبط، شناسه پیونددهنده روشن داشته باشید؛ این شناسه نباید جای کنترل دسترسی را بگیرد.
حالت تلاش ناموفق، رد مجوز و تکرار درخواست را جدا ثبت کنید تا یک پیام موفقیت ظاهری نتیجه عملیات را پنهان نکند. زمان، نسخه سیاست و نسخه جزء اجراکننده میتوانند برای تفسیر رخداد لازم باشند؛ فهرست نهایی را بر اساس معماری واقعی انتخاب کنید. سپس با یک سناریوی مجاز بررسی کنید آیا بازبین میتواند مسیر تصمیم تا اثر را دنبال کند. دسترسی، نگهداری و حفاظت گزارش نیز بخشی از طراحیاند. داشتن لاگ بهتنهایی وقوع درست عملیات یا نبود نفوذ را اثبات نمیکند؛ شواهد باید با دامنه مشاهده خوانده شوند.
جدول کار برای همین موضوع
| فیلد ثبت | کاربرد در تصمیم |
|---|---|
| شناسه درخواست | شناسه همبستگی درخواست |
| عامل | کاربر یا عامل اجراکننده |
| عمل | خواندن، تغییر یا ارسال را جدا ثبت کنید |
| مرجع مجوز | نسخه تأیید همان اقدام |
| نتیجه | اجرا شد / رد شد / شکست خورد |
| فیلد پوشاندهشده | راز و متن حساس غیرضروری وارد گزارش نشود |
فایل قابل استفاده
دریافت فرم CSV این راهنما. هر سطر را با اطلاعات پروژه خود تکمیل کنید. خانه نامعلوم را نامشخص بگذارید؛ نبود شاهد را با عدد صفر یا تأیید جایگزین نکنید. فایل شامل اطلاعات مشتری واقعی نیست و برای ثبت بررسی به کار میرود.
محدودیت و تصمیم بعدی
گزارش ممیزی خودکار صحت اقدام را اثبات نمیکند؛ تمامیت، پوشش و زمان ثبت هم باید قابل بررسی باشند.
منبع فنی برای مطالعه بیشتر
OWASP: Logging. مثالها و فرم این مطلب برای آموزش طراحی شدهاند و نتیجه مشتری یا آزمون محصول نیستند.
ادامه مطالعه مرتبط
برای انتخاب اطلاعات لازم پیش و پس از یک تعامل CRM، اتصال ایجنت صوتی به CRM؛ چه اطلاعاتی قبل و بعد از تماس ثبت میشود؟ را ببینید.