שתף באמצעות


שימוש בחיישנים מבוססי eBPF עבור Microsoft Defender עבור נקודת קצה ב- Linux

חל על:

מסנן מנות Berkeley המורחב (eBPF) עבור Microsoft Defender עבור נקודת קצה ב- Linux מספק נתוני אירועים משלימים עבור מערכות הפעלה של Linux. eBPF יכול לשמש כטכנולוגיה חלופית לביקורת מכיוון ש- eBPF עוזר לטפל בכמה מחלקות של בעיות שנראתה עם ספק האירועים המ ביקורת והוא מועיל באזורי הביצועים ויציבות המערכת.

היתרונות העיקריים כוללים:

  • רעש יומן ביקורת מופחת ברחבי המערכת
  • כללי אירוע ממוטבים ברחבי המערכת, דבר הגורם להתנגשות בין יישומים
  • תקרית מופחתת לניטור אירוע קובץ (קריאה/פתיחה של קובץ)
  • תפוקת קצב אירועים משופרת והפחתת טביעת הרגל של הזיכרון
  • ביצועים ממוטבים עבור תצורות ספציפיות

כיצד פועל eBPF

עם eBPF, אירועים שהתקבלו בעבר מספק האירועים המ ביקורת זורמים כעת מחיישן eBPF. פעולה זו מסייעת ביציבות המערכת, משפרת את ניצול ה- CPU והזיכרון ומפחיתה את השימוש בדיסק. כמו כן, כאשר eBPF זמין, כל הכללים המותאמים אישית הקשורים לביקורת נמחקים, מה שמסייע להפחית את האפשרות להתנגשויות בין יישומים. נתונים הקשורים ל- eBPF נכנסים לקובץ /var/log/microsoft/mdatp/microsoft_defender_core.log שלך.

בנוסף, חיישן eBPF משתמש ביכולות של הליבה של Linux ללא צורך בשימוש במודול ליבה שמסייע להגביר את יציבות המערכת.

הערה

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

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

חיישן eBPF עבור Microsoft Defender עבור נקודת קצה ב- Linux נתמך בהתפלגות המינימלית ובגרסאות ליבה הבאות:

התפלגות Linux גירסת הפצה גירסת ליבה
אובונטו (אובונטו) 16.04 4.15.0
פדורה 33 5.8.15
CentOS 7.6 3.10.0-957.10
SLES (SLES) 15 5.3.18-18.47
תשל"ל (RHEL 7.6 3.10.0-957.10
דויאני (דויאני) 9.0 4.19.0
Oracle Linux RHCK 7.9 3.10.0-1160
Oracle Linux UEK 7.9 5.4
Amazon Linux 2 2 5.4.261-174.360

הערה

Oracle Linux 8.8 עם גירסת ליבה 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 תגרום להיתקעות ליבה כאשר eBPF זמין כספק מערכת משנה משלימה. אין להשתמש בגירסה זו של הליבה עבור מצב eBPF. עיין בסעיף 'פתרון בעיות ואבחון' לקבלת שלבי צמצום סיכונים.

השתמש ב- eBPF

חיישן eBPF מופעל באופן אוטומטי עבור כל הלקוחות כברירת מחדל עבור גירסאות סוכן "101.23082.0006" ואילך. הלקוחות צריכים לעדכן לגירסה נתמכת כדי לחוות את התכונה. כאשר חיישן eBPF מופעל ב נקודת קצה, Defender for Endpoint on Linux מעדכן supplementary_events_subsystem ל- ebpf.

ebpf subsystem highlight in the mdatp health command

במקרה שברצונך להפוך את eBPF ללא זמין באופן ידני, באפשרותך להפעיל את הפקודה הבאה:

sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]

באפשרותך גם לעדכן את mdatp_managed.json שלך:

{
    "features": {
        "ebpfSupplementaryEventProvider": "disabled"
    }
}

עיין בקישור לקבלת קובץ json לדוגמה מפורט - הגדרת העדפות עבור Microsoft Defender עבור נקודת קצה ב- Linux.

חשוב

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

