Udostępnij przez


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

Usługę Defender for Endpoint można wdrożyć w systemie Linux przy użyciu różnych narzędzi i metod. W tym artykule opisano sposób wdrażania usługi Defender for Endpoint w systemie Linux przy użyciu platformy Puppet. Aby użyć innej metody, zapoznaj się z sekcją Powiązana zawartość.

Ważna

Jeśli chcesz uruchomić wiele rozwiązań zabezpieczeń obok siebie, zobacz Zagadnienia dotyczące wydajności, konfiguracji i obsługi.

Być może skonfigurowano już wzajemne wykluczenia zabezpieczeń dla urządzeń dołączonych do Ochrona punktu końcowego w usłudze Microsoft Defender. Jeśli nadal musisz ustawić wzajemne wykluczenia, aby uniknąć konfliktów, zobacz Dodawanie Ochrona punktu końcowego w usłudze Microsoft Defender do listy wykluczeń dla istniejącego rozwiązania.

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

Przed rozpoczęciem zobacz Wymagania wstępne dotyczące usługi Defender for Endpoint w systemie Linux , aby zapoznać się z opisem wymagań wstępnych i wymagań systemowych.

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 struktury katalogów

Musisz utworzyć strukturę katalogów 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 manifestu platformy Puppet

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, instalacja lokalizacji niestandardowej 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 wystąpią problemy z instalacją, w celu samodzielnego rozwiązywania problemów wykonaj następujące kroki:

  1. Aby uzyskać informacje na temat znajdowania dziennika wygenerowanego automatycznie po wystąpieniu błędu instalacji, zobacz Problemy z instalacją dziennika.

  2. Aby uzyskać informacje o typowych problemach z instalacją, zobacz Problemy z instalacją.

  3. Jeśli kondycja urządzenia to false, zobacz Problemy z kondycją agenta punktu końcowego w usłudze Defender for Endpoint.

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

  5. Aby uzyskać informacje o problemach z serwerem proxy i łącznością, zobacz Rozwiązywanie problemów z łącznością w chmurze.

Aby uzyskać pomoc techniczną od firmy Microsoft, otwórz bilet pomocy technicznej i podaj pliki dziennika utworzone przy użyciu analizatora klienta.

Jak skonfigurować zasady dla Microsoft Defender w systemie Linux

Aby skonfigurować ustawienia oprogramowania antywirusowego i EDR, zobacz następujące artykuły:

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.