.TH AUDISP-FILTER "8" "فوریه ۲۰۲۴" "Red Hat" "ابزارهای مدیریت سیستم (System Administration Utilities)" .SH "نام (NAME)" audisp-filter \- پلاگین فیلتر رویدادهای حسابرسی برای audispd .SH "نحوه استفاده (SYNOPSIS)" .B audisp-filter \fIMODE CONFIG_FILE BINARY\fP [ \fIBINARY_ARGS\fP ] .SH "توضیحات (DESCRIPTION)" دستور \fBaudisp-filter\fP یک پلاگین توزیع‌کننده رویدادهای حسابرسی (audit event dispatcher) است که برای فیلتر کردن رویدادهای خاص بر اساس پیکربندی ارائه‌شده طراحی شده است. افزون بر این، این ابزار توانایی فوروارد کردن (ارسال) گزارش‌های باقی‌مانده را به سایر پلاگین‌ها دارد. این پلاگین سازگاری عمومی دارد و امکان ادغام روان با هر پلاگین حسابرسی موجود که پیام‌های حسابرسی را روی ورودی استاندارد خود انتظار دارد، فراهم می‌سازد. در حال حاضر از آرگومان‌های زیر پشتیبانی می‌کند: .RS .TP .B MODE حالت عملیاتی می‌تواند .B allowlist یا .B blocklist باشد. نام‌های این حالت‌ها دقیقاً معانی زیر را دارند: .RS .TP .B allowlist ارسال رویدادهای غیرمنطبق؛ رویدادهایی که با عبارت‌های پیکربندی‌شده .B ausearch مطابقت دارند، حذف (drop) می‌شوند. .TP .B blocklist ارسال رویدادهایی که با عبارت‌های پیکربندی‌شده .B ausearch مطابقت دارند؛ رویدادهای غیرمنطبق حذف (drop) می‌شوند. .RE رفتار برنامه را بر پایه اصطلاحات متداول سایر فهرست‌های مجاز/مسدود استنباط نکنید؛ تنها تعاریف بالا را ملاک عمل قرار دهید. .TP .B CONFIG_FILE مسیر فایل پیکربندی اصلی حاوی عبارت‌های .BR ausearch . .TP .B BINARY مسیر یک برنامه خارجی که رویدادهای حسابرسی فیلترشده را به طور مداوم از طریق ورودی استاندارد خود دریافت می‌کند. .TP .B BINARY_ARGS به صورت اختیاری، می‌توانید آرگومان‌های اضافی را به برنامه خارجی پاس دهید. .RE .SH "پیکربندی و ارزیابی قوانین (CONFIGURATION AND RULES EVALUATION)" هر پلاگینی که بخواهد از قابلیت فیلتر رویدادها بهره‌مند شود، باید فایل پیکربندی ویژه خود را ایجاد کند. شیوه مناسب این است که این فایل در پوشه پیکربندی حسابرسی (audit config directory) و با رعایت الگوی نام‌گذاری .B audisp-filter-pluginname.conf قرار گیرد؛ برای نمونه: .B audisp-filter-syslog.conf برای فیلتر کردن رویدادهای حسابرسی پیش از ارسال آن‌ها به syslog. هر خط درون یک پیکربندی، یک .BR ausearch-expression (5) را نشان می‌دهد. در پردازش داخلی، این عبارت‌ها با استفاده از عملگر OR با یکدیگر ترکیب می‌شوند. از این رو، هر عبارت با .B (PE || CE) جایگزین می‌شود که در آن PE نشان‌دهنده عبارت قبلی و CE نشان‌دهنده عبارت جاری در حال پردازش است. خطوطی که با کاراکتر .B '#' آغاز می‌شوند به عنوان توضیح (کامنت) در نظر گرفته شده و تأثیری بر مجموعه قوانین نهایی نخواهند داشت. به هنگام ایجاد یک رویداد حسابرسی، موتور فیلتر فهرست عبارت‌ها را مرور کرده و عبارت نهایی بازتاب‌دهنده مجموعه قوانین را می‌سازد. رویداد مورد نظر با استفاده از این عبارت جستجو خواهد شد. تصمیم‌گیری برای ارسال یک رویداد حسابرسی به باینری پیکربندی‌شده به دو عامل بستگی دارد: حالت عملیاتی .B audisp-filter و اینکه آیا عبارت با رویداد جاری مطابقت دارد یا خیر. فیلتر کردن بر پایه رویداد (event based) است نه بر پایه رکورد (record based). اگر هر رکوردی در یک رویداد حسابرسی چندرکوردی با عبارت نهایی مطابقت داشته باشد، کل رویداد به عنوان یک تطابق در نظر گرفته می‌شود. هنگامی که آن رویداد فوروارد (ارسال) می‌شود، تمام رکوردهای آن به باینری پیکربندی‌شده نوشته می‌شوند، از جمله رکوردهای همراهی که به تنهایی با عبارت مطابقت نداشته‌اند. .SH "مثال‌ها (EXAMPLES)" مثال ۱: عدم ارسال رویدادهای حسابرسی شامل فراخوانی‌های سیستمی ناموفق openat به syslog. .PP نخست در پیکربندی پلاگین، اطمینان یابید که حالت عملیاتی روی .B allowlist تنظیم شده باشد، فایل باینری به .B /sbin/audisp-syslog اشاره کند و در صورت نیاز آرگومان‌های اضافی ارائه شوند. سپس فایل پیکربندی ویژه پلاگین را با محتوای زیر بسازید. پیش از فعال‌سازی پلاگین حسابرسی، همیشه از صحت ساختار نگارشی (سینتکس) آن اطمینان حاصل کنید. این بررسی با اجرای دستور .B audisp-filter --check path/to/config/file امکان‌پذیر است: .PP .B (type r= SYSCALL && syscall i= openat && success r= no) .PP مثال ۲: ارسال فقط رویدادهای SERVICE_STOP و رویدادهایی که حاوی یک رکورد NETFILTER_CFG هستند. .PP از حالت .B blocklist استفاده کرده و عبارت‌های زیر را در فایل پیکربندی ویژه پلاگین قرار دهید: .nf .B type r= "SERVICE_STOP" .B type r= "NETFILTER_CFG" .fi .PP یک رکورد NETFILTER_CFG می‌تواند بخشی از یک رویداد چندرکوردی باشد که همچنین شامل رکوردهای SYSCALL و PROCTITLE با برچسب زمانی و شماره سریال حسابرسی یکسان است. اگر رکورد NETFILTER_CFG مطابقت داشته باشد، .B audisp-filter تمام رکوردهای موجود در آن رویداد را ارسال می‌کند. یک رویداد جداگانه SERVICE_START با این مثال مطابقت ندارد و فوروارد نخواهد شد. .SH "فایل‌ها (FILES)" .nf /etc/audit/plugins/filter.conf /etc/audit/auditd.conf .fi .SH "همچنین ببینید (SEE ALSO)" .BR auditd.conf (8), .BR ausearch-expression (5), .BR auditd-plugins (5). .SH "نویسنده (AUTHOR)" Attila Lakatos