Scroll to navigation

AUSEARCH(8) أدوات إدارة النظام AUSEARCH(8)

الاسم

ausearch - أداة للاستعلام عن سجلات خفي التدقيق

موجز

ausearch [خيارات]

الوصف

ausearch هي أداة تتيح البحث في سجلات برنامج الخدمة الخاص بالتدقيق بحثًا عن الأحداث وفقًا لمعايير بحث مختلفة. . يمكن لأداة ausearch أيضًا أخذ المدخلات من المدخل القياسي (stdin) طالما كانت المدخلات هي بيانات السجل الخام. يشكل كل خيار سطر أوامر معطى عبارة "و". على سبيل المثال، البحث باستخدام -m و -ui يعني إرجاع الأحداث التي تحتوي على النوع المطلوب وتطابق معرف المستخدم المعطى. الاستثناء هو الخياران -m و -n؛ يسمح بأنواع سجلات وعقد متعددة في البحث، والتي ستُرجع أي عقدة وسجل مطابقين.

يجب ملاحظة أن كل رحلة استدعاء نظام (syscall) من مساحة المستخدم إلى النواة والعودة إلى مساحة المستخدم لها معرف حدث فريد. أي حدث قابل للتدقيق يُشغّل خلال هذه الرحلة يشارك هذا المعرف بحيث يمكن ربطها.

قد تضيف أجزاء مختلفة من النواة سجلات تكميلية. على سبيل المثال، حدث تدقيق على استدعاء النظام "open" سيؤدي أيضًا إلى إصدار النواة لسجل PATH مع اسم الملف. ستقدم أداة ausearch جميع السجلات التي تشكل حدثًا واحدًا معًا. قد يعني هذا أنه حتى لو بحثت عن نوع معين من السجلات، فقد تحتوي الأحداث الناتجة على سجلات SYSCALL.

يجب الانتباه أيضًا إلى أن ليست كل أنواع السجلات تحتوي على المعلومات المطلوبة. على سبيل المثال، سجل PATH لا يحتوي على اسم مضيف أو معرف مستخدم تسجيل دخول (loginuid).

الخيارات

ابحث عن حدث بناءً على معرف الحدث المعطى. تبدأ الرسائل دائمًا بشيء مثل msg=audit(1116360555.329:2401771). معرف الحدث هو الرقم بعد ':'. جميع أحداث التدقيق التي تُسجل من استدعاء نظام لتطبيق واحد لها نفس معرف حدث التدقيق. استدعاء نظام ثانٍ من نفس التطبيق سيكون له معرف حدث مختلف. وبهذه الطريقة تكون فريدة.
ابحث عن الأحداث بناءً على معمارية معالج مركزية محددة. إذا كنت لا تعرف معمارية جهازك ولكنك تريد استخدام جدول استدعاءات النظام 32 بت وجهازك يدعم 32 بت، يمكنك أيضًا استخدام b32 للمعمارية. وينطبق الشيء نفسه على جدول استدعاءات النظام 64 بت، يمكنك استخدام b64. يمكن العثور على معمارية جهازك عن طريق تنفيذ 'uname -m'.
ابحث عن حدث بناءً على اسم الأمر المعطى. اسم الأمر هو اسم الملف التنفيذي من بنية المهمة.
اكتب الأحداث المشوهة التي تم تخطيها إلى المخرجات القياسية للأخطاء (stderr).
نقطة تفتيش الإخراج بين استدعاءات ausearch المتتالية بحيث تُطبع فقط الأحداث التي لم تُخرج سابقًا في الاستدعاءات اللاحقة.

يتكون حدث auditd من سجل واحد أو أكثر. عند معالجة الأحداث، تُعرّف ausearch الأحداث على أنها إما كاملة أو غير كاملة. الحدث الكامل هو إما حدث سجل واحد أو حدث وقع وقته قبل ثانيتين مقارنة بالحدث الذي يُعالج حاليًا.

