وصف
الاستخدام - خيارات التكوين والوظائف الإضافية
القيود - توافق نظام التشغيل، وما إلى ذلك.
api
مقابل طرق التثبيت local
التطوير - دليل المساهمة في الوحدة
رخصة
تقوم وحدة falcon
بتثبيت خدمة falcon
وتكوينها وإدارتها عبر أنظمة تشغيل وتوزيعات متعددة.
ملحوظة :
puppet-falcon
هو مشروع مفتوح المصدر، وليس أحد منتجات CrowdStrike. وعلى هذا النحو، فإنه لا يحمل أي دعم رسمي، صريحًا أو ضمنيًا.
جميع المعلمات الخاصة بوحدة falcon موجودة ضمن فئة falcon
الرئيسية. هناك العديد من الخيارات التي من شأنها تعديل ما تفعله الوحدة. الرجوع إلى REFERENCE.md لمزيد من التفاصيل.
فيما يلي بعض حالات الاستخدام الشائعة.
ملاحظة : حزم
falcon
ليست عامة، لذا فإن هذه الوحدة بها خياران لتثبيت مستشعر الصقر. باستخدام المعلمةinstall_method
يمكنك اختيارapi
أوlocal
.api
هي الافتراضية. تم توضيح المزيد من المعلومات في طرق التثبيت API مقابل Local.
# باستخدام طريقة `api` class {'falcon':client_id => Sensitive('12346'),client_secret => Sensitive('12345'), cid => 'AJKQUI123JFKSDFJK`}
# باستخدام الطريقة `المحلية`$package_options = { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm' # أي سمات أخرى صالحة لمورد الحزمة}class {'falcon' : install_method => 'محلي'، package_options => $package_options، cid => 'AJKQUI123JFKSDFJK`}
api
تستخدم طرق تثبيت api
واجهة برمجة التطبيقات لتنزيل حزمة المستشعر. يتم تحديد إصدار الحزمة التي تم تنزيلها بواسطة المعلمات التي تم تمريرها إلى الوحدة.
هناك ثلاث معلمات تغير سلوك طريقة تثبيت واجهة برمجة api
. يمكن استخدام واحدة فقط من هذه المعلمات في المرة الواحدة، ويتم تقييمها بالترتيب المذكور أدناه.
version
- سيتم تنزيل حزمة المستشعر المطابقة للإصدار الذي تحدده.
update_policy
- سيتم تنزيل الإصدار المحدد بواسطة سياسة التحديث.
version_decrement
- سيتم تنزيل الإصدار n
قبل الإصدار الحالي.
تم توضيح عيوب استخدام طريقة تثبيت api
في طرق التثبيت API مقابل Local.
الأمثلة لكل منها أدناه. باستخدام معلمة version
هذا له الأسبقية على update_policy
و version_decrement
.
class { 'falcon': client_id => Sensitive('12346')، client_secret => Sensitive('12345')، الإصدار => '1.0.0'، cid => 'AJKQUI123JFKSDFJK`}
باستخدام المعلمة update_policy
هذا له الأسبقية على المعلمة version_decrement
.
class { 'falcon': client_id => Sensitive('12346')، client_secret => Sensitive('12345')، update_policy => 'platform_default'، cid => 'AJKQUI123JFKSDFJK`}
باستخدام المعلمة version_decrement
استخدم version_decrement
لتنزيل إصدار nx
.
ستؤدي القيمة 0
إلى تنزيل أحدث إصدار، وستقوم القيمة 2
بتنزيل الإصدار n-2
( 2
خلف الأحدث).
class { 'falcon':client_id => Sensitive('12346'),client_secret => Sensitive('12345'), version_decrement => 2, cid => 'AJKQUI123JFKSDFJK`}
local
تمنحك طريقة التثبيت local
التحكم الكامل في كيفية تثبيت المستشعر.
بعض الأسباب التي قد تجعلك تستخدم هذه الطريقة هي:
تريد تثبيت المستشعر من ملف محلي
لديك نظام إدارة الحزم الخاص بك
يمكنك معرفة المزيد حول طريقة التثبيت local
في طرق التثبيت API مقابل Local.
عند استخدام أسلوب التثبيت local
، يلزم وجود package_options
. يتم تمرير المعلمات الموجودة في package_options
إلى مورد package
. يجب عليك توفير أية معلمات مطلوبة لمورد package
باستثناء معلمة name
. ستقوم الوحدة باختيار الاسم المناسب بناءً على نظام التشغيل. لا يزال بإمكانك تجاوز الاسم عن طريق تحديد خاصية name
في تجزئة package_options
.
# استخدام ملف محلي {'/tmp/sensor.rpm': تأكد => 'حاضر'، المصدر => 'https://company-filer-server.com/sensor.rpm'}class {'falcon': install_method => 'محلي', package_options => { 'ضمان' => 'حاضر', 'مصدر' => '/tmp/sensor.rpm' }, يتطلب => ملف['/tmp/sensor.rpm'] }
# استخدام http sourceclass {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => 'http://example.com/sensor.rpm' } }
# تجاوز معلمة الاسمclass {'falcon': install_method => 'local', package_options => { 'ensure' => 'present', 'source' => '/tmp/sensor.rpm', 'name' => ' مستشعر الصقر } }
عندما يكون install_method
عبارة api
يمكنك استخدام معلمة cleanup_installer
لإزالة ملف المثبت بعد التثبيت.
class { 'falcon':client_id => Sensitive('12346'),client_secret => Sensitive('12345'), cleanup_installer => true, cid => 'AJKQUI123JFKSDFJK`}
يمكنك تجاوز أي معلمة تم تمريرها إلى مورد package
باستخدام المعلمة package_options
. معلمات الحزمة الصالحة
يعمل هذا بنفس الطريقة في كل من طرق التثبيت local
api
.
$package_options = { 'provider' => 'rpm', 'install_options' => '--force', }class { 'فالكون': package_options => $package_options}
الفئة {'falcon': package_manage => false # ... المعلمات الأخرى المطلوبة}
ملاحظة: لا يمكن تكوين وكيل Windows إلا في وقت التثبيت. يأتي وكيل Linux مزودًا بـ
falconctl
الذي يسمح لـ puppet بتكوين الوكيل بعد التثبيت. على سبيل المثال: سيؤدي تحديث خاصيةcid
في المورد الخاص بك إلى تحديثcid
على وكيل Linux في التشغيل التالي، ولكن ليس windows.
الفئة {'falcon': config_manage => false # ... المعلمات الأخرى المطلوبة}
الفئة {'falcon':service_manage => false # ... المعلمات الأخرى المطلوبة}
cid
class {'falcon': cid => 'AJKQUI123JFKSDFJK` # ... المعلمات الأخرى المطلوبة}
cid
باستخدام رمز التوفير إذا كانت شركتك تحتاج إلى رمز توفير مميز لتسجيل الوكيل، فيمكنك استخدام المعلمة provisioning_token
.
class {'falcon': cid => 'AJKQUI123JFKSDFJK`,provisioning_token => '1234567890' # ... معلمات أخرى مطلوبة}
يمكنك استخدام معلمات proxy_host
و proxy_port
و proxy_enabled
لتكوين إعدادات الوكيل لوكيلك.
ملاحظة: لا تحتوي عمليات تثبيت Mac على إعدادات وكيل خاصة بالوكيل. وبدلاً من ذلك يستخدم إعدادات الوكيل لنظام التشغيل. لن يؤدي تمرير القيم إلى هذه المعلمات إلى تكوين أي إعدادات وكيل لنظام التشغيل Mac.
فئة {'falcon': cid => 'AJKQUI123JFKSDFJK',providing_token => '1234567890,' proxy_host => 'neptune.example.com', proxy_port => '8080', proxy_enabled => صحيح
}
إذا كنت تريد تثبيت إصدار الوكيل على إصدار محدد باستخدام طريقة تثبيت api
، فيمكنك تعيين version_manage
على true.
في مثالنا أدناه نستخدم version_decrement
، ولكنه يعمل بنفس الطريقة بالنسبة للجميع. سوف يقوم Puppet بمراجعة واجهة برمجة التطبيقات (API) لتحديد الإصدار الذي سيتم حله version_decrement => 2
. ثم سيتم تنزيل هذا الإصدار والتأكد من تثبيته.
وفي كل عملية تشغيل لاحقة، سيتم فحص واجهة برمجة التطبيقات لمعرفة ما إذا كان الإصدار الذي تم إرجاعه هو الإصدار المثبت. على سبيل المثال، إذا تم إصدار إصدار جديد، فقد يتسبب ذلك في تغيير الإصدار الذي تم إرجاعه من الفحص مما يؤدي إلى ترقية الوكيل إلى الإصدار n-2
الجديد.
تحذير : يؤدي هذا إلى قيام الوحدة باستشارة واجهة برمجة التطبيقات (API) في كل عملية تشغيل للتأكد من أن الإصدار الذي تعرضه واجهة برمجة التطبيقات (API) هو الإصدار المثبت. قد يتسبب هذا في حدوث مشكلات في حدود المعدل لعمليات النشر الكبيرة. إذا كنت تريد إجراء ترقيات/تخفيضات تلقائية واستخدام طريقة تثبيت
api
، فمن المقترح عمومًا تعيينversion_manage
علىfalse
والسماح لسياسة تحديث CrowdStrike بإجراء الترقيات/التخفيضات بدلاً من Puppet.
class {'falcon': version_manage => true client_id => Sensitive('12346'), client_secret => Sensitive('12345'), update_policy => 'platform_default' cid => 'AJKQUI123JFKSDFJK` # ... المعلمات الأخرى المطلوبة}
باستخدام طريقة install_method
local
class {'falcon': install_method => 'local', package_options => { 'ensure' => '32.4.3', 'source' => '/tmp/sensor-32.4.3.rpm' } }
api
مقابل طرق التثبيت local
بشكل عام، ستكون طريقة api
مناسبة لمعظم حالات الاستخدام إذا تم ضبط version_manage
على false
. إذا تم تعيين version_manage
على true
، فقد تواجه حدودًا لمعدل واجهة برمجة التطبيقات.
يمكنك استخدام طريقة التثبيت local
إذا كنت تريد التحكم الكامل ولا تريد الاستفادة من واجهة برمجة التطبيقات.
بشكل عام، تتحكم وحدات الدمى التي تدير الحزمة في دورة الحياة الكاملة لتلك الحزمة من التثبيت إلى الإزالة. حقيقة أن حزم وكيل CrowdStrike ليست عامة تجعل هذا الأمر صعبًا.
ما زلنا نرغب في توفير طريقة سهلة لتثبيت الحزمة بسرعة، لذلك أنشأنا طريقة تثبيت api
. ستتطلب منك هذه الطريقة تقديم بيانات اعتماد API، ثم سنقوم بتنزيل إصدار الحزمة الصحيح من CrowdStrike API. هناك معلمات تتيح لك التحكم في السلوك مثل إعداد update_policy
. سيؤدي هذا إلى قيام الوحدة بتنزيل الإصدار الصحيح بناءً على ما تقترحه سياسة التحديث. أمثلة على كل هنا.
ومع ذلك، قد لا تكون هذه الطريقة مناسبة للجميع، لذا تم إنشاء طريقة التثبيت local
التي تمنحك التحكم الكامل في كيفية تثبيت المستشعر.
api
ستستخدم طريقة تثبيت API واجهة falcon API لتنزيل إصدار الحزمة الصحيح. يعتمد إصدار الحزمة الصحيح على المعلمات التي تقدمها. يمكنك رؤية أمثلة لكل منها هنا.
سيؤدي التشغيل الأول إلى قيام Puppet باستدعاء واجهة برمجة تطبيقات CrowdStrike المناسبة للحصول على المعلومات اللازمة لتنزيل حزمة المستشعر. سيتم بعد ذلك تنزيل حزمة المستشعر. بعد ذلك، تتولى موارد الدمية العادية المسؤولية.
إذا قمت بتعيين version_manage
على true
، فإن كل عملية تشغيل ستؤدي إلى قيام الوحدة باستشارة CrowdStrike API للحصول على إصدار الحزمة المناسب. ثم سيتم تحديد ما إذا كان الإصدار المثبت هو نفس الإصدار الذي تم إرجاعه. إذا لم تكن متماثلة، فسيتم تنزيل إصدار الحزمة الصحيح وتنفيذ إجراءات التثبيت/التحديث/الرجوع إلى إصدار أقدم المناسبة.
إذا قمت بتعيين version_manage
على false
، فلن تتم استدعاءات واجهة برمجة التطبيقات إلا في حالة عدم تثبيت مستشعر CrowdStrike.
القيد الرئيسي لطريقة تثبيت api
هو حدود معدل واجهة برمجة التطبيقات. لم نحققها بأنفسنا، ولكن قد يكون من الممكن لعمليات التثبيت الكبيرة أن تصل إلى الحد الأقصى للمعدل عند استخدام طريقة تثبيت api
مع تعيين version_manage
على true
.
في كل مرة يقوم Puppet بتجميع كتالوج لعقدة، فإنه يستخدم واجهة برمجة التطبيقات (API) لتحديد إصدار الوكيل الذي يجب تثبيته. إذا كان الوكيل موجودًا بالفعل على الإصدار الصحيح، فلن يتم إجراء أي استدعاءات أخرى لواجهة برمجة التطبيقات.
سيؤدي تعيين version_manage
إلى false
إلى منع أي استدعاءات لواجهة برمجة التطبيقات ما لم يتم تثبيت الوكيل.
أفضل طريقة لتقليل استدعاءات واجهة برمجة التطبيقات (API) هي ضبط version_manage
على false
. سيضمن هذا أن المرة الوحيدة التي يتم فيها استدعاء واجهة برمجة التطبيقات (API) هي عندما لا يتم تثبيت الوكيل. من المفترض أن يمنع هذا حدوث مشكلات في حدود معدل واجهة برمجة التطبيقات (API).
تتطلب أنظمة Apple الأساسية ملف تعريف إدارة الأجهزة المحمولة (MDM) لتثبيت ملحقات kernel دون مطالبة المستخدم. وبسبب هذا القيد، ستقوم هذه الوحدة فقط بتنزيل وتثبيت مستشعر Falcon. يوضح دليل نشر Mac الموجود في وثائق CrowdStrike الخطوات المطلوبة لتكوين مستشعر Mac لبدء الإبلاغ إلى CID
.
إذا كنت ترغب في تطوير محتوى جديد أو تحسين هذه المجموعة، يرجى فتح مشكلة أو إنشاء طلب سحب. جميع المساهمات هي موضع ترحيب!
راجع الترخيص لمزيد من المعلومات.