שתף באמצעות


קביעת תצורה של עדכוני בינת אבטחה לא מקוונים עבור Microsoft Defender עבור נקודת קצה ב- macOS

מסמך זה מתאר את התכונה 'עדכון בינת אבטחה לא מקוון Microsoft Defender עבור נקודת קצה ב- macOS.

תכונה זו מאפשרת לארגון להשתמש בשרת אירוח מקומי (המכונה שרת שיקוף במסמך זה) כדי לעדכן את בינת האבטחה (הנקראת במסמך זה הגדרות או חתימות) ב נקודות קצה של macOS עם חשיפה מוגבלת או ללא חשיפה לאינטרנט.

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

יתרונות עיקריים

  • צוות האבטחה שלך יכול לשלוט ולנהל את תדירות הורדות החתימה לשרת המקומי ולתדירות שבה נקודות הקצה שואבות חתימות מהשרת המקומי.

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

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

  • שרת המראות שלך יכול להפעיל את Windows, Mac או Linux, ואינך צריך להתקין את Defender for Endpoint בשרת זה.

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

  • גירסאות קודמות של חתימות (n-1) מועברות לתיקיית גיבוי בשרת המראות בכל אתחול. אם ישנה בעיה בעדכונים האחרונים, באפשרותך למשוך את גירסת החתימה n-1 מתקיית הגיבוי למכשירים שלך.

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

כיצד פועל עדכון בינת אבטחה לא מקוונת

ארגונים צריכים להגדיר שרת שיקוף, שהוא שרת אינטרנט/NFS מקומי שענן Microsoft יכול לגשת אליו.

חתימות יורדו מהענן של Microsoft לשרת שיקוף זה על-ידי ביצוע קובץ Script באמצעות מתזמן משימה/משימה cron בשרת המקומי.

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

חתימות שנמשכת אל נקודות הקצה של macOS מהשרת המקומי מאומתות תחילה לפני שתיטען למנגנון האנטי-וירוס.

כדי להפעיל ולהגדיר את תהליך העדכון, עדכן את קובץ json של התצורה המנוהלת ב נקודות הקצה של macOS.

ניתן לראות את מצב העדכון ב- mdatp CLI.

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

דיאגרמת זרימת תהליכים בשרת המראות להורדת עדכוני בינת האבטחה

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

דיאגרמת זרימת תהליכים ב נקודת הקצה של macOS עבור עדכוני בינת אבטחה

שרת המראות יכול להפעיל כל אחת ממערכות ההפעלה הבאות:

  • Linux (כל טעם)
  • Windows (כל גירסה)
  • Mac (כל גירסה)

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

  • יש להתקין את Defender for Endpoint גירסה 101.25012.0003 ואילך ב נקודות הקצה של macOS.

  • נקודות הקצה של macOS צריכות להיות קישוריות לשרת המראות.

  • נקודת הקצה של macOS חייבת להפעיל כל אחת מההתפלגויות הנתמכות על-ידי Defender for Endpoint.

  • שרת המראות יכול להיות שרת HTTP/HTTPS או שרת שיתוף ברשת, לדוגמה, שרת NFS.

  • לשרת המראות דרושה גישה לכתובות ה- URL הבאות:

    • https://github.com/microsoft/mdatp-xplat.git
    • https://go.microsoft.com/fwlink/?linkid=2144709
  • שרת המראות אמור לתמוך ב- Bash או ב- PowerShell.

  • מפרטי המערכת המינימליים הבאים נדרשים עבור שרת המראות:

    ליבת CPU Ram דיסק פנוי להחליף
    2 ליבות (4 ליבות מועדפת) 1 GB של מינימום (4 GB מועדף) 2 GB נייזוי מערכת

    הערה

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

קביעת התצורה של שרת המראות

הערה

ניהול הבעלות על שרת המראות טמון אך ורק בלקוח, מכיוון שהוא שוכן בסביבה הפרטית של הלקוח.

כל שרת HTTP יכול לשמש כשרת שיקוף. שרת המראות אינו חייב להיות מותקן ב- Defender for Endpoint.

בעוד ניהול והבעלות על שרת המראות טמון אך ורק בלקוח, סעיף זה מציג שני קבצי Script לדוגמה של Bash שמדגימים כיצד להשתמש ב- Python 3 וב- Caddy כדי להגדיר שרת קבצי HTTP בסיסי ב- macOS. קבצי Script אלה נתונה למטרות איור בלבד ויש להתאים אותם לצרכים ולסביבה הספציפיים שלך.

  • python_http_server.sh: משתמש במודול שרת HTTP המוכלל של Python 3 כדי לשרת קבצים ממדריך כתובות שצוין.
  • caddy_http_server.sh: התקנה ותצורה של שרת האינטרנט של Caddy לשרת קבצים ממדריך כתובות שצוין.

