مشاركة عبر


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

ينطبق على:

  • Microsoft Defender لنقطة النهاية للخوادم
  • Microsoft Defender للخوادم الخطة 1 أو الخطة 2

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

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

هام

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

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

للحصول على وصف للمتطلبات الأساسية ومتطلبات النظام، راجع Microsoft Defender لنقطة النهاية على Linux.

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

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

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

تحذير

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

  1. في مدخل Microsoft Defender، انتقل إلى الإعدادات>نقاط> النهايةإدارة> الأجهزةإلحاق.

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

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

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

  4. استخراج محتويات الأرشيف.

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

إنشاء بنية دليل

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

  1. ضمن مجلد الوحدات النمطية إذا كان تثبيت Puppet الخاص بك، قم بإنشاء المجلدات install_mdatp/files و install_mdatp/manifests. يوجد مجلد الوحدات النمطية عادة في /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
    

إنشاء بيان Puppet

هناك طريقتان لإنشاء ملف بيان:

  • استخدام برنامج نصي للمثبت؛ أو
  • تكوين مستودعاتك يدويا.

إنشاء بيان لنشر Defender لنقطة النهاية باستخدام برنامج نصي للمثبت

  1. قم بتنزيل البرنامج النصي bash للمثبت. اسحب البرنامج النصي bash للمثبت من مستودع Microsoft GitHub أو استخدم الأمر التالي لتنزيله.
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh /etc/puppetlabs/code/environments/production/modules/install_mdatp/files/
  1. أضف المحتوى التالي إلى install_mdatp/manifests/init.pp الملف. يمكنك أيضا تنزيل الملف مباشرة من GitHub

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.

class install_mdatp (
  $channel = 'prod',
) {
  # Ensure that the directory /tmp/mde_install exists
  file { '/tmp/mde_install':
    ensure => directory,
    mode   => '0755',
  }

  # Copy the installation script to the destination
  file { '/tmp/mde_install/mde_installer.sh':
    ensure => file,
    source => 'puppet:///modules/install_mdatp/mde_installer.sh',
    mode   => '0777',
  }

  # Copy the onboarding script to the destination
  file { '/tmp/mde_install/mdatp_onboard.json':
    ensure => file,
    source => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
    mode   => '0777',
  }

  # Install MDE on the host using an external script
  exec { 'install_mde':
    command     => "/tmp/mde_install/mde_installer.sh --install --channel ${channel} --onboard /tmp/mde_install/mdatp_onboard.json",
    path        => '/bin:/usr/bin',
    user        => 'root',
    logoutput   => true,
    require     => File['/tmp/mde_install/mde_installer.sh', '/tmp/mde_install/mdatp_onboard.json'], # Ensure the script is copied before running the installer
  }

}

ملاحظة

يدعم البرنامج النصي المثبت أيضا معلمات أخرى مثل القناة والحماية في الوقت الحقيقي والإصدار وما إلى ذلك. للتحديد من قائمة الخيارات المتوفرة، تحقق من التعليمات. ./mde_installer.sh --help

إنشاء بيان لنشر Defender لنقطة النهاية عن طريق تكوين المستودعات يدويا

أضف المحتوى التالي إلى install_mdatp/manifests/init.pp الملف. يمكنك أيضا تنزيله من GitHub.

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.

class install_mdatp::configure_debian_repo (
  String $channel,
  String $distro,
  String $version ) {
  # Configure the APT repository for Debian-based systems

  $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',
    },
  }
}

class install_mdatp::configure_redhat_repo (
  String $channel,
  String $distro,
  String $version) {
  # Configure the Yum repository for RedHat-based systems
  
  yumrepo { 'microsoftpackages':
    baseurl  => "https://packages.microsoft.com/rhel/${version}/prod",
    descr    => 'packages-microsoft-com-prod',
    enabled  => 1,
    gpgcheck => 1,
    gpgkey   => 'https://packages.microsoft.com/keys/microsoft.asc',
  }
}

class install_mdatp::install {
  # Common configurations for both Debian and 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'],
  }

  # Install mdatp package
  package { 'mdatp':
    ensure  => installed,
    require => [
      File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
    ],
  }
}


class install_mdatp (
  $channel = 'prod'
) {
  # Include the appropriate class based on the OS family
  
  $distro = downcase($facts['os']['name'])
  $version = $facts['os']['release']['major']
  
  case $facts['os']['family'] {
    'Debian': {
      class { 'install_mdatp::configure_debian_repo':
        channel => 'prod',
        distro => $distro,
        version => $version
        } -> class { 'install_mdatp::install': }
    }
    'RedHat': {
      class { 'install_mdatp::configure_redhat_repo':
        channel => 'prod',
        distro => $distro,
        version => $version,
        } -> class { 'install_mdatp::install': }
    }
    default: { fail("${facts['os']['family']} is currently not supported.")}
  }
}

ملاحظة

يمكن نشر Defender لنقطة النهاية على Linux من إحدى القنوات التالية: المشاركون في برنامج Insider سريعون، وبطيءو المشاركون في برنامج Insider، وprod. تتوافق كل قناة مع مستودع برامج Linux. يحدد اختيار القناة نوع التحديثات المقدمة لجهازك وتكرارها. الأجهزة في insiders-fast هي أول الأجهزة التي تتلقى التحديثات والميزات الجديدة في المعاينة، متبوعة ب insiders-slow، وأخيرا بواسطة prod. لاحظ التوزيع والإصدار وحدد أقرب إدخال له ضمن https://packages.microsoft.com/config/[distro]/[version].

تحذير

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

تضمين البيان داخل ملف site.pp

قم بتضمين البيان الموضح سابقا في هذه المقالة في ملفك site.pp :

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

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

مراقبة توزيع Puppet الخاص بك

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

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: تأكد من نشر Defender لنقطة النهاية وتشغيله بنجاح.
  • health_issues: يذكر المشكلات التي تسببت في أن تصبح الحالة الصحية خاطئة.
  • licensed: يؤكد أن الجهاز مرتبط بمؤسستك.
  • orgId: معرف مؤسسة Defender لنقطة النهاية.

استكشاف مشاكل التثبيت وإصلاحها

إذا واجهت أي مشكلات في التثبيت، لاستكشاف الأخطاء وإصلاحها ذاتيا، فاتبع الخطوات التالية:

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

  2. للحصول على معلومات حول مشكلات التثبيت الشائعة، راجع مشكلات التثبيت.

  3. إذا كانت صحة الجهاز هي false، فشاهد Defender for Endpoint agent health issues.

  4. لمعرفة مشكلات أداء المنتج، راجع استكشاف مشكلات الأداء وإصلاحها.

  5. للحصول على مشكلات الوكيل والاتصال، راجع استكشاف مشكلات الاتصال السحابي وإصلاحها.

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

كيفية تكوين نهج Microsoft Defender على Linux

يمكنك تكوين إعدادات مكافحة الفيروسات وEDR على نقاط النهاية الخاصة بك. لمزيد من المعلومات، راجع المقالات التالية:

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

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

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

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

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

تلميح

هل تريد معرفة المزيد؟ Engage مع مجتمع أمان Microsoft في مجتمعنا التقني: Microsoft Defender لنقطة النهاية Tech Community.