Aracılığıyla paylaş


Ansible ile Linux'ta Uç Nokta için Microsoft Defender dağıtma

Şunlar için geçerlidir:

Uç nokta için Defender'i deneyimlemek ister misiniz? Ücretsiz deneme için kaydolun.

Bu makalede Ansible kullanarak Linux'ta Uç Nokta için Defender'ın nasıl dağıtılacağı açıklanmaktadır. Başarılı bir dağıtım için aşağıdaki görevlerin tümünün tamamlanması gerekir:

Önemli

Bu makale, üçüncü taraf araçları hakkında bilgi içerir. Bu, tümleştirme senaryolarının tamamlanmasına yardımcı olmak için sağlanır, ancak Microsoft üçüncü taraf araçlar için sorun giderme desteği sağlamaz.
Destek için üçüncü taraf satıcıya başvurun.

Giriş

Büyük ölçekteki makineler için dağıtım işlemini otomatikleştirmek için Ansible kullanarak Linux Sunucularında Uç Nokta için Microsoft Defender dağıtın. Otomatikleştirmek için iki yöntem şunlardır:

  • Yükleyici betiğini kullanın (önerilir). Bu yöntem otomasyon işlemini büyük ölçüde basitleştirir ve farklı dağıtımlar için ayrı olarak yapılandırmak zorunda kalmadan yalnızca birkaç adım kullanarak Uç Nokta için Defender aracısını yüklemeye ve cihazı Microsoft Defender portalına eklemeye yardımcı olur.

  • Her dağıtım için depoları el ile yapılandırın. Bu yöntem depoları el ile yapılandırarak, aracıyı yükleyerek ve her dağıtım için cihazı ekleyerek dağıtım işlemini otomatikleştirmenizi sağlar. Bu yöntem, dağıtım işlemi üzerinde daha ayrıntılı denetim sağlar.

Her iki yöntem için de geçerli önkoşullar ve sistem gereksinimleri

Başlamadan önce önkoşulların ve sistem gereksinimlerinin açıklaması için Linux'ta Uç Nokta için Ana Defender sayfasına bakın.

Ayrıca Ansible dağıtımı için Ansible yönetim görevleri hakkında bilgi sahibi olmanız, Ansible'ı yapılandırmanız ve playbook'ları ve görevleri dağıtmayı bilmeniz gerekir. Ansible'ın aynı görevi tamamlamak için birçok yolu vardır. Bu yönergelerde, paketin dağıtılmasına yardımcı olmak için apt ve unarchive gibi desteklenen Ansible modüllerinin kullanılabilir olduğu varsayılır. Kuruluşunuz farklı bir iş akışı kullanabilir. Daha fazla bilgi için ansible belgelerine bakın.

  • Ansible'ın en az bir bilgisayara yüklenmesi gerekir (Ansible bu bilgisayarı denetim düğümü olarak çağırır).

  • SSH, denetim düğümü ile tüm yönetilen düğümler (uç nokta için Defender yüklü cihazlar) arasında bir yönetici hesabı için yapılandırılmalıdır ve ortak anahtar kimlik doğrulaması ile yapılandırılması önerilir.

  • Aşağıdaki yazılım tüm yönetilen düğümlere yüklenmelidir:

    • Curl
    • python-apt (apt'yi paket yöneticisi olarak kullanarak dağıtımlarda dağıtıyorsanız)
  • Tüm yönetilen düğümler veya ilgili dosyada /etc/ansible/hosts aşağıdaki biçimde listelenmelidir:

    [servers]
    host1 ansible_ssh_host=10.171.134.39
    host2 ansible_ssh_host=51.143.50.51
    
  • Ping testi:

    ansible -m ping all
    

Her iki yöntem için de geçerli olan ekleme paketini indirin

Ekleme paketini Microsoft Defender portalından indirin.

Uyarı

Uç Nokta için Defender yükleme paketini yeniden paketlemek desteklenen bir senaryo değildir. Bunun yapılması ürünün bütünlüğünü olumsuz etkileyebilir ve kurcalama uyarılarının ve güncelleştirmelerin uygulanamaması da dahil ancak bunlarla sınırlı olmamak üzere olumsuz sonuçlara yol açabilir.

  1. Microsoft Defender portalındaAyarlar>Uç Noktaları>Cihaz yönetimi>Ekleme'ye gidin.

  2. İlk açılan menüde işletim sistemi olarak Linux Server'ı seçin. İkinci açılan menüde dağıtım yöntemi olarak Tercih ettiğiniz Linux yapılandırma yönetim aracını seçin.

  3. Ekleme paketini indir'i seçin. Dosyayı olarak WindowsDefenderATPOnboardingPackage.zipkaydedin.

    Ekleme paketini indir seçeneği

  4. Komut isteminden, dosyanın size ait olduğunu doğrulayın. Arşivin içeriğini ayıklayın:

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

Ansible ile mde_installer.sh kullanarak Uç Nokta için Defender'ı dağıtma

Başlamadan önce, ekleme paketini indirdiğinizden ve yükleyici bash betiğini kullanarak Linux'ta Uç Nokta için Defender'ı dağıtma önkoşullarını karşıladığınızdan emin olun.

Yükleyici bash betiğini indirme

Yükleyici bash betiğini Microsoft GitHub Deposu'ndan çekin veya indirmek için aşağıdaki komutu kullanın.

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

Ansible YAML dosyaları oluşturma

Yükleme YAML dosyası oluşturun. Dosyayı doğrudan GitHub'dan da indirebilirsiniz

- 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 }}"

