Udostępnij za pośrednictwem


Wdrażanie Ochrona punktu końcowego w usłudze Microsoft Defender w systemie Linux za pomocą platformy Puppet

Dotyczy:

Chcesz poznać usługę ochrony punktu końcowego w usłudze Microsoft Defender? Utwórz konto, aby skorzystać z bezpłatnej wersji próbnej.

W tym artykule opisano sposób wdrażania usługi Defender for Endpoint w systemie Linux przy użyciu platformy Puppet. Pomyślne wdrożenie wymaga wykonania wszystkich następujących zadań:

Ważna

Ten artykuł zawiera informacje o narzędziach innych firm. Zapewnia to pomoc w ukończeniu scenariuszy integracji, jednak firma Microsoft nie zapewnia obsługi rozwiązywania problemów z narzędziami innych firm.
Skontaktuj się z dostawcą innej firmy w celu uzyskania pomocy technicznej.

Wymagania wstępne i wymagania systemowe

Aby uzyskać opis wymagań wstępnych i wymagań systemowych, zobacz Ochrona punktu końcowego w usłudze Microsoft Defender w systemie Linux.

Ponadto w przypadku wdrażania platformy Puppet musisz znać zadania administracyjne platformy Puppet, skonfigurować platformę Puppet i wiedzieć, jak wdrażać pakiety. Platforma Puppet ma wiele sposobów wykonania tego samego zadania. W tych instrukcjach założono dostępność obsługiwanych modułów Puppet, takich jak apt , aby ułatwić wdrożenie pakietu. Twoja organizacja może używać innego przepływu pracy. Aby uzyskać więcej informacji, zobacz dokumentację platformy Puppet.

Pobieranie pakietu dołączania

Pobierz pakiet dołączania z portalu Microsoft Defender.

Ostrzeżenie

Ponowne pakowanie pakietu instalacyjnego usługi Defender for Endpoint nie jest obsługiwanym scenariuszem. Może to negatywnie wpłynąć na integralność produktu i prowadzić do niekorzystnych wyników, w tym między innymi do wyzwalania niestosowania alertów i aktualizacji powodujących naruszenie.

  1. W portalu Microsoft Defender przejdź do pozycji Ustawienia>Punkty końcowe>Dołączanie urządzeń dozarządzania urządzeniami>.

  2. W pierwszym menu rozwijanym wybierz pozycję Linux Server jako system operacyjny. W drugim menu rozwijanym wybierz preferowane narzędzie do zarządzania konfiguracją systemu Linux jako metodę wdrażania.

  3. Wybierz pozycję Pobierz pakiet dołączania. Zapisz plik jako WindowsDefenderATPOnboardingPackage.zip.

    Opcja pobrania dołączony pakiet.

  4. Wyodrębnij zawartość archiwum.

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

Tworzenie manifestu platformy Puppet

Musisz utworzyć manifest platformy Puppet do wdrażania usługi Defender for Endpoint w systemie Linux na urządzeniach zarządzanych przez serwer Puppet. W tym przykładzie użyto modułów apt i yumrepo dostępnych w puppetlabsprogramie i przyjęto założenie, że moduły są zainstalowane na serwerze Puppet.

  1. W folderze modules w przypadku instalacji platformy Puppet utwórz foldery install_mdatp/files i install_mdatp/manifests. Folder modules zazwyczaj znajduje się na /etc/puppetlabs/code/environments/production/modules serwerze Puppet.

  2. Skopiuj mdatp_onboard.json utworzony wcześniej plik do folderu install_mdatp/files .

  3. init.pp Utwórz plik zawierający instrukcje wdrażania:

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

Tworzenie pliku manifestu

Istnieją dwa sposoby tworzenia pliku manifestu:

  • Użyj skryptu instalatora; lub
  • Skonfiguruj repozytoria ręcznie.

Tworzenie manifestu w celu wdrożenia usługi Defender for Endpoint przy użyciu skryptu instalatora

  1. Pobierz skrypt powłoki bash instalatora. Pobierz skrypt powłoki bash instalatora z repozytorium Microsoft GitHub lub użyj następującego polecenia, aby go pobrać.
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. Dodaj następującą zawartość do install_mdatp/manifests/init.pp pliku. Możesz również pobrać plik bezpośrednio z usługi 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
  }

}

Uwaga

