العميل OsQuery

وظيفة

استعلام المضيفات باستخدام osquery. يتطلب هذا المكون الإضافي تثبيت الملف القابل للتنفيذ osqueryi على المضيف المراقب. يتم تشغيل osqueryi عبر وكيل SKOOR الذي يحتاج أيضًا إلى التثبيت والتشغيل على الجهاز المستعلم. لا يلزم تشغيل برنامج osqueryd الخفي لكي تعمل هذه الاستعلامات.

التنبيه

يعتمد على قيم الإرجاع المكونة في معلمات المهمة.

osquery هو أداة مفتوحة المصدر أنشأتها Facebook للاستعلام عن معلومات مختلفة حول حالة الأجهزة. وتشمل هذه المعلومات ما يلي:

  • العمليات قيد التشغيل

  • وحدات نواة محملة

  • حسابات المستخدمين النشطة

  • اتصالات الشبكة النشطة

وغير ذلك الكثير. تعرض osquery نظام التشغيل كقاعدة بيانات علائقية عالية الأداء وتسمح بالاستعلام عنها باستخدام عبارات SQL.

يتوفر osquery حاليًا لأنظمة التشغيل التالية:

  • Linux

  • ويندوز

  • OS X

  • FreeBSD

يمكن تثبيته باتباع الإرشادات الموجودة على صفحة تنزيلات osquery: https://osquery.io/downloads/. أو يمكن ببساطة نسخ الملف الثنائي osqueryi إلى /usr/bin.

من السهل تشغيل الاستعلامات يدويًا على المضيف الذي تم تثبيت osqueryi عليه. ما عليك سوى تشغيل الأمر osqueryi الذي يدخل أداة الاستعلام التفاعلية، ثم إدخال الاستعلام متبوعًا بفاصلة منقوطة:

$ osqueryi
Using a virtual database. Need help, type '.help'
osquery> select value as string_value1 from cpuid where feature="product_name";
+------------------------------------------+
| string_value1                            |
+------------------------------------------+
| Dual-Core AMD Opteron(tm) Processor 1218 |
+------------------------------------------+
osquery> .quit

يمكنك العثور على مزيد من المعلومات حول osquery هنا: https://osquery.readthedocs.io/en/stable/.

تفاصيل وكيل OsQuery

معلمات وكيل OsQuery

المعلمة

الوصف

الاستعلام

الاستعلام الذي سيتم تشغيله على قاعدة بيانات osquery على المضيف المحلي (جامع SKOOR) أو المضيف البعيد.

تسمح قائمة العلامات المنسدلة بإدخال متغيرات محددة مسبقًا في الحقول أعلاه، على سبيل المثال $NAME$ لاسم المهمة.

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

بدلاً من ذلك، يمكن التأثير على ترتيب القيم والسلسلة المرجعة عن طريق تكييف الاستعلام لتوفير القيم المتوقعة وأسماء السلسلة، على سبيل المثال، سيقوم الاستعلام التالي بتعيين قيمة memory_free إلى القيمة المرجعة الأولى وقيمة memory_total إلى القيمة المرجعة الثانية:

select memory_total as return_value2, memory_free as return_value1 from memory_info

يعرض الاستعلام التالي قيمتين سلسلة بترتيب محدد:

select feature as string_value1, value as string_value2 from cpuid limit 1

ومع ذلك، يجب تكوين قيم الإرجاع وقيم السلسلة في قسم معلمات المهمة في المهمة لتظهر في قسم القيم في المهمة.

قيم OsQuery للوكيل وحدود الإنذار

القيمة / حد الإنذار

الوصف

<عام>

يعتمد على قيم الإرجاع المكونة في معلمات المهمة.

رمز الخطأ

رمز خطأ عام للمهمة (انظر قسم رموز أخطاء المهام)

أمثلة على وكيل OsQuery

مثال 1 - الاستعلام عن طراز وحدة المعالجة المركزية

الاستعلام

select value as string_value1 from cpuid where feature="product_name"

يتطلب هذا تكوين القيمة النصية التالية:

الناتج 1

مثال 2 - الاستعلام عن إجمالي الذاكرة والذاكرة الحرة

استعلام

اختر memory_total، memory_free من memory_info

يتطلب ذلك تكوين القيمتين التاليتين:

تحتوي الوحدة على اسم قيمة الإرجاع ووحدة ومقسوم، لأن osquery ترجع القيم بالبايت:

الإخراج 2

استعلامات إضافية

الاستعلام

الوصف

مثال على الناتج

اختر اسم المستخدم والوصف والدليل من المستخدمين حيث اسم المستخدم مثل '%eranger'

قراءة معلومات المستخدم

اختر يوم الأسبوع، اليوم، الشهر، السنة، unix_time من الوقت

قراءة وقت النظام

اختر count(pid) كإجمالي، واسم من العمليات، وقم بتجميعها حسب الاسم، وترتيبها حسب الإجمالي تنازليًا، وحدد 10

إرجاع عدد العمليات واسمها لأكثر 10 عمليات نشاطًا

اختر * من وقت التشغيل

إرجاع وقت تشغيل النظام