AUSEARCH(8)

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

موجز
ausearch [خيارات]

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

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

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

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

الخيارات

-a, --event معرف-حدث-التدقيق
    ابحث عن حدث بناءً على معرف الحدث المعطى. تبدأ الرسائل دائمًا بشيء مثل msg=audit(1116360555.329:2401771). معرف الحدث هو الرقم بعد ':'. جميع أحداث التدقيق التي تُسجل من استدعاء نظام لتطبيق واحد لها نفس معرف حدث التدقيق. استدعاء نظام ثانٍ من نفس التطبيق سيكون له معرف حدث مختلف. وبهذه الطريقة تكون فريدة.

--arch وحدة-المعالجة-المركزية
    ابحث عن الأحداث بناءً على معمارية معالج مركزية محددة. إذا كنت لا تعرف معمارية جهازك ولكنك تريد استخدام جدول استدعاءات النظام 32 بت وجهازك يدعم 32 بت، يمكنك أيضًا استخدام b32 للمعمارية. وينطبق الشيء نفسه على جدول استدعاءات النظام 64 بت، يمكنك استخدام b64. يمكن العثور على معمارية جهازك عن طريق تنفيذ 'uname -m'.

-c, --comm اسم-الأمر
    ابحث عن حدث بناءً على اسم الأمر المعطى. اسم الأمر هو اسم الملف التنفيذي من بنية المهمة.

--debug
    اكتب الأحداث المشوهة التي تُخُطِّيَت إلى المخرجات القياسية للأخطاء (stderr).

--checkpoint ملف-نقطة-التفتيش
    نقطة تفتيش الإخراج بين استدعاءات ausearch المتتالية بحيث تُطبع فقط الأحداث التي لم تُخرج سابقًا في الاستدعاءات اللاحقة.

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

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

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

--eoe-timeout ثوانٍ
    اضبط مهلة نهاية تحليل الحدث. انظر end_of_event_timeout في auditd.conf(5) للتفاصيل. لاحظ أن ضبط هذه القيمة سيتجاوز أي قيمة مضبوطة موجودة في /etc/auditd/auditd.conf.

-e, --exit رمز-الخروج-أو-رقم-الخطأ
    ابحث عن حدث بناءً على رمز الخروج أو رقم الخطأ لاستدعاء النظام المعطى.

--escape خيار
    يحدد هذا الخيار ما إذا كان المخرج سيُهرب لجعل المحتوى أكثر أمانًا لاستخدامات معينة. الخيارات هي raw و tty و shell و shell_quote. يتضمن كل وضع محارف الوضع السابق ويهرب المزيد من المحارف. أي أن shell يتضمن جميع المحارف المهربة بواسطة tty ويضيف المزيد. tty هو المبدئي.

--extra-keys
    عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار عمودًا أخيرًا بمعلومات المفتاح إذا كانت موجودة للحدث. يحدث هذا فقط في سجلات SYSCALL التي كانت نتيجة لتشغيل قاعدة تدقيق تحدد مفتاحًا.

--extra-labels
    عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار أعمدة معلومات حول تسميات الموضوع والكائن عندما تكون موجودة.

--extra-obj2
    عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار أعمدة معلومات حول كائن ثانٍ عندما يكون موجودًا. من النادر أن يكون كائن ثانٍ جزءًا من سجل. تتضمن بعض الأمثلة عندما يُعاد تسمية ملف من اسم إلى آخر أو عندما يُركب جهاز إلى مسار.

--extra-time
    عندما يكون نمط التنسيق هو csv، يضيف هذا الخيار أعمدة معلومات حول الوقت المفصل لتسهيل التجزئة.

-f, --file file-name
    ابحث عن حدث بناءً على اسم الملف المعطى. يطابق الوسيط الملفات العادية بالإضافة إلى مقابس af_unix.