يُحقق نقطة التفتيش عن طريق تسجيل آخر حدث كامل أُخرج مع رقم الجهاز و inode للملف الذي ظهر فيه آخر حدث كامل في ملف-نقطة-التفتيش. في استدعاء لاحق، ستحمل ausearch بيانات نقطة التفتيش هذه، وعندما تعالج ملفات السجل، ستتجاهل جميع الأحداث الكاملة حتى تطابق الحدث الذي جرى تحديد نقطة تفتيش له. عند هذه النقطة، ستبدأ بإخراج الأحداث الكاملة.

إذا لم يُعثر على الملف أو آخر حدث جرى تحديد نقطة تفتيش له، فستنتج عدة أخطاء وستتوقف ausearch. انظر حالة الخروج للحصول على التفاصيل.

اضبط مهلة نهاية تحليل الحدث. انظر end_of_event_timeout في auditd.conf(5) للتفاصيل. لاحظ أن ضبط هذه القيمة سيتجاوز أي قيمة مضبوطة موجودة في /etc/auditd/auditd.conf.
ابحث عن حدث بناءً على رمز الخروج أو رقم الخطأ لاستدعاء النظام المعطى.
يحدد هذا الخيار ما إذا كان المخرج سيُهرب لجعل المحتوى أكثر أمانًا لاستخدامات معينة. الخيارات هي raw و tty و shell و shell_quote. يتضمن كل وضع محارف الوضع السابق ويهرب المزيد من المحارف. أي أن shell يتضمن جميع المحارف المهربة بواسطة tty ويضيف المزيد. tty هو المبدئي.
عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار عمودًا أخيرًا بمعلومات المفتاح إذا كانت موجودة للحدث. يحدث هذا فقط في سجلات SYSCALL التي كانت نتيجة لتشغيل قاعدة تدقيق تحدد مفتاحًا.
عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار أعمدة معلومات حول تسميات الموضوع والكائن عندما تكون موجودة.
عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار أعمدة معلومات حول كائن ثانٍ عندما يكون موجودًا. من النادر أن يكون كائن ثانٍ جزءًا من سجل. تتضمن بعض الأمثلة عندما يُعاد تسمية ملف من اسم إلى آخر أو عندما يُركب جهاز إلى مسار.
عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار أعمدة معلومات حول الوقت المفصل لتسهيل التجزئة.
ابحث عن حدث بناءً على اسم الملف المعطى. يطابق الوسيط الملفات العادية بالإضافة إلى مقابس af_unix.
تُنسق الأحداث التي تطابق معايير البحث باستخدام هذا الخيار. التنسيقات المدعومة هي: raw، مبدئي، interpret، csv، و text. يوصف خيار raw تحت خيار سطر الأوامر --raw. خيار مبدئي هو ما تحصل عليه عندما لا تُمرر أي خيارات تنسيق. يتضمن سطرًا واحدًا كفاصل مرئي يشير إلى الطابع الزمني ثم تتبعه سجلات الحدث. يُشرح خيار interpret تحت خيار سطر الأوامر -i. يخرج خيار csv نتائج البحث كحدث معياري بتنسيق قيم مفصولة بفاصلة (CSV) مناسب للاستيراد في برامج التحليل. يحول خيار text الحدث إلى جملة إنجليزية أسهل فهمًا من الخيارات الأخرى، لكنه يأتي على حساب فقدان التفاصيل. في معظم الحالات، هذا جيد تمامًا لأن الحدث الأصلي لا يزال يحتفظ بجميع المعلومات الأصلية.
ابحث عن حدث بمعرف مجموعة فعال أو معرف مجموعة يطابق معرف المجموعة المعطى.
ابحث عن حدث بمعرف المجموعة الفعال المعطى أو اسم المجموعة.
ابحث عن حدث بمعرف المجموعة المعطى أو اسم المجموعة.
Help
ابحث عن حدث باسم المضيف المعطى. يمكن أن يكون اسم المضيف إما اسم مضيف، أو اسم نطاق مؤهل بالكامل، أو عنوان شبكة رقمي. لا تُبذل أي محاولة لحل العناوين الرقمية إلى أسماء نطاقات أو أسماء مستعارة. يرتبط هذا البحث عادةً بحقل addr أو host في أحداث التدقيق. انظر أيضًا الأمر --node الذي يبحث في حقل node.
فسّر الكيانات الرقمية إلى نص. على سبيل المثال، يُحوّل uid إلى اسم حساب. إذا كانت سجلات التدقيق غير مُثرية، يُجرى التحويل باستخدام الموارد الحالية للجهاز الذي يُشغّل عليه البحث. إذا أعدت تسمية الحسابات، أو لم تكن لديك نفس الحسابات على جهازك، فقد تحصل على نتائج مضللة. إذا كانت السجلات مُثرية، فإنها تستخدم البيانات التكميلية لإجراء التحويل. هذا يسمح بالإبلاغ الدقيق عن السجلات حتى عند التشغيل على جهاز مختلف عن الجهاز الذي جاءت منه السجلات الأصلية.
استخدم file أو directory المعطى بدلاً من السجلات. هذا للمساعدة في التحليل حيث نُقلت السجلات إلى آلة أخرى أو حُفظ جزء فقط من السجل. طول المسار محدود بـ 4064 بايت.
استخدم موقع ملف السجل من auditd.conf كمدخل للبحث. هذا ضروري إذا كنت تستخدم ausearch من مهمة cron.
توقف بعد إصدار أول حدث يطابق معايير البحث.
ابحث عن حدث بناءً على سلسلة المفتاح المعطاة.
افرز المخرجات على كل سطر. مفيد جدًا عندما يكون stdout متصلاً بأنبوب وتكون استراتيجية التخزين المؤقت للكتل المبدئية غير مرغوبة. قد يفرض ذلك عقوبة على الأداء.
ابحث عن حدث يطابق نوع الرسالة المعطى. (تُعرف أنواع الرسائل أيضًا بأنواع السجلات.) يمكنك أيضًا إدخال قائمة أنواع رسائل مفصولة بفاصلات أو أنواع رسائل فردية متعددة، كل منها بخياره -m الخاص به. يوجد نوع رسالة ALL لا يوجد في السجلات الفعلية. يسمح لك بالحصول على جميع الرسائل في النظام. قائمة أنواع الرسائل الصالحة طويلة. سيعرض البرنامج القائمة عندما لا يتم تمرير أي نوع رسالة مع هذا المعامل. يمكن أن يكون نوع الرسالة نصيًا أو رقميًا. إذا أدخلت قائمة، يمكن أن تكون هناك فواصل فقط ولا توجد مسافات تفصل القائمة.
ابحث عن الأحداث التي نشأت من جهاز معين. يُسمح بعقد متعددة، وإذا تطابقت أي عقد، يُطابق الحدث. يستخدم هذا البحث حقل العقدة في أحداث التدقيق. انظر أيضًا الأمر --host الذي يبحث عن الأحداث المتعلقة بمعلومات المضيف في مسار التدقيق.
ابحث عن حدث ذي tcontext (كائن) يطابق السلسلة.
ابحث عن حدث يطابق معرف العملية المعطى.
ابحث عن حدث يطابق معرف العملية الأب المعطى.
المخرجات غير منسقة تمامًا. هذا مفيد لاستخراج السجلات إلى ملف لا يزال من الممكن تفسيره بواسطة أدوات التدقيق أو عند التوجيه إلى أدوات تدقيق أخرى.
ابحث عن حدث يطابق syscall المعطى. يمكنك إما إعطاء القيمة الرقمية لاستدعاء النظام أو اسم استدعاء النظام. إذا أعطيت اسم استدعاء النظام، فسيستخدم جدول استدعاءات النظام للجهاز الذي تستخدمه.
ابحث عن أحداث تطابق إما scontext/الموضوع أو tcontext/الكائن مع السلسلة المعطاة.
ابحث عن أحداث تطابق معرف جلسة الدخول المعطى. يتم تعيين سمة العملية هذه عند تسجيل دخول المستخدم ويمكنها ربط أي عملية بتسجيل دخول مستخدم معين.
ابحث عن حدث مع scontext (الموضوع) يطابق السلسلة.
ابحث عن حدث يطابق قيمة النجاح المعطاة. القيم القانونية هي نعم و لا.
ابحث عن أحداث بطوابع زمنية تساوي أو تسبق وقت النهاية المعطى. يعتمد تنسيق وقت النهاية على منطقتك. يمكنك التحقق من تنسيق منطقتك عن طريق تشغيل date '+%x'. إذا تم حذف التاريخ، يُفترض today. إذا تم حذف الوقت، يُفترض now. استخدم توقيت الساعة 24 ساعة بدلاً من صباحًا أو مساءً لتحديد الوقت. مثال على تاريخ باستخدام لغة en_US.utf8 هو 09/03/2009. مثال على الوقت هو 18:00:00. يتأثر تنسيق التاريخ المقبول بمتغير البيئة LC_TIME.

