مشاركة عبر


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

ينطبق على:

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

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

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

هام

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

مقدمة

انشر Microsoft Defender لنقطة النهاية على خوادم Linux باستخدام Ansible لأتمتة عملية التوزيع للأجهزة على نطاق واسع. فيما يلي طريقتان لأتمتة:

  • استخدم البرنامج النصي للمثبت (مستحسن). يبسط هذا الأسلوب إلى حد كبير عملية الأتمتة ويساعد على تثبيت Defender لعامل نقطة النهاية وإلحاق الجهاز بالمدخل Microsoft Defender باستخدام بضع خطوات فقط دون الحاجة إلى تكوين توزيعات مختلفة بشكل منفصل.

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

المتطلبات الأساسية ومتطلبات النظام المطبقة على كلا الأسلوبين

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

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

  • يجب تثبيت Ansible على كمبيوتر واحد على الأقل (يستدعي Ansible هذا الكمبيوتر عقدة التحكم).

  • يجب تكوين SSH لحساب مسؤول بين عقدة التحكم وجميع العقد المدارة (الأجهزة التي تم تثبيت Defender لنقطة النهاية عليها)، ويوصى بتكوينها باستخدام مصادقة المفتاح العام.

  • يجب تثبيت البرنامج التالي على جميع العقد المدارة:

    • حليقه
    • python-apt (إذا كنت تنشر على التوزيعات باستخدام apt كمدير حزمة)
  • يجب إدراج جميع العقد المدارة بالتنسيق التالي في /etc/ansible/hosts الملف أو ذي الصلة:

    [servers]
    host1 ansible_ssh_host=10.171.134.39
    host2 ansible_ssh_host=51.143.50.51
    
  • اختبار Ping:

    ansible -m ping all
    

قم بتنزيل حزمة الإلحاق القابلة للتطبيق على كلا الأسلوبين

قم بتنزيل حزمة الإعداد من مدخل 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 لنقطة النهاية باستخدام mde_installer.sh مع Ansible

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

تنزيل البرنامج النصي bash للمثبت

اسحب البرنامج النصي bash للمثبت من مستودع Microsoft GitHub أو استخدم الأمر التالي لتنزيله.

  wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh

إنشاء ملفات Ansible YAML

إنشاء ملف YAML للتثبيت. يمكنك أيضا تنزيل الملف مباشرة من GitHub

- name: Install and Onboard MDE
  hosts: servers
  tasks:
   - name: Create a directory if it does not exist
     ansible.builtin.file:
       path: /tmp/mde_install
       state: directory
       mode: '0755'

   - name: Copy Onboarding script
     ansible.builtin.copy:
       src: "{{ onboarding_json }}"
       dest: /tmp/mde_install/mdatp_onboard.json
   - name: Install MDE on host
     ansible.builtin.script: "{{ mde_installer_script }} --install --channel {{ channel | default('insiders-fast') }} --onboard /tmp/mde_install/mdatp_onboard.json"
     register: script_output
     args:
       executable: sudo

   - name: Display the installation output
     debug:
       msg: "Return code [{{ script_output.rc }}] {{ script_output.stdout }}"

   - name: Display any installation errors
     debug:
       msg: "{{ script_output.stderr }}"

ملاحظة

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

تطبيق دليل المبادئ

قم بتطبيق دليل المبادئ باستخدام الأمر التالي، مع استبدال المسارات والقناة المقابلة وفقا لمتطلباتك:

ansible-playbook -i  /etc/ansible/hosts /etc/ansible/playbooks/install_mdatp.yml --extra-vars "onboarding_json=<path to mdatp_onboard.json > mde_installer_script=<path to mde_installer.sh> channel=<channel to deploy for: insiders-fast / insiders-slow / prod> "

تحقق مما إذا كان التوزيع ناجحا

  1. في مدخل Microsoft Defender، افتح مخزون الجهاز. قد يستغرق ظهور الجهاز في المدخل من 5 إلى 20 دقيقة.

  2. قم بإجراء فحوصات ما بعد التثبيت التالية، والتي تتضمن فحوصات مثل الصحة والاتصال ومكافحة الفيروسات واختبارات الكشف عن EDR لضمان النشر الناجح والعمل ل Defender لنقطة النهاية.

- name: Run post-installation basic MDE test
  hosts: myhosts
  tasks:
    - name: Check health
      ansible.builtin.command: mdatp health --field healthy
      register: health_status

    - name: MDE health test failed
      fail: msg="MDE is not healthy. health status => \n{{ health_status.stdout       }}\nMDE deployment not complete"
      when: health_status.stdout != "true"

    - name: Run connectivity test
      ansible.builtin.command: mdatp connectivity test
      register: connectivity_status

    - name: Connectivity failed
      fail: msg="Connectivity failed. Connectivity result => \n{{ connectivity_status.stdout }}\n MDE deployment not complete"
      when: connectivity_status.rc != 0

    - name: Check RTP status
      ansible.builtin.command: mdatp health --field real_time_protection_enabled
      register: rtp_status

    - name: Enable RTP
      ansible.builtin.command: mdatp config real-time-protection --value enabled
      become: yes
      become_user: root
      when: rtp_status.stdout != "true"

    - name: Pause for 5 second to enable RTP
      ansible.builtin.pause:
        seconds: 5

    - name: Download EICAR
      ansible.builtin.get_url:
        url: https://secure.eicar.org/eicar.com.txt
        dest: /tmp/eicar.com.txt

    - name: Pause for 5 second to detect eicar 
      ansible.builtin.pause:
        seconds: 5

    - name: Check for EICAR file
      stat: path=/tmp/eicar.com.txt
      register: eicar_test

    - name: EICAR test failed
      fail: msg="EICAR file not deleted. MDE deployment not complete"
      when: eicar_test.stat.exists

    - name: MDE Deployed
      debug:
      msg: "MDE succesfully deployed"