--format option
    تُنسق الأحداث التي تطابق معايير البحث باستخدام هذا الخيار. التنسيقات المدعومة هي: raw، مبدئي، interpret، csv، و text. يوصف خيار raw تحت خيار سطر الأوامر --raw. خيار مبدئي هو ما تحصل عليه عندما لا تُمرر أي خيارات تنسيق. يتضمن سطرًا واحدًا كفاصل مرئي يشير إلى الطابع الزمني ثم تتبعه سجلات الحدث. يُشرح خيار interpret تحت خيار سطر الأوامر -i. يخرج خيار csv نتائج البحث كحدث معياري بتنسيق قيم مفصولة بفاصلة (CSV) مناسب للاستيراد في برامج التحليل. يحول خيار text الحدث إلى جملة إنجليزية أسهل فهمًا من الخيارات الأخرى، لكنه يأتي على حساب فقدان التفاصيل. في معظم الحالات، هذا جيد تمامًا لأن الحدث الأصلي لا يزال يحتفظ بجميع المعلومات الأصلية.

-ga, --gid-all all-group-id
    ابحث عن حدث بمعرف مجموعة فعال أو معرف مجموعة يطابق معرف المجموعة المعطى.

-ge, --gid-effective effective-group-id
    ابحث عن حدث بمعرف المجموعة الفعال المعطى أو اسم المجموعة.

-gi, --gid group-id
    ابحث عن حدث بمعرف المجموعة المعطى أو اسم المجموعة.

-h, --help
    Help

-hn, --host host-name
    ابحث عن حدث باسم المضيف المعطى. يمكن أن يكون اسم المضيف إما اسم مضيف، أو اسم نطاق مؤهل بالكامل، أو عنوان شبكة رقمي. لا تُبذل أي محاولة لحل العناوين الرقمية إلى أسماء نطاقات أو أسماء مستعارة. يرتبط هذا البحث عادةً بحقل addr أو host في أحداث التدقيق. انظر أيضًا الأمر --node الذي يبحث في حقل node.

-i، --interpret
    فسّر الكيانات الرقمية إلى نص. على سبيل المثال، يُحوّل uid إلى اسم حساب. إذا كانت سجلات التدقيق غير مُثرية، يُجرى التحويل باستخدام الموارد الحالية للجهاز الذي يُشغّل عليه البحث. إذا أعدت تسمية الحسابات، أو لم تكن لديك نفس الحسابات على جهازك، فقد تحصل على نتائج مضللة. إذا كانت السجلات مُثرية، فإنها تستخدم البيانات التكميلية لإجراء التحويل. هذا يسمح بالإبلاغ الدقيق عن السجلات حتى عند التشغيل على جهاز مختلف عن الجهاز الذي جاءت منه السجلات الأصلية.

-if, --input file-name | directory
    استخدم file أو directory المعطى بدلاً من السجلات. هذا للمساعدة في التحليل حيث نُقلت السجلات إلى آلة أخرى أو حُفظ جزء فقط من السجل. طول المسار محدود بـ 4064 بايت.

--input-logs
    استخدم موقع ملف السجل من auditd.conf كمدخل للبحث. هذا ضروري إذا كنت تستخدم ausearch من مهمة cron.

--just-one
    توقف بعد إصدار أول حدث يطابق معايير البحث.

-k, --key key-string
    ابحث عن حدث بناءً على سلسلة المفتاح المعطاة.

-l, --line-buffered
    افرز المخرجات على كل سطر. مفيد جدًا عندما يكون stdout متصلاً بأنبوب وتكون استراتيجية التخزين المؤقت للكتل المبدئية غير مرغوبة. قد يفرض ذلك عقوبة على الأداء.

-m, --message message-type | comma-sep-message-type-list
    ابحث عن حدث يطابق نوع الرسالة المعطى. (تُعرف أنواع الرسائل أيضًا بأنواع السجلات.) يمكنك أيضًا إدخال قائمة أنواع رسائل مفصولة بفاصلات أو أنواع رسائل فردية متعددة، كل منها بخياره -m الخاص به. يوجد نوع رسالة ALL لا يوجد في السجلات الفعلية. يسمح لك بالحصول على جميع الرسائل في النظام. قائمة أنواع الرسائل الصالحة طويلة. سيعرض البرنامج القائمة عندما لا يتم تمرير أي نوع رسالة مع هذا المعامل. يمكن أن يكون نوع الرسالة نصيًا أو رقميًا. إذا أدخلت قائمة، يمكن أن تكون هناك فواصل فقط ولا توجد مسافات تفصل القائمة.