يمكنك أيضًا استخدام الكلمة: now، recent، this-hour، boot، today، yesterday، this-week، week-ago، this-month، أو this-year. Now تعني بدءًا من الآن. Recent تعني قبل 10 دقائق. Boot تعني وقت اليوم بالثانية عندما تم تشغيل النظام آخر مرة. Today تعني الآن. Yesterday تعني ثانية واحدة بعد منتصف الليل في اليوم السابق. This-week تعني بدءًا من ثانية واحدة بعد منتصف الليل في اليوم 0 من الأسبوع المحدد بواسطة منطقتك (انظر localtime). Week-ago تعني ثانية واحدة بعد منتصف الليل قبل 7 أيام بالضبط. This-month تعني ثانية واحدة بعد منتصف الليل في اليوم 1 من الشهر. This-year تعني ثانية واحدة بعد منتصف الليل في أول يوم من الشهر الأول.

ابحث عن أحداث بطوابع زمنية تساوي أو تلي وقت البداية المعطى. يعتمد تنسيق وقت البداية على منطقتك. يمكنك التحقق من تنسيق منطقتك عن طريق تشغيل date '+%x'. إذا تم حذف التاريخ، يُفترض today. إذا تم حذف الوقت، يُفترض midnight. استخدم توقيت الساعة 24 ساعة بدلاً من صباحًا أو مساءً لتحديد الوقت. مثال على تاريخ باستخدام لغة en_US.utf8 هو 09/03/2009. مثال على الوقت هو 18:00:00. يتأثر تنسيق التاريخ المقبول بمتغير البيئة LC_TIME.