Skrypt instalatora obsługuje również inne parametry, takie jak kanał, ochrona w czasie rzeczywistym, wersja itp. Aby wybrać opcję z listy dostępnych opcji, sprawdź pomoc. ./mde_installer.sh --help

Tworzenie manifestu w celu wdrożenia usługi Defender for Endpoint przez ręczne skonfigurowanie repozytoriów

Dodaj następującą zawartość do install_mdatp/manifests/init.pp pliku. Możesz również pobrać go z usługi 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.")}
  }
}

Uwaga

Usługę Defender for Endpoint w systemie Linux można wdrożyć z jednego z następujących kanałów: insiders-fast, insiders-slow, prod. Każdy kanał odpowiada repozytorium oprogramowania systemu Linux. Wybór kanału określa typ i częstotliwość aktualizacji oferowanych urządzeniu. Urządzenia w insiders-fast systemie to pierwsze urządzenia, które otrzymują aktualizacje i nowe funkcje w wersji zapoznawczej, a następnie insiders-slow, i wreszcie .prod

Zanotuj dystrybucję i wersję oraz zidentyfikuj najbliższy wpis w obszarze https://packages.microsoft.com/config/[distro]/[version].

Ostrzeżenie

Przełączenie kanału po początkowej instalacji wymaga ponownej instalacji produktu. Aby przełączyć kanał produktu: odinstaluj istniejący pakiet, skonfiguruj ponownie urządzenie do korzystania z nowego kanału i wykonaj kroki opisane w tym dokumencie, aby zainstalować pakiet z nowej lokalizacji.

Dołącz manifest do pliku site.pp

Uwzględnij site.pp manifest opisany wcześniej w tym artykule w pliku:

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

Zarejestrowane urządzenia agenta okresowo sondują serwer Puppet Server i instalują nowe profile konfiguracji i zasady natychmiast po ich wykryciu.

Monitorowanie wdrożenia platformy Puppet

Na urządzeniu agenta możesz również sprawdzić stan wdrożenia, uruchamiając następujące polecenie:

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: Upewnij się, że usługa Defender dla punktu końcowego została pomyślnie wdrożona i działa.
  • health_issues: określa problemy, które spowodowały, że stan dobrej kondycji stał się fałszywy.
  • licensed: potwierdza, że urządzenie jest powiązane z twoją organizacją.
  • orgId: identyfikator organizacji usługi Defender for Endpoint.

Rozwiąż problemy z instalacją

Jeśli podczas instalacji wystąpią problemy, spróbuj wykonać następujące kroki samodzielnego rozwiązywania problemów:

  1. Zapoznaj się z tematem Problemy z instalacją dziennika , aby uzyskać więcej informacji na temat znajdowania automatycznie wygenerowanego dziennika utworzonego przez instalatora w przypadku wystąpienia błędu.

  2. Zapoznaj się z tematem Problemy z instalacją , aby uzyskać więcej informacji na temat często występujących problemów z instalacją

  3. Jeśli kondycja urządzenia jest fałszywa, zapoznaj się z tematem problemy z kondycją agenta MDE

  4. W przypadku problemów z wydajnością produktu zobacz Rozwiązywanie problemów z wydajnością, dostrajanie wydajności

  5. W przypadku problemów z serwerem proxy i łącznością zobacz Rozwiązywanie problemów z łącznością w chmurze

Aby uzyskać pomoc techniczną od firmy Microsoft, zgłoś bilet pomocy technicznej i podaj pliki dziennika przy użyciu analizatora klienta

Jak skonfigurować zasady dla Microsoft Defender w systemie Linux

Ustawienia programu antywirusowego i EDR w punktach końcowych można skonfigurować przy użyciu następujących metod:

Uaktualnienia systemu operacyjnego

Podczas uaktualniania systemu operacyjnego do nowej wersji głównej należy najpierw odinstalować usługę Defender for Endpoint w systemie Linux, zainstalować uaktualnienie, a następnie ponownie skonfigurować usługę Defender dla punktu końcowego w systemie Linux na urządzeniu.

Odinstalowywanie

Utwórz moduł remove_mdatp podobny do install_mdatp następującego w init.pp pliku:

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

Porada

Chcesz dowiedzieć się więcej? Engage ze społecznością microsoft security w naszej społeczności technicznej: Ochrona punktu końcowego w usłudze Microsoft Defender Tech Community.