العميل OsQuery

الوظيفة

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

الإنذار

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

osquery هي أداة مفتوحة المصدر تم إنشاؤها بواسطة فيسبوك للاستعلام عن معلومات مختلفة حول حالة الأجهزة. يتضمن ذلك معلومات مثل

  • العمليات الجارية

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

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

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

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

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

  • لينكس

  • ويندوز

  • OS X

  • فري بي إس دي

يمكن تثبيته باتباع التعليمات الموجودة على صفحة تنزيلات 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 إلى قيمة الإرجاع الأولى وذاكرة_total إلى قيمة الإرجاع الثانية:

حدد memory_total كقيمة إرجاع2، memory_free كقيمة إرجاع1 من memory_info

يُرجع الاستعلام التالي قيمتي سلسلة بترتيب معين:

حدد الميزة كـ string_value1، والقيمة كـ string_value2 من cpuid حد 1

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

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

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

الوصف

<عامة>

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

رمز الخطأ

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

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

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

استعلام

حدد القيمة كـ string_value1 من cpuid حيث الميزة="اسم_المنتج"

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

الإخراج 1

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

استعلام

حدد memory_total, memory_free من memory_info

يتطلب هذا تكوين قيمتي الإرجاع التاليتين:

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

الإخراج 2

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

الاستعلام

الوصف

مثال على الإخراج

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

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

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

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

حدد عدد(pid) كمجموع، اسم من العمليات مجموعة حسب الاسم ترتيب حسب المجموع تنازلياً حد 10

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

حدد * من وقت التشغيل

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