AUDISPD-ZOS-REMOTE(8) ابزارهای مدیریت سیستم AUDISPD-ZOS-REMOTE(8)

audispd-zos-remote - افزونه دیسپچر بازرسی سرویس‌های راه دور z/OS

audispd-zos-remote [ config-file ]

audispd-zos-remote یک افزونه بازرسی راه دور برای زیرسیستم بازرسی (Audit) است. این برنامه باید توسط دیمن auditd(8) راه‌اندازی شود و تمامی رویدادهای بازرسی ورودی را به محض وقوع، از طریق یک سرور IBM Tivoli Directory Server (ITDS) که برای سرویس بازرسی راه دور (Remote Audit) تنظیم شده است، به یک پایگاه داده پیکربندی‌شده z/OS SMF (Service Management Facility) ارسال می‌کند. برای اطلاعات بیشتر در مورد قالب رکوردهای حاصل در SMF بخش نگاشت SMF (SMF Mapping) در ادامه را مشاهده کنید.

دیمن auditd(8) باید برای اجرای این افزونه پیکربندی شده باشد. این پیکربندی معمولاً از طریق فایلی در مسیر /etc/audit/plugins.d/audispd-zos-remote.conf انجام می‌شود، اما با ایجاد چندین فایل پیکربندی در /etc/audit/plugins.d برای یک فایل اجرایی افزونه، می‌توان چندین نمونه از آن را به اجرا درآورد (به auditd(8) مراجعه کنید).

هر نمونه نیازمند یک فایل پیکربندی است که به طور پیش‌فرض در مسیر /etc/audit/zos-remote.conf قرار دارد. برای مشاهده جزئیات پیکربندی افزونه، به zos-remote.conf(5) مراجعه کنید.

از یک فایل پیکربندی جایگزین به جای /etc/audit/zos-remote.conf استفاده کنید.

audispd-zos-remote به سیگنال‌های SIGTERM و SIGHUP (بر اساس مشخصات auditd(8)) واکنش نشان می‌دهد:

به افزونه audispd-zos-remote دستور می‌دهد تا پیکربندی خود را دوباره بازخوانی کرده و اتصالات شبکه موجود را تخلیه (flush) کند.
یک خروج پاک و تمیز را انجام می‌دهد. اگر رویدادهایی در صف تحویل وجود داشته باشند، audispd-zos-remote حداکثر تا ۱۰ ثانیه برای ارسال آن‌ها منتظر می‌ماند و پس از سپری شدن این زمان، رویدادهای باقی‌مانده در صف را دور می‌ریزد.

برای استفاده از این افزونه، باید یک سرور IBM z/OS v1R8 (یا بالاتر) داشته باشید که در آن IBM Tivoli Directory Server (ITDS) برای سرویس بازرسی راه دور پیکربندی شده باشد. برای دریافت اطلاعات دقیق‌تر در مورد نحوه پیکربندی سرور z/OS جهت بازرسی راه دور، به راهنمای z/OS V1R8.0-9.0 Integrated Security Services Enterprise Identity Mapping (EIM) Guide and Reference

(http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/FRAMESET/EIMA1140/CCONTENTS?DT=20070827115119)،
فصل "2.0 - Working with remote services" مراجعه کنید.

برای فعال‌سازی ITDS جهت پردازش درخواست‌های بازرسی راه دور، شناسه کاربری مرتبط با ITDS باید دسترسی READ به پروفایل کلاس FACILITY با نام IRR.AUDITX (پروفایلی که برای محافظت از سرویس R_Auditx استفاده می‌شود) داشته باشد. این شناسه کاربری معمولاً در پروفایل کلاس STARTED برای رویه آغازشده (started procedure) مربوط به ITDS یافت می‌شود. اگر هویت مرتبط با ITDS شناسه ITDSUSER باشد، مدیر سیستم می‌تواند با استفاده از دستورات TSO زیر، RACF را برای اعطای دسترسی پردازش بازرسی راه دور به ITDS پیکربندی کند:

rdefine FACILITY IRR.RAUDITX uacc(none)
permit IRR.RAUDITX class(FACILITY) id(ITDSUSER) access(READ)

یک شناسه کاربری z/OS RACF مورد نیاز افزونه است؛ هر درخواست بازرسی انجام‌شده توسط افزونه از یک شناسه کاربری RACF (مطابق آنچه در فایل پیکربندی افزونه zos-remote.conf(5) تعیین شده است) استفاده خواهد کرد. این شناسه کاربری نیازمند دسترسی READ به منبع کلاس FACILITY با نام IRR.LDAP.REMOTE.AUDIT است. اگر شناسه کاربری BINDUSER باشد، مدیر سیستم می‌تواند با استفاده از دستورات TSO زیر، RACF را برای فعال‌سازی این کاربر جهت انجام درخواست‌های بازرسی راه دور پیکربندی کند:

rdefine FACILITY IRR.LDAP.REMOTE.AUDIT uacc(none)
permit IRR.LDAP.REMOTE.AUDIT class(FACILITY) id(BINDUSER) access(READ)

هنگام انجام درخواست‌های بازرسی راه دور، افزونه audispd-zos-remote از کلاس ویژه @LINUX به عنوان CDT Class و از نوع رکورد بازرسی (مانند SYSCALL، AVC، PATH و...) به عنوان CDT Resource Class برای تمامی رویدادهای پردازش‌شده استفاده خواهد کرد. برای اطمینان از ثبت رویدادها، سرور RACF باید با یک کلاس Dynamic CDT به نام @LINUX با اندازه‌ها و ویژگی‌های صحیح پیکربندی شود. دستورات TSO زیر می‌توانند برای افزودن این کلاس استفاده شوند:

rdefine cdt @LINUX cdtinfo(posit(493) FIRST(alpha,national,numeric,special) OTHER(alpha,national,numeric,special) RACLIST(REQUIRED) case(asis) generic(allowed) defaultuacc(none) maxlength(246))
setr classact(cdt)
setr raclist(cdt)
setr raclist(cdt) refresh
setr classact(@LINUX)
setr raclist(@LINUX)
setr generic(@LINUX)

پس از تعریف کلاس CDT، می‌توانید پروفایل‌هایی به آن بیفزایید و منابعی را برای ثبت یا نادیده‌گرفتن مشخص کنید (استفاده از کاراکترهای عام یا wildcards مجاز است). موارد زیر نمونه‌هایی از این دستورات هستند:

rdefine @LINUX * uacc(none) audit(none(read))
rdefine @LINUX AVC uacc(none) audit(all(read))
setr raclist(@LINUX) refresh
rdefine @LINUX * uacc(none) audit(all(read))
setr raclist(@LINUX) refresh

منابع همیشه با تک‌پروفایلی که بهترین تطابق (best match) را داشته باشد مطابقت داده می‌شوند.

روش‌های بسیار دیگری نیز برای تعریف ثبت لاگ در RACF وجود دارد. لطفاً برای جزئیات بیشتر به مستندات سرور مراجعه فرمایید.

سرویس بازرسی راه دور ITDS هر بار که درخواستی را پردازش می‌کند، رکوردهای SMF نوع ۸۳ زیرنوع ۴ را صادر می‌کند. این افزونه برای هر رکورد بازرسی ورودی لینوکس یک درخواست بازرسی راه دور ارسال می‌کند (بدین معنا که یک رکورد لینوکس به یک رکورد SMF نگاشت خواهد شد)، و رکوردهای این نوع را با اطلاعات زیر پر می‌کند:

شماره سریال رویداد لینوکس، کدگذاری‌شده در نمایش هگزادسیمال با ترتیب بایت‌های شبکه (network-byte order). رکوردهای موجود در یک رویداد یکسان، مقدار پیوند مشترکی دارند.

همیشه صفر (0) - False

همیشه دو (2) - رویداد Authorization (مجوزدهی)

