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