פריסת Microsoft Defender עבור נקודת קצה ב- Linux ב- Puppet

באפשרותך לפרוס את Defender for Endpoint ב- Linux באמצעות מגוון כלים ושיטות. מאמר זה מתאר כיצד לפרוס את Defender for Endpoint ב- Linux באמצעות Puppet. כדי להשתמש בשיטה אחרת, עיין במקטע תוכן קשור.

חשוב

אם ברצונך להפעיל פתרונות אבטחה מרובים זה לצד זה, ראה שיקולים עבור ביצועים, תצורה ותמיכה.

ייתכן שכבר הגדרת אי-הכללות של אבטחה הדדית עבור מכשירים שצורתם Microsoft Defender עבור נקודת קצה. אם עדיין עליך להגדיר אי-הכללה הדדית כדי להימנע מהתנגשויות, ראה הוספת Microsoft Defender עבור נקודת קצה לרשימת אי-ההכללה עבור הפתרון הקיים שלך.

חשוב

מאמר זה מכיל מידע אודות כלים של ספקים חיצוניים. דבר זה מסופק כדי להשלים תרחישי שילוב, עם זאת, Microsoft אינה מספקת תמיכה בפתרון בעיות עבור כלים של ספקים חיצוניים.
פנה לספק החיצוני לקבלת תמיכה.

דרישות מוקדמות ודרישות מערכת

לפני שתתחיל, ראה דרישות מוקדמות עבור Defender for Endpoint ב- Linux לקבלת תיאור של דרישות מוקדמות ודרישות המערכת.

בנוסף, עבור פריסת בובות, עליך להכיר את משימות הניהול של בובות, לקבוע את תצורת הבובה ולידע כיצד לפרוס חבילות. ל"בובה" יש דרכים רבות להשלים את אותה משימה. הוראות אלה מבוססות על הזמינות של מודולי בובות נתמכים, כגון apt כדי לעזור לפרוס את החבילה. הארגון שלך עשוי להשתמש בזרימת עבודה אחרת. לקבלת מידע נוסף, ראה תיעוד בנושא בובות.

הורד את חבילת הצירוף

הורד את חבילת הצירוף מהפורטל Microsoft Defender שלך.

אזהרה

אריזה מחדש של חבילת ההתקנה של Defender for Endpoint אינה תרחיש נתמך. פעולה זו יכולה להשפיע לרעה על תקינות המוצר ולהוביל לתוצאות שליליות, כולל אך לא מוגבל להפעלת התראות שלא כדין ועדכונים שאינם חלים.

  1. היכנס לפורטל Microsoft Defender מכן נווט אל נקודות>קצה>של הגדרות מערכת ניהול>מכשירים>צירוף.

  2. בתפריט הנפתח הראשון, בחר Linux Server כמערכת ההפעלה. בתפריט הנפתח השני, בחר כלי ניהול התצורה Linux המועדף עליך כשיתפת הפריסה.

  3. בחר הורד חבילת צירוף ושמור את הקובץ כ- WindowsDefenderATPOnboardingPackage.zip.

  4. חלץ את תוכן הארכיון באמצעות הפקודה הבאה:

    unzip WindowsDefenderATPOnboardingPackage.zip
    

    הפלט הצפוי הוא:

    Archive:  WindowsDefenderATPOnboardingPackage.zip
    inflating: mdatp_onboard.json
    

יצירת מבנה ספריה

עליך ליצור מבנה מדריך כתובות לפריסת Defender for Endpoint ב- Linux למכשירים המנוהלות על-ידי שרת בובות. דוגמה זו משתמשת במודולים apt וזמינים yumrepopuppetlabsמתוך , ומניח כי המודולים מותקנים בשרת הבובה שלך.

  1. תחת תיקיית המודולים אם התקנת הבובה שלך, צור את התיקיות 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
    

יצירת מניפסט של בובות

קיימות שתי דרכים ליצירת קובץ מניפסט:

  • השתמש בקובץ Script של מתקין; או
  • קבע את תצורת המאגר שלך באופן ידני.

יצירת מניפסט לפריסת Defender for Endpoint באמצעות קובץ Script של מתקין

  1. הורד את קובץ ה- Script של Bash של תוכנית ההתקנה. משוך את קובץ ה- Script של ה- 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
  }

}

הערה

קובץ ה- Script של תוכנת ההתקנה תומך גם בפרמטרים אחרים, כגון ערוץ, הגנה בזמן אמת, גירסה, התקנת מיקום מותאמת אישית וכו'. כדי לבחור מתוך רשימת האפשרויות הזמינות, עיין בעזרה: ./mde_installer.sh --help

צור מניפסט לפריסת Defender for Endpoint על-ידי קביעת התצורה של מאגרים באופן ידני

הוסף את התוכן הבא 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 for Endpoint Linux מתוך אחד מהערוצים הבאים: insiders-fast, insiders-slow, 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 Server ומתקין פרופילי תצורה ומדיניות חדשים ברגע שהם מזוהים.

ניטור פריסת הבובה שלך

במכשיר הסוכן, באפשרותך גם לבדוק את מצב הפריסה על-ידי הפעלת הפקודה הבאה:

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: ודא ש- Defender for Endpoint נפרס בהצלחה ותפעולי.
  • health_issues: מציינת את הבעיות שגרמו למצב התקין להפוך לערך False.
  • licensed: מאשר שהמכשיר קשור לארגון שלך.
  • orgId: מזהה הארגון של Defender for Endpoint.

פתרון בעיות התקנה

אם אתה נתקל בבעיות התקנה, לפתרון בעיות עצמיות, בצע את הפעולות הבאות:

  1. לקבלת מידע אודות האופן שבו ניתן למצוא את יומן הרישום שנוצר באופן אוטומטי כאשר מתרחשת שגיאת התקנה, ראה בעיות בהתקנת יומן רישום.

  2. לקבלת מידע אודות בעיות התקנה נפוצות, ראה בעיות התקנה.

  3. אם תקינות המכשיר היא false, ראה בעיות תקינות של סוכן נקודות קצה של Defender עבור.

  4. לקבלת בעיות בביצועי המוצר, ראה פתרון בעיות ביצועים.

  5. עבור בעיות Proxy וקישוריות, ראה פתרון בעיות קישוריות בענן.

כדי לקבל תמיכה מ- Microsoft, פתח כרטיס תמיכה וספק את קבצי יומן הרישום שנוצרו באמצעות מנתח הלקוח.

כיצד להגדיר פריטי מדיניות עבור Microsoft Defender ב- Linux

כדי לקבוע את התצורה של הגדרות אנטי-וירוס ו- EDR, עיין במאמרים הבאים:

שדרוגים למערכת ההפעלה

בעת שדרוג מערכת ההפעלה לגירסה ראשית חדשה, עליך להסיר תחילה את ההתקנה של Defender for Endpoint ב- Linux, להתקין את השדרוג ולאחר מכן לקבוע מחדש את תצורת Defender for Endpoint Linux במכשיר שלך.

הסרת ההתקנה

צור מודול דומה remove_mdatp לתוכן install_mdatp הבא בקובץ init.pp :

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