כדי לוודא שהשירות מוגדר כראוי לאחר הגדרת השרת, נווט אל "https://localhost:8080".

למקרי ייצור או שימוש מתקדמים, עיין בתיעוד הרשמי של כל שרת:

תוכל תמיד לסקור ולהתאים קבצי Script לסביבה ולדרישות האבטחה שלך.

קובץ Script לדוגמה: הגדרת שרת קבצי HTTP בסיסי ב- macOS באמצעות Python 3

#!/bin/bash
# python_http_server.sh
# Starts a simple HTTP server using Python 3

# Check for Python 3
if ! command -v python3 &> /dev/null; then
  echo "Python 3 is not installed. Please install it first."
  exit 1
fi

PORT=8080
FOLDER="."

if [ ! -z "$1" ]; then
  PORT=$1
fi
if [ ! -z "$2" ]; then
  FOLDER=$2
fi

echo "Starting Python HTTP server on port $PORT (localhost only), serving folder: $FOLDER..."
python3 -m http.server "$PORT" --bind 127.0.0.1 --directory "$FOLDER"

קובץ Script לדוגמה: הגדרת שרת קבצי HTTP בסיסי ב- macOS באמצעות Caddy

#!/bin/bash
# caddy_http_server.sh
# Installs and configures Caddy HTTP server on macOS

PORT=8080
FOLDER="."

if [ ! -z "$1" ]; then
  PORT=$1
fi
if [ ! -z "$2" ]; then
  FOLDER=$2
fi

check_homebrew() {
  if ! command -v brew &> /dev/null; then
    echo "Homebrew is required to install Caddy."
    read -p "Would you like to install Homebrew? (y/n): " install_brew
    if [[ "$install_brew" =~ ^[Yy]$ ]]; then
      echo "Installing Homebrew..."
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      export PATH="/opt/homebrew/bin:$PATH"
    else
      echo "Please install Caddy manually and restart this script."
      exit 1
    fi
  fi
}

install_caddy() {
  if ! brew list caddy &> /dev/null; then
    echo "Installing Caddy via Homebrew..."
    brew install caddy
  else
    echo "Caddy is already installed."
  fi
}

# Check for Caddy
if ! command -v caddy &> /dev/null; then
  echo "Caddy is not installed."
  check_homebrew
  install_caddy
else
  echo "Caddy is already installed."
fi

# Create a simple Caddyfile
cat <<EOL > Caddyfile
localhost:${PORT} {
  root * ${FOLDER}
  file_server browse
}
EOL

echo "Caddyfile created. Starting Caddy server on port $PORT..."
caddy run --config ./Caddyfile

קבל את קובץ ה- Script של מוריד בינת האבטחה הלא מקוונת

Microsoft מארחת קובץ Script של מוריד בינת אבטחה לא מקוונת בריפו הבא של GitHub: https://github.com/microsoft/mdatp-xplat.

בצע את השלבים הבאים כדי לקבל את קובץ ה- Script של מוריד ההורדות:

אפשרות 1: שכפל את ההפצה (מועדפת)

התקן git בשרת המראות.

נווט אל הספריה שבה ברצונך לשכפל את הה מאגר.

הפעל את הפקודה: git clone https://github.com/microsoft/mdatp-xplat.git

אפשרות 2: הורד את קובץ ה- zip

הורד את קובץ ה- zip של ה- repo: https://github.com/microsoft/mdatp-xplat/archive/refs/heads/master.zip.

העתק את קובץ ה- zip לתיקיה שבה ברצונך לשמור את קובץ ה- Script.

חלץ את התיקיה הדחוסה.

הערה

תזמן משימת cron או משימה שהופעלה כדי לשמור על ההפצה/הורדת קובץ ה- zip מעודכנת לגירסה העדכנית ביותר במרווחי זמן קבועים.

לאחר שכפול מאגר או הורדת הקובץ הדחוס, מבנה מדריך הכתובות המקומי אמור להיות כך:

user@vm:~/mdatp-xplat$ tree linux/definition_downloader/
linux/definition_downloader/
├── README.md
├── settings.json
├── settings.ps1
├── xplat_offline_updates_download.ps1
└── xplat_offline_updates_download.sh