-n, --node
    ابحث عن الأحداث التي نشأت من جهاز معين. يُسمح بعقد متعددة، وإذا تطابقت أي عقد، يُطابق الحدث. يستخدم هذا البحث حقل العقدة في أحداث التدقيق. انظر أيضًا الأمر --host الذي يبحث عن الأحداث المتعلقة بمعلومات المضيف في مسار التدقيق.

-o, --object SE-Linux-context-string
    ابحث عن حدث ذي tcontext (كائن) يطابق السلسلة.

-p, --pid process-id
    ابحث عن حدث يطابق معرف العملية المعطى.

-pp, --ppid parent-process-id
    ابحث عن حدث يطابق معرف العملية الأب المعطى.

-r, --raw
    المخرجات غير منسقة تمامًا. هذا مفيد لاستخراج السجلات إلى ملف لا يزال من الممكن تفسيره بواسطة أدوات التدقيق أو عند التوجيه إلى أدوات تدقيق أخرى.

-sc, --syscall syscall-name-or-value
    ابحث عن حدث يطابق syscall المعطى. يمكنك إما إعطاء القيمة الرقمية لاستدعاء النظام أو اسم استدعاء النظام. إذا أعطيت اسم استدعاء النظام، فسيستخدم جدول استدعاءات النظام للجهاز الذي تستخدمه.

-se, --context SE-Linux-context-string
    ابحث عن أحداث تطابق إما scontext/الموضوع أو tcontext/الكائن مع السلسلة المعطاة.

--session Login-Session-ID
    ابحث عن أحداث تطابق معرف جلسة الدخول المعطى. يتم تعيين سمة العملية هذه عند تسجيل دخول المستخدم ويمكنها ربط أي عملية بتسجيل دخول مستخدم معين.

-su, --subject SE-Linux-context-string
    ابحث عن حدث مع scontext (الموضوع) يطابق السلسلة.

-sv, --success success-value
    ابحث عن حدث يطابق قيمة النجاح المعطاة. القيم القانونية هي نعم و لا.

-te، --end [تاريخ-النهاية] [وقت-النهاية]
    ابحث عن أحداث بطوابع زمنية تساوي أو تسبق وقت النهاية المعطى. يعتمد تنسيق وقت النهاية على منطقتك. يمكنك التحقق من تنسيق منطقتك عن طريق تشغيل 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 تعني ثانية واحدة بعد منتصف الليل في أول يوم من الشهر الأول.

-ts، --start [تاريخ-البدء] [وقت-البدء]
    ابحث عن أحداث بطوابع زمنية تساوي أو تلي وقت البداية المعطى. يعتمد تنسيق وقت البداية على منطقتك. يمكنك التحقق من تنسيق منطقتك عن طريق تشغيل 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

-tm, --terminal terminal
    ابحث عن حدث يطابق قيمة terminal المعطاة. تستخدم بعض البرامج الخفية مثل cron و atd اسم البرنامج الخفي للطرفية.

-ua, --uid-all all-user-id
    ابحث عن حدث مع معرف مستخدم أو معرف مستخدم فعال أو معرف مستخدم تسجيل الدخول (auid) يطابق معرف المستخدم المعطى.

-ue, --uid-effective effective-user-id
    ابحث عن حدث مع معرف المستخدم الفعال المعطى.

-ui, --uid user-id
    ابحث عن حدث مع معرف المستخدم المعطى.

-ul, --loginuid login-id
    ابحث عن حدث مع معرف مستخدم تسجيل الدخول المعطى. يجب تكوين جميع برامج نقاط الدخول التي تم تحويلها إلى PAM مع pam_loginuid المطلوب للجلسة لكي يكون البحث عن loginuid (auid) دقيقًا.

-uu, --uuid guest-uuid
    ابحث عن حدث مع معرف UUID للضيف المعطى.

-v، --version
    يطبع الإصدارة ويخرج

-vm, --vm-name guest-name
    ابحث عن حدث مع اسم الضيف المعطى.

-w, --word
    يجب أن تطابق المطابقات المستندة إلى السلسلة الكلمة بأكملها. تشمل هذه الفئة من المطابقات: اسم الملف، اسم المضيف، الطرفية، المفاتيح، وسياق SE Linux.

-x, --executable executable
    ابحث عن حدث يطابق اسم الملف القابل للتنفيذ المعطى.

حالة الخروج

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 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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