Not

Yükleyici betiği kanal, gerçek zamanlı koruma, sürüm vb. gibi diğer parametreleri de destekler. Kullanılabilir seçenekler listesinden seçim yapmak için aşağıdaki komut aracılığıyla yardımı denetleyin: ./mde_installer.sh --help

Playbook'u uygulama

Playbook'u uygulamak için aşağıdaki komutu kullanın ve gereksinimlerinize göre ilgili yolları ve kanalı değiştirin:

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> "

Dağıtımın başarılı olup olmadığını doğrulayın

  1. Microsoft Defender portalında cihaz envanterini açın. Cihazın portalda görünmesi 5-20 dakika sürebilir.

  2. Uç Nokta için Defender'ın başarıyla dağıtılmasını ve çalışmasını sağlamak için sistem durumu, bağlantı, virüsten koruma ve EDR algılama testleri gibi denetimleri içeren aşağıdaki yükleme sonrası denetimleri gerçekleştirin.

- 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"

Linux Sunucularında Uç Nokta için Microsoft Defender kaldırma

İlk olarak, kullanan mde_installer.shbir kaldırma YAML dosyası (örneğin: /etc/ansible/playbooks/uninstall_mdatp.yml) oluşturun. Dosyayı doğrudan GitHub'dan da indirebilirsiniz

- 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 }}"

Playbook'u kullanarak Uç Nokta için Defender'ı kaldırmak için aşağıdaki komutu çalıştırın:

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

Depoları el ile yapılandırarak Ansible kullanarak Uç Nokta için Defender'ı dağıtma

Her Linux dağıtımı için depoları el ile yapılandırarak Uç Nokta için Defender'ı dağıtmak üzere ekleme paketini indirdikten ve önkoşulları karşıladıktan sonra bu bölümdeki adımları izleyin.

Ansible YAML dosyaları oluşturma