0 directories, 5 files

הערה

עבור על README.md כדי להבין בפירוט כיצד להשתמש בקובץ ה- Script.

קובץ settings.json מורכב מכמה משתנים שהמשתמש יכול לקבוע את תצורתם כדי לקבוע את הפלט של ביצוע קובץ ה- Script.

שם שדה ערך תיאור
downloadFolder מחרוזת ממפה למיקום שאליו קובץ ה- Script מוריד את הקבצים.
downloadLinuxUpdates בול כאשר הוא מוגדר ל true- , קובץ ה- Script מוריד את העדכונים הספציפיים של Linux ל- downloadFolder.
logFilePath מחרוזת הגדרת יומני האבחון בתיקיה נתונה. ניתן לשתף קובץ זה עם Microsoft לאיתור באגים בקובץ ה- Script אם קיימות בעיות.
downloadMacUpdates בול קובץ ה- Script מוריד את העדכונים הספציפיים ל- Mac ל- downloadFolder.
downloadPreviewUpdates בול מוריד את גירסת התצוגה המקדימה של העדכונים הזמינים עבור מערכת ההפעלה הספציפית.
backupPreviousUpdates בול מאפשר ל- Script להעתיק את העדכון הקודם בתיקיה _back , והעדכונים החדשים יורדו אל downloadFolder.

ביצוע קובץ ה- Script של מוריד בינת האבטחה הלא מקוון

כדי לבצע באופן ידני את קובץ ה- Script של מוריד ההורדות, קבע את תצורת הפרמטרים בקובץ settings.json לפי התיאור בסעיף הקודם והשתמש באחת מהפקודות הבאות בהתבסס על מערכת ההפעלה של שרת המראות:

Bash:

./xplat_offline_updates_download.sh

Powershell:

./xplat_offline_updates_download.ps1

הערה

תזמן משימת cron או משימה שהופעלה כדי לבצע קובץ Script זה כדי להוריד את עדכוני בינת האבטחה האחרונים לשרת המראות במרווחי זמן קבועים.

ארח את עדכוני בינת האבטחה הלא מקוונת בשרת המראות

לאחר הפעלת קובץ ה- Script, החתימות העדכניות ביותר יורדו לתיקיה שהוגדרה בקובץ settings.json (updates.zip).

לאחר הורדת zip החתימות, ניתן להשתמש בשרת המראות כדי לארח אותו. ניתן לארח את שרת המראות באמצעות כל אחד משרתי השיתוף של HTTP/HTTPS/רשת.

לאחר האירוח, העתק את הנתיב המוחלט של השרת המתארח (עד אך לא כולל את arch_* ).

לדוגמה, אם קובץ ה- Script downloadFolder=/tmp/wdav-updateמבוצע עם , ו- HTTP Server (www.example.server.com:8000) מארח את הנתיב /tmp/wdav-update, ה- URI המתאים הוא: www.example.server.com:8000/mac/production/.

ניתן גם להשתמש בנתיב המוחלט של מדריך הכתובות (נקודת טעינה מקומית/מרוחקת) כגון /tmp/wdav-update/mac/production.

לאחר הגדרת שרת המראות, עלינו להוסיף כתובת URL זו ל נקודות הקצה של Mac offlineDefinitionUpdateUrl כתצורה המנוהלת כמתואר בסעיף הבא.

קביעת התצורה של נקודות הקצה

השתמש בדוגמה הבאה mdatp_managed.json הקובץ ועדכן את הפרמטרים לפי התצורה, ולאחר מכן העתק את הקובץ למיקום /etc/opt/microsoft/mdatp/managed/mdatp_managed.json.

