توزيع Microsoft Defender لنقطة النهاية على Linux باستخدام Puppet

ينطبق على:

هل تريد تجربة Defender لنقطة النهاية؟ التسجيل للحصول على إصدار تجريبي مجاني.

توضح هذه المقالة كيفية نشر Defender لنقطة النهاية على Linux باستخدام Puppet. يتطلب التوزيع الناجح إكمال جميع المهام التالية:

هام

تحتوي هذه المقالة على معلومات حول أدوات الجهات الخارجية. يتم توفير هذا للمساعدة في إكمال سيناريوهات التكامل، ومع ذلك، لا توفر Microsoft دعم استكشاف الأخطاء وإصلاحها لأدوات الجهات الخارجية.
اتصل بمورد الجهة الخارجية للحصول على الدعم.

المتطلبات الأساسية ومتطلبات النظام

للحصول على وصف للمتطلبات الأساسية ومتطلبات النظام لإصدار البرنامج الحالي، راجع صفحة Defender for Endpoint الرئيسية على Linux.

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

تنزيل حزمة الإعداد

قم بتنزيل حزمة الإعداد من مدخل Microsoft Defender.

تحذير

إعادة حزمة تثبيت Defender لنقطة النهاية ليست سيناريو مدعوما. يمكن أن يؤثر القيام بذلك سلبا على سلامة المنتج ويؤدي إلى نتائج سلبية، بما في ذلك على سبيل المثال لا الحصر تشغيل تنبيهات العبث والتحديثات التي تفشل في التطبيق.

  1. في مدخل Microsoft Defender، انتقل إلى Settings>Endpoints>Device management>Onboarding.

  2. في القائمة المنسدلة الأولى، حدد Linux Server كنظام تشغيل. في القائمة المنسدلة الثانية، حدد أداة إدارة تكوين Linux المفضلة لديك كطريقة نشر.

  3. حدد Download onboarding package. احفظ الملف باسم WindowsDefenderATPOnboardingPackage.zip.

    خيار تنزيل الحزمة المإلحاقة

  4. من موجه الأوامر، تحقق من أن لديك الملف.

    ls -l
    
    total 8
    -rw-r--r-- 1 test  staff  4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
    
  5. استخراج محتويات الأرشيف.

    unzip WindowsDefenderATPOnboardingPackage.zip
    
    Archive:  WindowsDefenderATPOnboardingPackage.zip
    inflating: mdatp_onboard.json
    

إنشاء بيان Puppet

تحتاج إلى إنشاء بيان Puppet لنشر Defender لنقطة النهاية على Linux على الأجهزة التي يديرها خادم Puppet. يستخدم هذا المثال الوحدات النمطية apt و yumrepo المتوفرة من puppetlabs، ويفترض أنه تم تثبيت الوحدات النمطية على خادم Puppet الخاص بك.

  1. قم بإنشاء المجلدات install_mdatp/files وضمن install_mdatp/manifests مجلد الوحدات النمطية لتثبيت Puppet الخاص بك. يقع هذا المجلد عادة في /etc/puppetlabs/code/environments/production/modules على خادم Puppet الخاص بك.

  2. انسخ الملف الذي mdatp_onboard.json تم إنشاؤه مسبقا إلى install_mdatp/files المجلد.

  3. init.pp إنشاء ملف يحتوي على إرشادات التوزيع:

    pwd
    
    /etc/puppetlabs/code/environments/production/modules
    
    tree install_mdatp
    
    install_mdatp
    ├── files
    │   └── mdatp_onboard.json
    └── manifests
        └── init.pp
    

محتويات install_mdatp/manifests/init.pp

يمكن نشر Defender لنقطة النهاية على Linux من إحدى القنوات التالية:

  • المشاركون في برنامج insider سريع، المشار إليه على أنه [channel]
  • المشاركون في برنامج insider بطيئون، المشار إليه على أنه [channel]
  • prod، المشار إليه على أنه [channel] يستخدم اسم الإصدار (راجع مستودع برامج Linux لمنتجات Microsoft)

تتوافق كل قناة مع مستودع برامج Linux.

يحدد اختيار القناة نوع التحديثات المقدمة لجهازك وتكرارها. الأجهزة في المشاركين في برنامج Insider-fast هي أول الأجهزة التي تتلقى التحديثات والميزات الجديدة، متبوعة لاحقا ببطء المشاركين في برنامج Insider، وأخيرا بواسطة prod.

من أجل معاينة الميزات الجديدة وتقديم ملاحظات مبكرة، يوصى بتكوين بعض الأجهزة في مؤسستك لاستخدام المشاركين في برنامج Insider سريع أو بطيء المشاركين في برنامج Insider.

تحذير