يمكنك أيضًا استخدام الكلمة: now، recent، this-hour، boot، today، yesterday، this-week، week-ago، this-month، this-year، أو checkpoint. Boot تعني وقت اليوم بالثانية عندما تم تشغيل النظام آخر مرة. Today تعني بدءًا من ثانية واحدة بعد منتصف الليل. Recent تعني قبل 10 دقائق. Yesterday تعني ثانية واحدة بعد منتصف الليل في اليوم السابق. This-week تعني بدءًا من ثانية واحدة بعد منتصف الليل في اليوم 0 من الأسبوع المحدد بواسطة منطقتك (انظر localtime). Week-ago تعني بدءًا من ثانية واحدة بعد منتصف الليل قبل 7 أيام بالضبط. This-month تعني ثانية واحدة بعد منتصف الليل في اليوم 1 من الشهر. This-year تعني ثانية واحدة بعد منتصف الليل في أول يوم من الشهر الأول.

checkpoint تعني أن ausearch سيستخدم الطابع الزمني الموجود داخل ملف نقطة تفتيش صالح متجاهلاً العقدة المسجلة والجهاز والرقم التسلسلي والعقدة ونوع الحدث الموجود أيضًا داخل ملف نقطة تفتيش. بشكل أساسي، هذا هو إجراء الاسترداد إذا فشل استدعاء ausearch مع خيار نقطة تفتيش بحالة خروج 10 أو 11 أو 12. يمكن استخدامه في سكريبت شل مثل:


ausearch --checkpoint /etc/audit/auditd_checkpoint.txt -i
_au_status=$?
if test ${_au_status} eq 10 -o ${_au_status} eq 11 -o ${_au_status} eq 12
then

ausearch --checkpoint /etc/audit/auditd_checkpoint.txt --start checkpoint -i fi

ابحث عن حدث يطابق قيمة terminal المعطاة. تستخدم بعض البرامج الخفية مثل cron و atd اسم البرنامج الخفي للطرفية.
ابحث عن حدث مع معرف مستخدم أو معرف مستخدم فعال أو معرف مستخدم تسجيل الدخول (auid) يطابق معرف المستخدم المعطى.
ابحث عن حدث مع معرف المستخدم الفعال المعطى.
ابحث عن حدث مع معرف المستخدم المعطى.
ابحث عن حدث مع معرف مستخدم تسجيل الدخول المعطى. يجب تكوين جميع برامج نقاط الدخول التي تم تحويلها إلى PAM مع pam_loginuid المطلوب للجلسة لكي يكون البحث عن loginuid (auid) دقيقًا.
ابحث عن حدث مع معرف UUID للضيف المعطى.
يطبع الإصدارة ويخرج
ابحث عن حدث مع اسم الضيف المعطى.
يجب أن تطابق المطابقات المستندة إلى السلسلة الكلمة بأكملها. تشمل هذه الفئة من المطابقات: اسم الملف، اسم المضيف، الطرفية، المفاتيح، وسياق SE Linux.
ابحث عن حدث يطابق اسم الملف القابل للتنفيذ المعطى.

حالة الخروج

0
في حال النجاح،
1
في حالة عدم العثور على أي شيء، أو حدوث أخطاء في المعلمات، أو أخطاء بسيطة في الوصول إلى الملفات أو قراءتها،
10
وجدت بيانات غير صالحة في ملف نقطة التحقق،
11
خطأ في معالجة نقطة التفتيش
12
لم يُعثر على حدث نقطة التفتيش في ملف السجل المطابق

ملاحظة

خيار وقت الإقلاع هو دالة ملائمة ولها قيود. الوقت الذي تحسبه يعتمد على الوقت الآن مطروحًا منه /proc/uptime. إذا جرى ضبط ساعة النظام بعد الإقلاع، ربما بواسطة ntp، فقد يكون الحساب خاطئًا. في هذه الحالة، ستحتاج إلى تحديد الوقت بالكامل. يمكنك التحقق من الوقت الذي ستستخدمه عن طريق تشغيل:

date -d "`cut -f1 -d. /proc/uptime` seconds ago"

أمثلة

البحث عن مستخدم معين:
# ausearch --start today --loginuid john -i
تحقق من سجل SELinux لمعرفة ما إذا كان هناك أي حالات رفض اليوم
# ausearch --start today -m avc -i
عرض أي سجلات حديثة لـ SELinux
# ausearch -m avc,user_avc,selinux_err,user_selinux_err -i -ts recent
سجلات الإخراج بتنسيق نصي
# ausearch --start today --format text
تفسير أحداث TTY الناتجة وتحويلها إلى أحرف شل
# ausearch --start today -m TTY -i --escape shell_quote

انظر أيضًا

auditd(8)، auditd.conf(5)، aureport(8)، pam_loginuid(8).

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

يوليو 20023 ريد هات