{
  "cloudService": {
    "automaticDefinitionUpdateEnabled": true,
    "definitionUpdatesInterval": 1202
  },
  "antivirusEngine": {
    "offlineDefinitionUpdateUrl": "http://172.22.199.67:8000/mac/production/",
    "offlineDefintionUpdateFallbackToCloud":false,
    "offlineDefinitionUpdate": "enabled"
  },
  "features": {
    "offlineDefinitionUpdateVerifySig": "enabled"
  }
}
שם שדה ערכים תגובות/הערות
automaticDefinitionUpdateEnabled true/false קובע את אופן הפעולה של Defender for Endpoint שינסה לבצע עדכונים באופן אוטומטי, מופעל או מבוטל בהתאמה.
definitionUpdatesInterval מספריים זמן מרווח זמן בין כל עדכון אוטומטי של חתימות (בשניות).
offlineDefinitionUpdateUrl מחרוזת ערך כתובת URL שנוצר כחלק מהגדרת שרת המראות. זה יכול להיות במונחים של כתובת ה- URL של השרת המרוחק או מדריך כתובות (נקודת טעינה מקומית/מרוחקת).
offlineDefinitionUpdate enabled/disabled כאשר התכונה 'עדכון enabledבינת אבטחה לא מקוונת' מוגדרת כזמינה, ולהיפך.
offlineDefinitionUpdateFallbackToCloud true/false קבע את הגישה של עדכון בינת האבטחה של Defender for Endpoint כאשר "שרת שיקוף לא מקוון" אינו משרת את בקשת העדכון. אם ההגדרה היא true, המערכת תבדוק שוב את העדכון דרך הענן של Microsoft כאשר "עדכון בינת אבטחה לא מקוון" נכשל; אחרת, להיפך.
offlineDefinitionUpdateVerifySig enabled/disabled כאשר הגדרה זו מוגדרת enabledל- , הגדרות שהורדו מאומתות ב נקודות הקצה; אחרת, להפך.

אמת את התצורה

כדי לבדוק אם ההגדרות מוחלות כראוי על נקודות הקצה של macOS, הפעל את הפקודה הבאה:

mdatp health --details definitions

פלט לדוגמה יראה כמו מקטע הקוד הבא:

user@vm:~$ mdatp health --details definitions
automatic_definition_update_enabled         : true [managed]
definitions_updated                         : Mar 14, 2024 at 12:13:17 PM
definitions_updated_minutes_ago             : 2
definitions_version                         : "1.407.417.0"
definitions_status                          : "up_to_date"
definitions_update_source_uri               : "https://go.microsoft.com/fwlink/?linkid=2144709"
definitions_update_fail_reason              : ""
offline_definition_url_configured           : "http://172.XX.XXX.XX:8000/mac/production/" [managed]
offline_definition_update                   : "enabled" [managed]
offline_definition_update_verify_sig        : "enabled"
offline_definition_update_fallback_to_cloud : false[managed]

הפעלת עדכוני בינת האבטחה הלא מקוונים

  • עדכון אוטומטי

    אם השדות וב automaticDefinitionUpdateEnabled - offline_definition_update json trueהמנוהל מוגדרים ל- , "עדכוני בינת האבטחה הלא מקוונים" מופעלים באופן אוטומטי במרווחי זמן תקופתיים.

    כברירת מחדל, מרווח תקופתי זה הוא 8 שעות. ניתן לקבוע את תצורתו על-ידי הגדרת definitionUpdatesInterval הפרמטר ב- json המנוהל.

  • עדכון ידני

    כדי להפעיל את "עדכון בינת האבטחה הלא מקוון" באופן ידני כדי להוריד את החתימות משרת המראות ב נקודות הקצה של Mac, הפעל את הפקודה הבאה:

    mdatp definitions update
    

בדוק את מצב העדכון

לאחר הפעלת "עדכון בינת האבטחה הלא מקוונת" באמצעות השיטה האוטומטית או הידני, ודא שהעדכון בוצע בהצלחה על-ידי הפעלת הפקודה: mdatp health --details --definitions.

אמת את השדות הבאים:

user@vm:~$ mdatp health --details definitions
...
definitions_status                          : "up_to_date"
...
definitions_update_fail_reason              : ""
...

פעולות נוספות לפתרון בעיות:

  • בדוק את מצב התכונה 'עדכון בינת אבטחה לא מקוון' באמצעות הפקודה הבאה:

    mdatp health --details definitions
    

    פקודה זו מספקת הודעה ידידותית למשתמש definitions_update_fail_reason שלך.

  • בדוק אם offline_definition_update הם offline_definition_update_verify_sig זמינים.

  • בדוק אם definitions_update_source_uri שווה ל- offline_definition_url_configured.

    • definitions_update_source_uri הוא המקור ממנו הורדו החתימות.
    • offline_definition_url_configured הוא המקור ממנו יש להוריד חתימות, זו המוזכרת בקובץ התצורה המנוהלת.
  • נסה לבצע את בדיקת הקישוריות כדי לבדוק אם ניתן לגשת לשרת שיקוף מהמארח:

    mdatp connectivity test
    
  • נסה להפעיל עדכון ידני באמצעות הפקודה הבאה:

    mdatp definitions update
    

למידע נוסף