يتطلب تبديل القناة بعد التثبيت الأولي إعادة تثبيت المنتج. لتبديل قناة المنتج: قم بإلغاء تثبيت الحزمة الموجودة، وأعد تكوين جهازك لاستخدام القناة الجديدة، واتبع الخطوات الواردة في هذا المستند لتثبيت الحزمة من الموقع الجديد.

لاحظ التوزيع والإصدار وحدد أقرب إدخال له ضمن https://packages.microsoft.com/config/[distro]/.

في الأوامر أدناه، استبدل [توزيعة] و [إصدار] بالمعلومات التي حددتها:

ملاحظة

في حالة RedHat وOracle Linux وAmazon Linux 2 وCentOS 8، استبدل [distro] ب 'rhel'.

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.
# @param distro The Linux distribution in lowercase. In case of RedHat, Oracle Linux, Amazon Linux 2, and CentOS 8, the distro variable should be 'rhel'.
# @param version The Linux distribution release number, e.g. 7.4.

class install_mdatp (
  $channel = 'insiders-fast',
  $distro = undef,
  $version = undef
) {
  case $facts['os']['family'] {
    'Debian' : {
      $release = $channel ? {
        'prod'  => $facts['os']['distro']['codename'],
        default => $channel
      }
      apt::source { 'microsoftpackages' :
        location => "https://packages.microsoft.com/${distro}/${version}/prod",
        release  => $release,
        repos    => 'main',
        key      => {
          'id'     => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF',
          'server' => 'keyserver.ubuntu.com',
        },
      }
    }
    'RedHat' : {
      yumrepo { 'microsoftpackages' :
        baseurl  => "https://packages.microsoft.com/${distro}/${version}/${channel}",
        descr    => "packages-microsoft-com-prod-${channel}",
        enabled  => 1,
        gpgcheck => 1,
        gpgkey   => 'https://packages.microsoft.com/keys/microsoft.asc',
      }
    }
    default : { fail("${facts['os']['family']} is currently not supported.") }
  }

  case $facts['os']['family'] {
    /(Debian|RedHat)/: {
      file { ['/etc/opt', '/etc/opt/microsoft', '/etc/opt/microsoft/mdatp']:
        ensure => directory,
        owner  => root,
        group  => root,
        mode   => '0755',
      }

      file { '/etc/opt/microsoft/mdatp/mdatp_onboard.json':
        source  => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
        owner   => root,
        group   => root,
        mode    => '0600',
        require => File['/etc/opt/microsoft/mdatp'],
      }

      package { 'mdatp':
        ensure  => 'installed',
        require => File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
      }
    }
    default : { fail("${facts['os']['family']} is currently not supported.") }
  }
}

نشر

قم بتضمين البيان أعلاه في ملفك site.pp :

cat /etc/puppetlabs/code/environments/production/manifests/site.pp
node "default" {
    include install_mdatp
}

تقوم أجهزة العامل المسجلة باستطلاع خادم Puppet بشكل دوري وتثبيت ملفات تعريف التكوين والنهج الجديدة بمجرد اكتشافها.

مراقبة توزيع Puppet

على جهاز العامل، يمكنك أيضا التحقق من حالة الإلحاق عن طريق تشغيل:

mdatp health
...
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • مرخص: هذا يؤكد أن الجهاز مرتبط بمؤسستك.

  • orgId: هذا هو معرف مؤسسة Defender لنقطة النهاية.

التحقق من حالة الإعداد

يمكنك التحقق من أن الأجهزة قد تم إلحاقها بشكل صحيح عن طريق إنشاء برنامج نصي. على سبيل المثال، يتحقق البرنامج النصي التالي من الأجهزة المسجلة للحصول على حالة الإلحاق:

mdatp health --field healthy

يطبع 1 الأمر أعلاه إذا كان المنتج مإلحاقا ويعمل كما هو متوقع.

هام

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

إذا لم يكن المنتج سليما، فإن التعليمة البرمجية للخروج (التي يمكن التحقق منها من خلال echo $?) تشير إلى المشكلة:

  • 1 إذا لم يتم إعداد الجهاز بعد.
  • 3 إذا تعذر إنشاء الاتصال بالخفية.

مشكلات تثبيت السجل

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

ترقيات نظام التشغيل

عند ترقية نظام التشغيل الخاص بك إلى إصدار رئيسي جديد، يجب أولا إلغاء تثبيت Defender لنقطة النهاية على Linux، وتثبيت الترقية، وأخيرا إعادة تكوين Defender لنقطة النهاية على Linux على جهازك.

إلغاء التثبيت

إنشاء وحدة نمطية remove_mdatp مشابهة للمحتويات install_mdatp التالية في init.pp الملف:

class remove_mdatp {
    package { 'mdatp':
        ensure => 'purged',
    }
}

تلميح

هل تريد معرفة المزيد؟ التفاعل مع مجتمع أمان Microsoft في مجتمع التكنولوجيا لدينا: Microsoft Defender for Endpoint Tech Community.