Bir playbook'a veya göreve katkıda bulunabilecek bir alt görev veya rol dosyaları oluşturun.

  1. Ekleme görevini oluşturun: 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. Uç Nokta için Defender deposunu ve anahtarını add_apt_repo.ymlekleyin. Linux'ta Uç Nokta için Defender aşağıdaki kanallardan birinden dağıtılabilir:

    Her kanal bir Linux yazılım deposuna karşılık gelir.

    Kanal seçimi, cihazınıza sunulan güncelleştirmelerin türünü ve sıklığını belirler. Insider'ların hızlı olduğu cihazlar, güncelleştirmeleri ve yeni özellikleri ilk alan cihazlardır, daha sonra insider'lar yavaş ve son olarak prod tarafından takip edilir.

    Yeni özellikleri önizlemek ve erken geri bildirim sağlamak için kuruluşunuzdaki bazı cihazları insider hızlı veya insider yavaş kullanacak şekilde yapılandırmanız önerilir.

    Uyarı

    İlk yüklemeden sonra kanalın değiştirilmesi için ürünün yeniden yüklenmesi gerekir. Ürün kanalını değiştirmek için: Mevcut paketi kaldırın, cihazınızı yeni kanalı kullanacak şekilde yeniden yapılandırın ve paketi yeni konumdan yüklemek için bu belgedeki adımları izleyin.

  3. Dağıtımınızı ve sürümünüzü not edin ve altında https://packages.microsoft.com/config/[distro]/onun için en yakın girdiyi belirleyin.

  4. Aşağıdaki komutlarda [distro] ve [version] sözcüklerini tanımladığınız bilgilerle değiştirin.

    Not

    Oracle Linux ve Amazon Linux 2 olması durumunda [distro] yerine "rhel" yazın. Amazon Linux 2 için [version] yerine "7" yazın. Oracle Linux için [version] yerine Oracle Linux sürümünü yazın.

    - 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 yüklemesini oluşturun ve YAML dosyalarını kaldırın.

    • Apt tabanlı dağıtımlar için aşağıdaki YAML dosyasını kullanın:

      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 tabanlı dağıtımlar için aşağıdaki YAML dosyasını kullanın:

      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
      

Playbook'u uygulama

Bu adımda playbook'u uygularsınız. Görev dosyalarını veya ilgili dizin altında /etc/ansible/playbooks/ çalıştırın.

  1. Kurma:

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

    Önemli

    Ürün ilk kez başlatıldığında en son kötü amaçlı yazılımdan koruma tanımlarını indirir. İnternet bağlantınıza bağlı olarak bu işlem birkaç dakika kadar sürebilir.

  2. Doğrulama/yapılandırma:

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  3. Kaldırma:

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

Yükleme sorunlarını giderin

Kendi kendine sorun giderme için şu adımları izleyin:

  1. Yükleme hatası oluştuğunda otomatik olarak oluşturulan günlüğü bulma hakkında bilgi için bkz . Günlük yükleme sorunları.

  2. Yaygın yükleme sorunları hakkında bilgi için bkz . Yükleme sorunları.

  3. Cihazın sistem durumu ise falsebkz . Uç Nokta için Defender aracısı sistem durumu sorunları.

  4. Ürün performansı sorunları için bkz. Performans sorunlarını giderme.

  5. Ara sunucu ve bağlantı sorunları için bkz. Bulut bağlantısı sorunlarını giderme.

  6. Microsoft'tan destek almak için bir destek bileti açın ve istemci çözümleyicisi kullanılarak oluşturulan günlük dosyalarını sağlayın.

Linux'ta Microsoft Defender için ilkeleri yapılandırma

Aşağıdaki yöntemleri kullanarak uç noktalarınızda virüsten koruma veya EDR ayarlarını yapılandırabilirsiniz:

İşletim sistemi yükseltmeleri

İşletim sisteminizi yeni bir ana sürüme yükseltirken, önce Linux'ta Uç Nokta için Defender'ı kaldırmanız, yükseltmeyi yüklemeniz ve son olarak cihazınızda Linux'ta Uç Nokta için Defender'ı yeniden yapılandırmanız gerekir.

Ayrıca bkz.

İpucu

Daha fazla bilgi edinmek mi istiyorsunuz? Teknoloji Topluluğumuzdaki Microsoft Güvenlik topluluğuyla Engage: Uç Nokta için Microsoft Defender Teknoloji Topluluğu.