באפשרותך גם לבדוק את המצב של eBPF (זמין/לא זמין) ב נקודות הקצה של Linux באמצעות ציד מתקדם בפורטל Microsoft Defender. השלבים הם כדלקמן:

  1. עבור אל פורטל Microsoft Defender והיכנס.

  2. בחלונית הניווט, עבור אל ציד>מתקדם לציד.

  3. תחת ציד מתקדם, עבור אל ניהול פגיעויות Defender.

  4. הפעל את השאילתה הבאה: DeviceTvmInfoGathering.

  5. בפלט, בעמודה שדות נוספים , בחר הצג עוד ולאחר מכן חפש את מצב EBPF: true.

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

עבור לקוחות המשתמשים בביקורת במצב לא ניתן להשתקה, נדרשת הפעלה מחדש לאחר הפעלה של eBPF כדי לנקות את כללי הביקורת שנוספו על-ידי Microsoft Defender for Endpoint. דרישה זו היא מגבלה במצב של ביקורת שאינה ניתנת להשתקה, דבר המקפיא את קובץ הכללים ואסר על עריכה/החלפה. בעיה זו נפתרה עם האתחול מחדש.

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

% sudo auditctl -l

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

  1. מעבר למצב ebpf.
  2. הסר את הקובץ /etc/audit/rules.d/mdatp.rules.
  3. אתחל מחדש את המחשב.

פתרון בעיות ואבחון

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

uname -a

בעיות ידועות

  1. הפעלת eBPF בגירסה RHEL 8.1 עם SAP עלולה לגרום לפאניקה בליבה. כדי לצמצם בעיה זו, באפשרותך לבצע אחד מהפעולות הבאות:

    • השתמש בגירסה של הפצה שאינה RHEL 8.1.
    • עבור למצב ביקורת אם עליך להשתמש בגירסה RHEL 8.1.
  2. שימוש ב- Oracle Linux 8.8 עם גירסת ליבה 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 עלול לגרום לפאניקה בליבה. כדי לצמצם בעיה זו, באפשרותך לבצע אחד מהפעולות הבאות:

    • השתמש בגירסאות ליבה גבוהות או נמוכות יותר מ- 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 ב- Oracle Linux 8.8 אם ברצונך להשתמש ב- eBPF כספק מערכת משנה משלימה. גירסת הליבה המינימלית עבור Oracle Linux היא RHCK 3.10.0 ו- Oracle Linux UEK הוא 5.4.
    • מעבר למצב ביקורת אם עליך להשתמש באותה גירסת ליבה
sudo mdatp config  ebpf-supplementary-event-provider  --value disabled

שתי קבוצות הנתונים הבאות עוזרות לנתח בעיות פוטנציאליות ולברר את אפשרויות הרזולוציה היעילות ביותר.

  1. אסוף חבילת אבחון מכלי מנתח הלקוח באמצעות ההוראות הבאות: פתרון בעיות ביצועים עבור Microsoft Defender עבור נקודת קצה ב- Linux.

  2. אסוף חבילת אבחון לאיתור באגים כאשר Defender for Endpoint משתמש במשאבים הגבוהים באמצעות ההוראות הבאות: Microsoft Defender for Endpoint on Linux resources.

פתרון בעיות ביצועים

אם אתה רואה את צריכת המשאבים המוגדלת על-ידי Microsoft Defender בנקודת הקצה שלך, חשוב לזהות את התהליך/הטעינה/הקבצים הגורמים לרוב ניצול המעבד/הזיכרון. לאחר מכן תוכל להחיל את הפריטים שאינם נכללים הנחוצים. לאחר החלת אי הכללות אפשריות של AV, אם wdavdaemon (תהליך אב) עדיין צורך את המשאבים, השתמש בפקודה ebpf-statistics כדי לקבל את ספירת השיחות העליונה של המערכת:

sudo mdatp diagnostic  ebpf-statistics
Output
Monitor 20 seconds
Top file paths:
/var/log/microsoft/mdatp/microsoft_defender.log : 10
/var/log/microsoft/mdatp/rotated/microsoft_defender.log00001 : 2
/var/log/microsoft/mdatp/rotated/microsoft_defender.log : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374993 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374991 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374989 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374987 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374985 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374983 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374981 : 1

Top initiator paths:
/usr/bin/stress-ng : 50000
/opt/microsoft/mdatp/sbin/wdavdaemon : 13

Top syscall ids:
82 : 1699333
90 : 10
87 : 3

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

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

למידע נוסף