صفر (0) - Success، اگر رویداد success=yes یا res=success را گزارش کرده باشد؛ سه (3) - Fail، اگر رویداد success=no یا res=failed را گزارش کرده باشد؛ یا یک (1) - Info در غیر این صورت.

همیشه @LINUX

نوع رکورد لینوکس برای رکورد پردازش‌شده؛ مانند: SYSCALL،AVC،PATH،CWD و غیره.

پیام متنی شامل شناسه کاربری RACF مورد استفاده برای انجام درخواست، به همراه نام میزبان لینوکس و نوع رکورد برای نخستین رکورد در رویداد پردازش‌شده؛ به عنوان مثال: Remote audit request from RACFUSER. Linux (hostname.localdomain):USER_AUTH

همچنین با عنوان relocates شناخته می‌شود؛ این فهرست تمامی نام‌ها و مقادیر فیلدها را در قالب fieldname=value به عنوان یک relocate نوع ۱۱۴ (Application specific Data) ارائه می‌دهد. این افزونه تا جای ممکن تلاش می‌کند تا آن فیلدها را تفسیر کند (به عنوان مثال، استفاده از نام کاربری خوانا برای انسان مانند root به جای شناسه کاربری عددی 0). در حال حاضر، این افزونه همچنین یک relocate نوع ۱۱۳ (Date And Time Security Event Occurred) را به همراه مهر زمانی رویداد در قالبی که توسط ctime(3) بازگردانده می‌شود، اضافه می‌کند.

خطاها و هشدارها به syslog (تحت تسهیلات DAEMON) گزارش می‌شوند. در مواردی که رویداد ارسال شده باشد اما سرور z/OS یک وضعیت خطا برگرداند، پیام ثبت‌شده حاوی یک نام و به دنبال آن توضیحی خوانا برای انسان است. در ادامه برخی از شرایط متداول خطا آورده شده است:

منبع (نوع رکورد بازرسی) برای ثبت در سرور RACF تنظیم نشده است - پروفایل کلاس @LINUX که بر این نوع رکورد بازرسی نظارت دارد، روی نادیده‌گرفتن تنظیم شده است. بخش پیکربندی سرور IBM z/OS ITDS و RACF (IBM z/OS ITDS Server and RACF configuration) را ببینید.
هیچ پروفایلی برای منبع مشخص‌شده یافت نشد. کلاس @LINUX پیکربندی نشده است یا هیچ پروفایل کلاس @LINUX مرتبط با این نوع رکورد بازرسی وجود ندارد. بخش پیکربندی سرور IBM z/OS ITDS و RACF (IBM z/OS ITDS Server and RACF configuration) را ببینید.
شناسه کاربری مرتبط با ITDS دسترسی READ به پروفایل کلاس FACILITY با نام IRR.AUDITX را ندارد. بخش پیکربندی سرور IBM z/OS ITDS و RACF (IBM z/OS ITDS Server and RACF configuration) را ببینید.
شناسه کاربری RACF مورد استفاده برای انجام درخواست‌های بازرسی راه دور (مطابق آنچه در zos-remote.conf(5) پیکربندی شده است) به پروفایل کلاس FACILITY با نام IRR.LDAP.REMOTE.AUDIT دسترسی ندارد. بخش پیکربندی سرور IBM z/OS ITDS و RACF (IBM z/OS ITDS Server and RACF configuration) را ببینید.

این افزونه در حال حاضر بازرسی راه دور را بر اساس بهترین تلاش ممکن (best-effort) انجام می‌دهد، و در صورتی که ارتباط با سرور z/OS میسر نباشد (خطاهای شبکه) یا در هر وضعیت دیگری که ارسال رویداد ناموفق باشد، رویدادها را دور می‌ریزد.

/etc/audit/plugins.d/audispd-zos-remote.conf
/etc/audit/zos-remote.conf

auditd(8)، zos-remote.conf(5).

Klaus Heinrich Kiwi <klausk@br.ibm.com>

Oct 2007 IBM