كيفية إلغاء تثبيت Microsoft Defender لنقطة النهاية على خوادم Linux

أولا، قم بإنشاء ملف YAML لإلغاء التثبيت (على سبيل المثال: /etc/ansible/playbooks/uninstall_mdatp.yml) الذي يستخدم mde_installer.sh. يمكنك أيضا تنزيل الملف مباشرة من GitHub

- name: Uninstall MDE
  hosts: myhosts
  tasks:
   - name: Uninstall MDE
     ansible.builtin.script: "{{ mde_installer_script }} --remove"
     register: script_output
     args:
       executable: sudo


- name: Display the installation output
  debug:
    msg: "Return code [{{ script_output.rc }}] {{ script_output.stdout }}"

- name: Display any installation errors
  debug:
    msg: "{{ script_output.stderr }}"

قم بتشغيل الأمر التالي لإلغاء تثبيت Defender لنقطة النهاية باستخدام دليل المبادئ:

ansible-playbook -i /etc/ansible/hosts /etc/ansible/playbooks/uninstall_mdatp.yml --extra-vars "mde_installer_script=<path to mde_installer.sh>"

توزيع Defender لنقطة النهاية باستخدام Ansible عن طريق تكوين المستودعات يدويا

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

إنشاء ملفات Ansible YAML

إنشاء مهمة فرعية أو ملفات دور تساهم في دليل المبادئ أو المهمة.

  1. إنشاء مهمة الإلحاق، onboarding_setup.yml:

    - name: Create MDATP directories
      file:
        path: /etc/opt/microsoft/mdatp/
        recurse: true
        state: directory
        mode: 0755
        owner: root
        group: root
    
    - name: Register mdatp_onboard.json
      stat:
        path: /etc/opt/microsoft/mdatp/mdatp_onboard.json
      register: mdatp_onboard
    
    - name: Extract WindowsDefenderATPOnboardingPackage.zip into /etc/opt/microsoft/mdatp
      unarchive:
        src: WindowsDefenderATPOnboardingPackage.zip
        dest: /etc/opt/microsoft/mdatp
        mode: 0600
        owner: root
        group: root
      when: not mdatp_onboard.stat.exists
    
  2. أضف مستودع Defender لنقطة النهاية والمفتاح، add_apt_repo.yml. يمكن نشر Defender لنقطة النهاية على Linux من إحدى القنوات التالية:

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

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

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

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

    تحذير

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

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

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

    ملاحظة

    في حالة Oracle Linux وAmazon Linux 2، استبدل [distro] ب "rhel". بالنسبة إلى Amazon Linux 2، استبدل [version] ب "7". بالنسبة إلى Oracle Linux، استبدل [version] بإصدار Oracle Linux.

    - name: Add Microsoft APT key
      apt_key:
        url: https://packages.microsoft.com/keys/microsoft.asc
        state: present
      when: ansible_os_family == "Debian"
    
    - name: Add Microsoft apt repository for MDATP
      apt_repository:
        repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/[distro]/[version]/prod [codename] main
        update_cache: yes
        state: present
        filename: microsoft-[channel]
      when: ansible_os_family == "Debian"
    
    - name: Add Microsoft DNF/YUM key
      rpm_key:
        state: present
        key: https://packages.microsoft.com/keys/microsoft.asc
      when: ansible_os_family == "RedHat"
    
    - name: Add  Microsoft yum repository for MDATP
      yum_repository:
        name: packages-microsoft-[channel]
        description: Microsoft Defender for Endpoint
        file: microsoft-[channel]
        baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ 
        gpgcheck: yes
        enabled: Yes
      when: ansible_os_family == "RedHat"
    
  5. إنشاء تثبيت Ansible وإلغاء تثبيت ملفات YAML.

    • بالنسبة للتوزيعات المستندة إلى apt، استخدم ملف YAML التالي:

      cat install_mdatp.yml
      
      - hosts: servers
         tasks:
           - name: include onboarding tasks
             import_tasks:
               file: ../roles/onboarding_setup.yml
           - name: add apt repository
             import_tasks:
               file: ../roles/add_apt_repo.yml
           - name: Install MDATP
             apt:
               name: mdatp
               state: latest
               update_cache: yes
      
      cat uninstall_mdatp.yml
      
      - hosts: servers
         tasks:
           - name: Uninstall MDATP
             apt:
               name: mdatp
               state: absent
      
    • بالنسبة للتوزيعات المستندة إلى dnf، استخدم ملف YAML التالي:

      cat install_mdatp_dnf.yml
      
      - hosts: servers
         tasks:
           - name: include onboarding tasks
             import_tasks:
               file: ../roles/onboarding_setup.yml
           - name: add apt repository
             import_tasks:
               file: ../roles/add_yum_repo.yml
           - name: Install MDATP
             dnf:
               name: mdatp
               state: latest
               enablerepo: packages-microsoft-[channel]
      
      cat uninstall_mdatp_dnf.yml
      
      - hosts: servers
         tasks:
           - name: Uninstall MDATP
             dnf:
               name: mdatp
               state: absent
      

تطبيق دليل المبادئ

في هذه الخطوة، يمكنك تطبيق دليل المبادئ. قم بتشغيل ملفات المهام ضمن /etc/ansible/playbooks/ أو الدليل ذي الصلة.

  1. تركيب:

    ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts
    

    هام

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

  2. التحقق من الصحة/التكوين:

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  3. إلغاء التثبيت:

    ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts
    

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

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

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

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

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

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

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

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

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

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

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

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

راجع أيضًا

تلميح

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