McAfee ESM
במסמך הזה מוסבר איך לשלב את McAfee ESM עם Google SecOps.
תרחישים לדוגמה של שילוב
- הטמעת התראות או קורלציות ב-Google Security Operations
- השילוב מאפשר להטמיע מידע מ-McAfee ESM ב-Google SecOps. במיוחד כדי להטמיע התראות וקורלציות שאפשר יהיה למיין מאוחר יותר בתוך פלטפורמת ה-SOAR. כדי לעשות את זה, אפשר להשתמש ב-McAfee ESM Connector להטמעת התראות וב-McAfee ESM Correlations Connector להטמעת קורלציות.
- להציג מידע מפורט יותר על אירוע האבטחה
- השילוב תומך במספר פעולות שמאפשרות להריץ שאילתות בהתאמה אישית (Get Similar Events, Send Advanced Query, Send Query To ESM, Send Entity Query To ESM) ולאחזר מידע על אירועים. יש גם את הפעולה Get Similar Events, ששולחת שאילתות לגבי אירועים שקשורים לכתובות ה-IP, לשמות המארחים ולמשתמשים בהתראה של Google SecOps.
- מעקב אחרי אינדיקטורים לפגיעה (IOC) באמצעות רשימות מעקב
- השילוב תומך בהוספה ובהסרה של פריטים מרשימות הצפייה. כך אפשר לעדכן באופן קבוע רשימת מעקב עם כתובות IP או גיבובים חשודים.
רשת
גישה ל-API מ-Google SecOps ל-McAfee ESM: מאפשרים תנועה דרך יציאה 443 (HTTPS) (או כמו שהוגדר בסביבה שלכם).
ניהול סשנים
ל-McAfee ESM יש פרמטר גלובלי שמגביל את מספר הסשנים לכל משתמש.
ב-Google SecOps יש מנגנון מלא לניהול סשנים, כך שהשילוב משתמש באותו סשן בכל השילוב. ערכי הסשן מאוחסנים בצורה מוצפנת ברשומה McAfee_ESM_Action_Sessions_*.json וברשומה McAffee_ESM_Connector_Sessions_*.json במסד הנתונים.
המלצות:
- להגדיר משתמש אחד לפעולות ומשתמש אחד למחברים.
- לכל משתמש צריכים להיות לפחות שני סשנים.
ההמלצות האלה נדרשות כדי שהשילוב יהיה יציב.
תאימות לשילוב
| שם המוצר | גרסה | פריסה | הערות |
|---|---|---|---|
| McAfee ESM | 11.1-11.5 | מקומי | השילוב נבדק עם גרסאות המוצר 11.1-11.5, וה-API שמשמש בשילוב לא השתנה. אם ה-API לא עודכן בגרסאות החדשות יותר, השילוב עדיין יפעל. |
הגדרת השילוב של McAfeeESM ב-Google SecOps
איך מגדירים שילובים ב-Google SecOps
פרמטרים להגדרת השילוב
כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| הרמה הבסיסית (root) של ה-API | Sring | https://{ip}/rs/ | כן | שורש ה-API של המכונה. |
| שם משתמש | String | לא רלוונטי | כן | שם המשתמש של המכונה. |
| סיסמה | סיסמה | לא רלוונטי | כן | הסיסמה של המכונה. |
| גרסת המוצר | String | 11.5 | כן | גרסת המוצר. ערכים אפשריים: 11.1-11.5 |
| אימות SSL | תיבת סימון | סימן אישור | כן | אם ההגדרה מופעלת, המערכת מאמתת שאישור ה-SSL לחיבור לשרת McAfee ESM תקף. |
פעולות
הוספת ערכים לרשימת המעקב
תיאור הפעולה
מוסיפים ערכים לרשימת מעקב ב-McAfee ESM.
שימוש בפעולות
הפעולה הזו משמשת לעדכון רשימת הצפייה בערכים חדשים. לדוגמה, אם יש לכם רשימת מעקב של גיבובים זדוניים, אתם יכולים להשתמש בפעולה הזו כדי לעדכן את רשימת המעקב.
פרמטרים להגדרת פעולות
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם רשימת המעקב | String | לא רלוונטי | כן | מציינים את השם של רשימת המעקב שרוצים לעדכן. |
| ערכים להוספה | CSV | לא רלוונטי | כן | צריך לציין רשימה מופרדת בפסיקים של ערכים שצריך להוסיף לרשימת מעקב. |
היקף ההרשאות של הישות לפעולה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
N/A
קיר של נרתיק הטעינה
| סוג התוצאות | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם מדווח קוד הסטטוס 200 (is_success=true): "הערך נוסף בהצלחה לרשימת הצפייה". הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם מדווחת שגיאה חמורה, כמו פרטי כניסה שגויים או שאין חיבור לשרת: "שגיאה בביצוע הפעולה 'הוספת ערכים לרשימת המעקב'. הסיבה: {0}".format(error.Stacktrace) אם מדווח על שגיאות בתגובה: "שגיאה בביצוע הפעולה 'הוספת ערכים לרשימת המעקב'. הסיבה: {message}. |
כללי |
אירועים דומים
תיאור הפעולה
מקבלים אירועים שקשורים לישויות ב-McAfee ESM. ישויות נתמכות: שם מארח, כתובת IP, משתמש.
פרמטרים להגדרת פעולות
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שעות אחורה | String | 1 | כן | מציינים כמה שעות אחורה לחפש. |
| מזהה IPS | String | 144115188075855872/8 | לא | מציינים את מזהה ה-IP של החיפוש. |
| מגבלת תוצאות | String | 50 | לא | מציינים את מספר התוצאות שרוצים לקבל. ערך הפרמטר המקסימלי: 200 לכל ישות. |
היקף ההרשאות של הישות לפעולה
הפעולה הזו פועלת על הישויות הבאות:
- כתובת IP
- שם המארח
- משתמש
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"EntityResult":
[{
"Alert.DstPort": "0",
"Rule.msg": "User Logon",
"Alert.IPSIDAlertID": "144115188075855872|383521",
"Action.Name": "success",
"Alert.SrcIP": "1.1.1.1",
"Alert.LastTime": "05/28/2019 14:18:10",
"Alert.Protocol": "n/a",
"Alert.SrcPort": "0",
"Alert.DstIP": "1.1.1.1"
}, {
"Alert.DstPort": "0",
"Rule.msg": "User Logon",
"Alert.IPSIDAlertID": "144115188075855872|383519",
"Action.Name": "success",
"Alert.SrcIP": "1.1.1.1",
"Alert.LastTime": "05/28/2019 14:16:16",
"Alert.Protocol": "n/a",
"Alert.SrcPort": "0",
"Alert.DstIP": "1.1.1.1"
}],
"Entity": "1.1.1.1"
}
]
העשרת ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| Alert.DstPort | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Rule.msg | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Alert.IPSIDAlertID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Alert.SrcIP | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Alert.LastTime | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Alert.Protocol | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Alert.SrcPort | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| Alert.DstIP | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
קיר של נרתיק הטעינה
| סוג התוצאות | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם קוד הסטטוס 200 מדווח לישות אחת (is_success=true): "Successfully retrieved events for the following entities in McAfee ESM: {entities}" אם אין נתונים לישות אחת (is_success=true): "הפעולה לא הצליחה לאחזר אירועים עבור הישויות הבאות ב-McAfee ESM: {entities}." אם אין נתונים לכל הישויות (is_success=false): "לא נמצאו אירועים לישויות שסופקו ב-McAfee ESM". הודעה אסינכרונית: "ממתין לסיום השאילתה עבור {pending entities}". הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם מדווחת שגיאה קריטית: "שגיאה בביצוע הפעולה 'חיפוש אירועים דומים'. הסיבה: {0}".format(error.Stacktrace) אם הזמן הקצוב לתפוגה של הפעולה הסתיים: "שגיאה בהפעלת הפעולה 'חיפוש אירועים דומים'. הסיבה: הפעולה התחילה את השאילתה אבל חלף הזמן הקצוב לתפוגה במהלך אחזור הנתונים. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE ולנסות שוב." |
כללי |
| שולחן קיר עם ארונית | כל השדות מהתשובה. | ישות |
פינג
תיאור הפעולה
בודקים את הקישוריות ל-McAfee ESM באמצעות הפרמטרים שצוינו בדף הגדרת השילוב ב-Google SecOps Content Hub.
פרמטרים להגדרת פעולות
לפעולה הזו אין פרמטרים של קלט חובה.
היקף ההרשאות של הישות לפעולה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
N/A
קיר של נרתיק הטעינה
| סוג התוצאות | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם החיבור הצליח: "החיבור לשרת McAfee ESM בוצע בהצלחה באמצעות פרמטרי החיבור שסופקו". הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם החיבור נכשל: "החיבור לשרת McAfee ESM נכשל! השגיאה היא {0}".format(exception.stacktrace) |
כללי |
הסרת ערכים מרשימת הצפייה
תיאור הפעולה
הסרת ערכים מרשימת מעקב ב-McAfee ESM.
שימוש בפעולות
אפשר להשתמש בפעולה הזו כדי להסיר ערכים מסוימים מרשימת המעקב. לדוגמה, אם יש לכם רשימת מעקב של גיבובים זדוניים וגיליתם שאחד מהגיבובים הוא לא זדוני, אתם יכולים להסיר אותו מרשימת המעקב.
פרמטרים להגדרת פעולות
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם רשימת המעקב | String | לא רלוונטי | כן | מציינים את השם של רשימת המעקב שרוצים לעדכן. |
| ערכים להסרה | CSV | לא רלוונטי | כן | ציינו רשימה מופרדת בפסיקים של ערכים שצריך להסיר מרשימת מעקב. |
היקף ההרשאות של הישות לפעולה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
N/A
קיר של נרתיק הטעינה
| סוג התוצאות | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם מדווח קוד הסטטוס 200 (is_success=true): "הערך נוסף בהצלחה לרשימת הצפייה". הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם מדווחת שגיאה חמורה, כמו פרטי כניסה שגויים או שאין חיבור לשרת: "שגיאה בביצוע הפעולה 'הסרת ערכים מרשימת המעקב'. הסיבה: {0}".format(error.Stacktrace) אם מדווח על שגיאות בתגובה: "שגיאה בביצוע הפעולה 'הסרת ערכים מרשימת המעקב'. הסיבה: {message}." | כללי |
שליחת שאילתה מתקדמת ל-ESM
תיאור הפעולה
שליחת שאילתה מתקדמת ל-ESM.
שימוש בפעולות
זו פעולה מתקדמת שמאפשרת לכם להריץ כל שאילתה ב-McAfee ESM. הפעולה הזו מקבלת כקלט את המטען הייעודי (payload) המלא של השאילתה. הפעולה מחזירה עד 200 רשומות, בלי קשר למה שצוין במטען הייעודי (payload).
פרמטרים להגדרת פעולות
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| המטען הייעודי (payload) של השאילתה | String | לא רלוונטי | כן | ציינו את אובייקט ה-JSON שצריך להפעיל. הפעולה מחזירה עד 200 תוצאות. |
יצירת מטען ייעודי (payload) של שאילתה
כדי ליצור מטען ייעודי (payload) של שאילתה:
- מתחברים לממשק המשתמש של McAfee ESM ופותחים את הכלים למפתחים בדפדפן.
- עוברים לכרטיסייה רשת.
- לוחצים על הוספת כרטיסייה ומוסיפים תצוגה חדשה.
- לוחצים על הוספת ווידג'ט.
בתיבת הדו-שיח Widget Configuration, מזינים את שם הווידג'ט ובוחרים את השאילתה שרוצים להריץ.
בכלים למפתחים, תופיע בקשת ה-API של
runningQuery.עוברים לכרטיסייה Payload ולוחצים על View Source.
מעתיקים את המטען הייעודי ומדביקים אותו בשדה הפרמטר מטען ייעודי של שאילתה.

היקף ההרשאות של הישות לפעולה
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"Rule.msg": "* Latest Kubernetes 1.18 beta is now available for your laptop, NUC, cloud",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Starting Message of the Day...",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Started Message of the Day.",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "https://xxxxxxxx.run/",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "* Multipass 1.1 adds proxy support for developers behind enterprise",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "sudo snap install microk8s --channel=1.18/beta --classic",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Starting Daily apt upgrade and clean activities...",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Started Daily apt upgrade and clean activities.",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "firewalls. Rapid prototyping for cloud operations just got easier.",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "instance or Raspberry Pi, with automatic updates to the final GA release.",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Data Center : Telmetry Posting",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Send Password Expiry Notification",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Data Center: Telemetry Notifier to Collect Data",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Update successful",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Update successful",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "8198-software protection platform service",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "1003-software protection platform service",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "The Time Provider NtpClient is Currently Receiving Valid Time Data",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Time service now synchronizing system time",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "1",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "autorefresh.go:397: auto-refresh: all snaps are up-to-date",
"COUNT(*)": "2",
"SUM(Alert.EventCount)": "2",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "storehelpers.go:436: cannot refresh: snap has no updates available: \\\"amazon-ssm-agent\\\", \\\"core\\\"",
"COUNT(*)": "2",
"SUM(Alert.EventCount)": "2",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "The Windows Security Center Service could not start Windows Defender",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "2",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "A user's local group membership was enumerated",
"COUNT(*)": "2",
"SUM(Alert.EventCount)": "2","Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "The System Time Has Changed",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "3",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "The system time was changed.",
"COUNT(*)": "1",
"SUM(Alert.EventCount)": "3",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "User Logon",
"COUNT(*)": "4",
"SUM(Alert.EventCount)": "4",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "16384-software protection platform service",
"COUNT(*)": "7",
"SUM(Alert.EventCount)": "7",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "16394-software protection platform service",
"COUNT(*)": "7",
"SUM(Alert.EventCount)": "7",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Linux crond Session opened",
"COUNT(*)": "10",
"SUM(Alert.EventCount)": "10",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Linux crond Session closed",
"COUNT(*)": "10",
"SUM(Alert.EventCount)": "10",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Linux cron Scheduled Command Executed",
"COUNT(*)": "10",
"SUM(Alert.EventCount)": "10",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "DHCPACK of xx.x.x.xxx from xx.x.x.x",
"COUNT(*)": "19",
"SUM(Alert.EventCount)": "19",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Linux dhclient Renewal",
"COUNT(*)": "19",
"SUM(Alert.EventCount)": "19",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Linux DHCP Client Request",
"COUNT(*)": "19",
"SUM(Alert.EventCount)": "19",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Special Privileges Assigned",
"COUNT(*)": "28",
"SUM(Alert.EventCount)": "28",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Special privileges assigned to new logon.",
"COUNT(*)": "21",
"SUM(Alert.EventCount)": "30",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "An account was successfully logged on",
"COUNT(*)": "21",
"SUM(Alert.EventCount)": "30",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Endpoint Security Firewall Property Translator",
"COUNT(*)": "40",
"SUM(Alert.EventCount)": "40",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Retrieve broker health information",
"COUNT(*)": "41",
"SUM(Alert.EventCount)": "41",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "5379-microsoft-windows-security-auditing",
"COUNT(*)": "10",
"SUM(Alert.EventCount)": "90",
"Alert.DSIDSigID": "12345-2223334445"
},{
"Rule.msg": "Returns a list of DXL Registered Services",
"COUNT(*)": "43",
"SUM(Alert.EventCount)": "164",
"Alert.DSIDSigID": "12345-2223334445"
}
]
קיר של נרתיק הטעינה
אם הפעולה נתקלה בפסק זמן: "Error executing action "Send Advanced Query to ESM". הסיבה: הפעולה התחילה את השאילתה אבל חלף הזמן הקצוב לתפוגה במהלך אחזור הנתונים. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE ולנסות שוב."
| סוג התוצאות | ערך/תיאור | טקסט |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם קוד הסטטוס הוא 200 (is_success=true): "הנתונים של השאילתה שצוינה אוחזרו בהצלחה ב-McAfee ESM". אם אין נתונים לישות אחת (is_success=true): "לא נמצאו נתונים לשאילתה שצוינה ב-McAfee ESM". הודעה אסינכרונית: "ממתין לסיום השאילתה…" הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם מדווחת שגיאה קריטית: "Error executing action "Send Advanced Query to ESM". הסיבה: {0}".format(error.Stacktrace) אם מדווח קוד הסטטוס 400 או 500:"שגיאה בביצוע הפעולה 'שליחת שאילתה מתקדמת ל-ESM'. הסיבה: {0}";.format(response) |
כללי |
| שולחן קיר עם ארונית | כל השדות מהתשובה. | כללי |
שליחת שאילתה ל-ESM
תיאור הפעולה
שליחת שאילתה ל-ESM.
שימוש בפעולות
אתם יכולים להשתמש בפעולה הזו כדי לבצע פירוט נוסף של ההתראה ב-Google SecOps. אתם יכולים לאחזר אירועים, נכסים ומידע על תהליכים.
פרמטרים להגדרת פעולות
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| טווח תאריכים | רשימה נפתחת | LAST_24_HOURS ערכים אפשריים:
|
כן | מציינים מסגרת זמן לתוצאות. אם בוחרים באפשרות |
| שעת ההתחלה | String | לא רלוונטי | לא | מציינים את שעת ההתחלה של התוצאות. חובה לכלול את הפרמטר הזה אם בוחרים באפשרות פורמט: ISO 8601 |
| שעת הסיום | String | לא רלוונטי | לא | מציינים את שעת הסיום של התוצאות. פורמט: ISO 8601. אם לא מציינים ערך ובוחרים באפשרות |
| שם שדה המסנן | String | לא רלוונטי | כן | מציינים את שם השדה שישמש לסינון. |
| אופרטור המסנן | רשימה נפתחת | שווה ל: ערכים אפשריים:
| כן | מציינים את האופרטור שבו רוצים להשתמש במסנן. |
| ערכי סינון | String | לא רלוונטי | כן | צריך לציין רשימה מופרדת בפסיקים של ערכים שישמשו במסנן. |
| שדות לאחזור | CSV | לא רלוונטי | לא | צריך לציין רשימה מופרדת בפסיקים של שדות שרוצים שיוחזרו. אם לא תציינו שדות, הפעולה תשתמש בשדות שהוגדרו מראש. |
| שדה המיון | String | לא רלוונטי | לא | צריך לציין באיזה פרמטר להשתמש למיון. הפרמטר הזה מצפה לשדה בפורמט {table}.{key name}. אם הפרמטר יסופק בפורמט אחר, הפעולה תדלג עליו. דוגמה: Alert.LastTime |
| סדר המיון | רשימה נפתחת | ASC ערכים אפשריים:
|
לא | מציינים את סדר המיון. |
| סוג השאילתה | רשימה נפתחת | אירוע ערכים אפשריים:
|
כן | מציינים מה צריך לשאול. |
| מספר התוצאות המקסימלי שיוחזרו | מספר שלם | 50 | כן | מציינים את מספר התוצאות שרוצים לקבל. ערך ברירת המחדל של הפרמטר: 50. ערך הפרמטר המקסימלי: 200. |
עבודה עם הפרמטר "טווח תאריכים"
הפרמטר טווח תאריכים מציין את מסגרת הזמן שבה תתבצע השאילתה. הפעולה תומכת בהרבה ערכים מוגדרים מראש שאפשר לבחור. אפשר גם להגדיר טווח תאריכים בהתאמה אישית.
כדי להגדיר טווח זמן מותאם אישית, צריך להגדיר את הפרמטר Time Range לערך Custom ולספק ערך בפורמט ISO 8601 לפרמטר Start Time. כברירת מחדל, הפרמטר End Time מצביע על השעה הנוכחית.
מציינים שדות לפרמטרים "שם שדה הסינון", "שדות לאחזור" ו"שדה מיון"
כדי לציין שדות לפרמטרים Field Name, Fields To Fetch ו-Sort Field של המסנן, מבצעים את השלבים הבאים:
- מתחברים לממשק המשתמש של McAfee ESM ופותחים את הכלים למפתחים בדפדפן.
- עוברים לכרטיסייה רשת.
- לוחצים על הוספת כרטיסייה ומוסיפים תצוגה חדשה.
- לוחצים על הוספת ווידג'ט.
בתיבת הדו-שיח Widget Configuration:
- בקטע שדות, בוחרים את כל השדות שרוצים.
- מזינים כותרת בהתאמה אישית ומגדירים את מקור השאילתה ל-
Events. לנכסים, בוחרים באפשרותAssets, ולתהליכים, בוחרים באפשרותFlows.
אחרי שבוחרים את כל השדות שרוצים, לוחצים על יצירה.
בכלים למפתחים, תופיע הבקשה
runningQuery. כדי לקבל פרטים על הבקשה, עוברים לקטע Request. שם תופיע רשימה של כל שמות ה-API של השדות שסיפקתם.
בעיות מוכרות
- ב-API של McAfee ESM, שמשמש את הפעולה לשליחת שאילתה (
qryExecuteDetail), יש התנהגויות לא צפויות בתרחישים שבהם משתמשים במפתח מסוג לא נתמך (מפתחות FLOAT) עם האופרטוריםGREATER_OR_EQUALS_THANאוLESS_OR_EQUALS_THAN. מאמתים את סוגי השדות שבהם משתמשים. - שמנו לב שחלק משילובי המקשים לא מחזירים תוצאות, למרות שהמסנן לא החזיר שגיאת API של McAfee.
היקף ההרשאות של הישות לפעולה
הפעולה הזו פועלת בכל הישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"Rule.msg": "McAfee EDB database server state change alert",
"Alert.AvgSeverity": "25",
"Alert.SrcIP": "::",
"Alert.EventCount": "1",
"Alert.LastTime": "02/12/2019 20:45:45",
"Alert.Protocol": "n/a",
"Action.Name": "informational",
"Alert.IPSIDAlertID": "144115188075855872|1",
"Alert.DstIP": "10.0.0.10"
}
]
קיר של נרתיק הטעינה
אם חלף הזמן הקצוב לפעולה: "שגיאה בהפעלת הפעולה 'שליחת שאילתה ל-ESM'. הסיבה: הפעולה התחילה את השאילתה אבל חלף הזמן הקצוב לתפוגה במהלך אחזור הנתונים. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE ולנסות שוב."
| סוג התוצאות | ערך/תיאור | טקסט |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם קוד הסטטוס הוא 200 (is_success=true): "הנתונים של השאילתה שצוינה אוחזרו בהצלחה ב-McAfee ESM". אם אין נתונים לישות אחת (is_success=true): "לא נמצאו נתונים לשאילתה שצוינה ב-McAfee ESM". הודעה אסינכרונית: "ממתין לסיום השאילתה…" הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם מדווחת שגיאה קריטית: "Error executing action "Send Query to ESM". הסיבה: {0}".format(error.Stacktrace) אם מדווח קוד הסטטוס 400 או 500:"שגיאה בביצוע הפעולה 'שליחת שאילתה ל-ESM'. הסיבה: {0}".format(response) |
כללי |
| שולחן קיר עם ארונית | כל השדות מהתשובה. | כללי |
שליחת שאילתת ישות ל-ESM
תיאור הפעולה
שליחת שאילתה ל-ESM על סמך ישויות. ישויות נתמכות: כתובת IP, שם מארח.
שימוש בפעולות
אפשר להשתמש בפעולה הזו כדי לבצע פירוט נוסף של ההתראה ב-Google SecOps לגבי הישויות. אתם יכולים לאחזר מידע על אירועים, נכסים ותהליכים. בניגוד לפעולה Send Query To ESM, הפעולה הזו גם מוסיפה מסנן ישויות כחלק מהשאילתה.
פרמטרים להגדרת פעולות
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור | |
|---|---|---|---|---|---|
| מפתח ישות של כתובת IP | String | Alert.SrcIP | כן | צריך לציין את המפתח שמשויך לישות של כתובת ה-IP במהלך הסינון. אם מספקים מפתח לא חוקי, הפעולה עדיין מחזירה תוצאות, אבל הן לא צפויות. |
|
| מפתח הישות של שם המארח | String | לא רלוונטי | כן | מציינים את המפתח שמשמש עם הישות "שם מארח" במהלך הסינון. אם מספקים מפתח לא חוקי, הפעולה עדיין מחזירה תוצאות, אבל הן לא צפויות. |
|
| טווח תאריכים | רשימה נפתחת | LAST_HOUR ערכים אפשריים:
|
כן | מציינים מסגרת זמן לתוצאות. אם בוחרים באפשרות Custom, צריך לציין גם את הפרמטר שעת התחלה. |
|
| שעת ההתחלה | String | לא רלוונטי | לא | מציינים את שעת ההתחלה של התוצאות. חובה לכלול את הפרמטר הזה אם בוחרים באפשרות פורמט: ISO 8601 |
|
| שעת הסיום | String | לא רלוונטי | לא | מציינים את שעת הסיום של התוצאות. פורמט: ISO 8601. אם לא מציינים ערך ובוחרים באפשרות |
|
| שם שדה המסנן | String | לא רלוונטי | כן | מציינים את שם השדה שישמש לסינון. | |
| אופרטור המסנן | רשימה נפתחת | שווה ל: ערכים אפשריים:
| כן | מציינים את האופרטור שבו רוצים להשתמש במסנן. | |
| ערכי סינון | String | לא רלוונטי | כן | צריך לציין רשימה מופרדת בפסיקים של ערכים שישמשו במסנן. | |
| שדות לאחזור | CSV | לא רלוונטי | לא | צריך לציין רשימה מופרדת בפסיקים של שדות שרוצים שיוחזרו. אם לא תציינו שדות, הפעולה תשתמש בשדות שהוגדרו מראש. |
|
| שדה המיון | String | לא רלוונטי | לא | צריך לציין באיזה פרמטר להשתמש למיון. הפרמטר הזה מצפה לשדה בפורמט {table}.{key name}. אם הפרמטר יסופק בפורמט אחר, הפעולה תדלג עליו. דוגמה: Alert.LastTime |
|
| סדר המיון | רשימה נפתחת | ASC ערכים אפשריים:
|
לא | מציינים את סדר המיון. | |
| מספר התוצאות המקסימלי שיוחזרו | מספר שלם | 50 | כן | מציינים את מספר התוצאות שרוצים לקבל. ערך ברירת המחדל של הפרמטר: 50. ערך הפרמטר המקסימלי: 200. |
עבודה עם הפרמטר "טווח תאריכים"
הפרמטר טווח תאריכים מציין את מסגרת הזמן שבה תתבצע השאילתה. הפעולה תומכת בהרבה ערכים מוגדרים מראש שאפשר לבחור. אפשר גם להגדיר טווח תאריכים בהתאמה אישית.
כדי להגדיר טווח זמן מותאם אישית, צריך להגדיר את הפרמטר Time Range לערך Custom ולספק ערך בפורמט ISO 8601 לפרמטר Start Time. כברירת מחדל, הפרמטר End Time מצביע על השעה הנוכחית.
מציינים שדות לפרמטרים "שם שדה הסינון", "שדות לאחזור" ו"שדה מיון"
כדי לציין שדות לפרמטרים Filter Field Name, Fields To Fetch ו-Sort Field, מבצעים את השלבים הבאים:
- מתחברים לממשק המשתמש של McAfee ESM ופותחים את הכלים למפתחים בדפדפן.
- עוברים לכרטיסייה רשת.
- לוחצים על הוספת כרטיסייה ומוסיפים תצוגה חדשה.
- לוחצים על הוספת ווידג'ט.
בתיבת הדו-שיח Widget Configuration:
- בקטע שדות, בוחרים את כל השדות שרוצים.
- מזינים כותרת בהתאמה אישית ומגדירים את מקור השאילתה ל-
Events. לנכסים, בוחרים באפשרותAssets, ולתהליכים, בוחרים באפשרותFlows.
אחרי שבוחרים את כל השדות שרוצים, לוחצים על יצירה.
בכלים למפתחים, תופיע הבקשה
runningQuery. כדי לקבל פרטים על הבקשה, עוברים לקטע Request. שם תופיע רשימה של כל שמות ה-API של השדות שסיפקתם.
עבודה עם הפרמטרים "מפתח ישות של כתובת IP" ו"מפתח ישות של שם מארח"
הפרמטרים IP Address Entity Key ו-Hostname Entity Key מגדירים את המפתח שמשמש במסנן. לדוגמה, אם הפרמטר IP Address Entity Key מוגדר לערך Alert.SrcIP, הפעולה יוצרת מסנן של כתובת IP באמצעות המפתח Alert.SrcIP. בהתאם לתרחיש לדוגמה, אתם יכולים לשנות את המפתח שבו אתם משתמשים.
בעיות מוכרות
- ב-API של McAfee ESM, שמשמש את הפעולה לשליחת שאילתה (
qryExecuteDetail), יש התנהגויות לא צפויות בתרחישים שבהם משתמשים במפתח מסוג לא נתמך (מפתחות FLOAT) עם האופרטוריםGREATER_OR_EQUALS_THANאוLESS_OR_EQUALS_THAN. מאמתים את סוגי השדות שבהם משתמשים. - שמנו לב שחלק משילובי המקשים לא מחזירים תוצאות, למרות שהמסנן לא החזיר שגיאת API של McAfee.
היקף ההרשאות של הישות לפעולה
הפעולה הזו פועלת על הישויות הבאות:
- כתובת IP
- שם המארח
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"Rule.msg": "McAfee EDB database server state change alert",
"Alert.AvgSeverity": "25",
"Alert.SrcIP": "::",
"Alert.EventCount": "1",
"Alert.LastTime": "02/12/2019 20:45:45",
"Alert.Protocol": "n/a",
"Action.Name": "informational",
"Alert.IPSIDAlertID": "144115188075855872|1",
"Alert.DstIP": "10.0.0.10"
}
]
קיר נרתיקים
| סוג התוצאות | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם מדווח קוד הסטטוס 200 (is_success=true): "הנתונים אוחזרו בהצלחה עבור הישויות הבאות ב-McAfee ESM: {entity.identifier}" אם אין נתונים לכל הישויות: "לא נמצאו נתונים ב-McAfee ESM לישויות הבאות: {entity.id}". אם קוד הסטטוס 400 או 500 מדווח עבור ישות ספציפית: "השאילתות לא בוצעו ב-McAfee ESM עבור הישויות הבאות: {entity.id}. צריך לבדוק את ההגדרות". אם אין נתונים לכל הישויות (is_success=true): "לא נמצאו נתונים לישויות שסופקו ב-McAfee ESM" הודעה אסינכרונית: "ממתין לסיום העיבוד של הישות..."
הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם מדווחת שגיאה קריטית: "Error executing action "Send Entity Query To ESM". הסיבה: {0}''.format(error.Stacktrace)." אם קוד הסטטוס 400 או 500 מדווח לכל הישויות: "Error executing action "Send Entity Query To ESM". הסיבה: {response}' אם חלף הזמן הקצוב לפעולה: "Error executing action "Send Entity Query To ESM". הסיבה: הפעולה התחילה את השאילתה אבל חלף הזמן הקצוב לתפוגה במהלך אחזור הנתונים של הישויות הבאות: {entity.identifier}. צריך להגדיל את זמן הקצוב לתפוגה ב-IDE ולנסות שוב. הערה: אם תנסו שוב, הפעולה תשלח הודעה נוספת." |
כללי |
| שולחן קיר עם ארונית | כל השדות מהתשובה. | ישות |
מחברים
שדרוג מחברים – גרסת שילוב: 34.0
המחברים שופרו בגרסת השילוב 34.0. הם עברו אופטימיזציה כדי שיהיו פחות מועדים לבאגים ויהיה קל יותר לתחזק אותם. הוספנו גם תכונות חדשות.
אם אתם רוצים לשדרג את המחבר לגרסה 34.0, מומלץ קודם להכיר את הפרמטרים של הגדרת המחבר. השדרוג של המחבר לא משפיע על הפלייבוקים.
McAfeeESM Connector
תיאור המחבר
שליפת מידע על התראות מ-McAfee ESM.
שימוש במחבר
אתם יכולים להשתמש במחבר כדי להטמיע קורלציות ואירועים קשורים ב-Google SecOps. במחבר הזה, כל התראה ב-Google SecOps מיוצגת על ידי אירוע קורלציה אחד.
אירועי Google SecOps נוצרים על סמך נתונים מהאובייקטים הבאים:
- נתוני התראות
- נתוני אירועי קורלציה: קורלציה היא אירוע טריגר שנוצר מכללי קורלציה
- נתוני אירוע המקור: אירועי בסיס שגרמו לקורלציה או להתראה
דוגמה לאירוע ב-Google SecOps שמבוסס על נתוני התראות:

דוגמה לאירוע ב-Google SecOps שמבוסס על נתוני אירועים ממקור או על נתוני קורלציה:

כל אירוע ב-Google SecOps מכיל מידע גולמי מה-API, וגם מפתחות נוספים שנוספו כדי להקל על המיפוי. כדי להבחין בין הסוגים השונים של אירועי Google SecOps, יש מפתח data_type בהתאמה אישית.
המפתח הזה יכול להכיל את הערכים הבאים:
- התראה
- אירוע קורלציה
- אירוע המקור
שדות מסוג מותאם אישית באירועים ב-Google SecOps
אירועי מקור/מתאם של McAfee ESM יכולים לכלול שדות בהתאמה אישית, שייצוג ה-API הגולמי שלהם לא מתאים למטרות מיפוי.
דוגמה לנתונים גולמיים של סוג מותאם אישית:
"customTypes": [
{
"fieldId": 1,
"fieldName": "AppID",
"definedFieldNumber": 1,
"unformattedValue": "374385694492",
"formatedValue": "WIN"
},
{
"fieldId": 7,
"fieldName": "UserIDSrc",
"definedFieldNumber": 7,
"unformattedValue": "22018731010750406",
"formatedValue": "NGCP"
},
{
"fieldId": 4259842,
"fieldName": "Message_Text",
"definedFieldNumber": 9,
"unformattedValue": "11049395522927265911",
"formatedValue": "User Log In succeeded"
}
]
באירוע ב-Google SecOps, אותם שדות מיוצגים באופן הבא:
{
"{fieldName}": "{formatedValue}",
"AppID": "WIN",
"UserIDSrc": "NGCP",
"Message_Text": "formatedValue",
"customTypeFields": {
"{fieldName}": "{formatedValue}",
"AppID": "WIN",
"UserIDSrc": "NGCP",
"Message_Text": "formatedValue"
}
}
מומלץ להשתמש בפלייסהולדרים עם המפתח customTypeFields כי ערכי הפלייסהולדרים מייצגים בצורה נכונה את השדה בהתאמה אישית. השדות בהתאמה אישית שמוצגים ברמה שמעל עשויים להכיל מידע מטעה. אם מפתח עם אותו שם היה קיים לפני שהוספתם את השדה המותאם אישית, המערכת תשתמש בנתונים מהמפתח המקורי כי אי אפשר להשתמש במפתחות כפולים בקובץ ה-JSON.
הגדרת המחבר ב-Google SecOps
הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר הגדרת המחבר.
פרמטרים להגדרת המחבר
כדי להגדיר את המחבר, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם שדה המוצר | String | data_type | כן | שם השדה שמשמש לזיהוי המוצר של המכשיר. |
| שם השדה של האירוע | String | alarmName | כן | שם השדה שמשמש לקביעת שם האירוע (סוג משנה). |
| הרמה הבסיסית (root) של ה-API | String | https://{ipaddress}/rs/ | כן | שורש ה-API של המכונה של McAfee ESM. פורמט: https://{כתובת IP}/rs/ |
| סיסמה | סוד | לא רלוונטי | כן | הסיסמה של חשבון McAfee ESM. |
| PythonProccessTimeout | מספר שלם | 300 | כן | מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי. |
| גרסת המוצר | String | לא רלוונטי | כן | גרסת Mcafee ESM. ערכים אפשריים: 11.1, 11.2, 11.3, 11.4, 11.5. |
| שם משתמש | String | לא רלוונטי | כן | שם המשתמש של חשבון McAfee ESM. |
| השבתת התפריט הנפתח | תיבת סימון | התיבה לא מסומנת | לא | אם ההגדרה הזו מופעלת, המחבר ישבית את מנגנון הגלישה. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים "השבתת גלישה" ו"השבתת גלישה להתראות". |
| השבתת התפריט הנפתח של ההתראות | CSV | לא רלוונטי | לא | רשימה מופרדת בפסיקים של שמות התראות שהמחבר יתעלם מהגלישה שלהן. כדי להשתמש בפרמטר הזה, צריך להפעיל את הפרמטר Disable Overflow. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים "השבתת גלישה" ו"השבתת גלישה להתראות". |
| שם השדה של הסביבה | String | srcZone | לא | מתאר את שם השדה שבו מאוחסן שם הסביבה. אם שדה הסביבה לא נמצא, הסביבה היא סביבת ברירת המחדל. |
| תבנית ביטוי רגולרי של סביבה | String | :* | לא | תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה "שם השדה של הסביבה". ברירת המחדל היא .* כדי לכלול את הכול ולהחזיר את הערך ללא שינוי. משמש כדי לאפשר למשתמש לשנות את שדה הסביבה באמצעות לוגיקה של ביטויים רגולריים. אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, תוצאת הסביבה הסופית היא סביבת ברירת המחדל. |
| הטמעת 0 התראות על אירועים במקור | תיבת סימון | סימן אישור | לא | אם האפשרות מופעלת, המחבר מטמיע התראות עם 0 אירועי מקור. המחבר ימתין את משך הזמן שצוין בפרמטר Padding Time. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטר Ingest 0 Source Event Alarms. |
| רמת החומרה הנמוכה ביותר לאחזור | מספר שלם | 0 | לא | רמת החומרה הנמוכה ביותר שצריך להשתמש בה כדי לאחזר התראות. הערכים האפשריים הם בטווח שבין 0 ל-100. אם לא מציינים כלום, המחבר מטמיע התראות בכל סוגי החומרה. |
| מספר ההתראות המקסימלי לאחזור | מספר שלם | 100 | לא | מספר ההתראות לעיבוד בכל איטרציה של מחבר. ערך ברירת המחדל של הפרמטר : 20. |
| מספר השעות המקסימלי אחורה | מספר שלם | 1 | לא | מספר השעות שמהן צריך לאחזר התראות. |
| זמן מרווח | מספר שלם | 1 | לא | מספר השעות שהמחבר משתמש בהן לריפוד. הפרמטר הזה מתאר כמה זמן המחבר ממתין כדי להטמיע את ההתראה עם 0 אירועי מקור, אם הפרמטר הטמעת התראות עם 0 אירועי מקור מושבת. ערך הפרמטר המקסימלי: 6 שעות. |
| סיסמת שרת ה-Proxy | סיסמה | לא רלוונטי | לא | הסיסמה לאימות מול שרת ה-proxy. |
| כתובת שרת ה-Proxy | String | לא רלוונטי | לא | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. |
| שם המשתמש בשרת ה-proxy | String | לא רלוונטי | לא | שם המשתמש של שרת ה-proxy לאימות. |
| שם השדה של מחולל הכללים | String | alarmName | לא | שם השדה שמשמש בכלי ליצירת כללים. המחבר משתמש ב- |
| שדה המוצר של המכשיר המשני | String | לא רלוונטי | לא | שם השדה של המוצר החלופי. |
| פורמט השעה | String | %m/%d/%Y %H:%M:%S | לא | פורמט הזמן שמשמש לקריאת חותמת הזמן שסופקה ב-McAfee ESM. אם לא תציינו פורמט או תציינו פורמט לא תקין, המחבר לא יבצע את הטרנספורמציה. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים של אזור הזמן ופורמט הזמן. |
| אזור זמן | String | לא רלוונטי | לא | אזור הזמן של אירוע המקור. הפרמטר הזה נדרש כדי להמיר את חותמת הזמן לפורמט שמשקף את השעה לפי UTC+0. המערכת מתעלמת מהפרמטר הזה אם הפרמטר פורמט השעה מכיל ערכים לא חוקיים או לא מכיל ערכים בכלל. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים של אזור הזמן ופורמט הזמן. |
| שימוש ברשימה דינמית כרשימת חסימה | תיבת סימון | התיבה לא מסומנת | לא | אם המדיניות מופעלת, הרשימה הדינמית משמשת כרשימת חסימה. |
| אימות SSL | תיבת סימון | התיבה לא מסומנת | לא | אם ההגדרה מופעלת, המערכת מאמתת שאישור ה-SSL לחיבור לשרת McAfee ESM תקף. |
שימוש בפרמטר Ingest 0 Source Event Alarms
ב-McAfee ESM, יכולות להיות התאמות עם 0 אירועים, כלומר ההתראה של Google SecOps מכילה רק אירוע אחד של Google SecOps שמבוסס על פרטי ההתאמה. לא מומלץ להטמיע קורלציות עם 0 אירועי מקור, כי ההקשר יאבד.
אם הפרמטר Ingest 0 Source Event Alarms מופעל, המחבר מטמיע את כל ההתאמות במערכת Google SecOps, גם אם אין אירועים קשורים. אם הפרמטר הזה מושבת, המחבר ממתין עד שמופיע לפחות אירוע מקור אחד ב-McAfee ESM. זמן ההמתנה מוגדר בפרמטר Padding Period.
הפרמטר Padding Period מציין את מספר השעות אחורה (הערך המקסימלי הוא 6) שבהן המחבר מאחזר נתונים בכל איטרציה. לדוגמה, אם הפרמטר Padding Period מוגדר לערך 2, המחבר תמיד מאחזר נתונים שעתיים אחורה ומתחיל לטפל בנתונים מאותה נקודת זמן. מבחינה לוגית, זמן ההמתנה מייצג את מספר השעות שהמחבר ממתין להתרחשות האירוע כדי שיוכל להטמיע אותו.
יש חריגה לשני סוגי התראות:
- תקינות המכשיר
- חרגת מהמגבלה של מספר האירועים לשנייה (EPS)
ההתראות האלה מגיעות מההגדרה שמוגדרת כברירת מחדל ב-McAfee ESM, ולעולם לא יהיו אירועים שקשורים אליהן. המחבר תמיד מטמיע אותן, בלי קשר להגדרה של פרמטר ההגדרה הטמעת 0 התראות של אירועי מקור.
עבודה עם הפרמטרים "אזור זמן" ו"פורמט השעה"
לפעמים אפשר להגדיר את השעה ואת אזורי הזמן ברמת השרת של McAfee ESM בפורמטים שונים. זה יכול ליצור כמה אתגרים, כי למשל, ה-API של McAfee ESM לא מחזיר מידע על אזור הזמן. כברירת מחדל, המחבר מתייחס לחותמת הזמן שמגיעה מה-API כ-UTC. זה יכול לשבש את השעה בהתראות ובאירועים ב-Google SecOps, כי המערכת מחילה את הגדרות הלוקליזציה.
לדוגמה, ה-API הגולמי החזיר חותמת זמן ב-UTC+8. המחבר הטמיע את ההתראה, ואז גם הלוקליזציה הוגדרה ל-UTC+8. במצב כזה, חותמת הזמן של ההתראה ב-Google SecOps היא מהעתיד.
כדי להתגבר על האתגר הזה, משתמשים בפרמטר אזור זמן. הפרמטר הזה מגדיר את הדרישות לקבלת חותמת הזמן בפורמט UTC. אם McAfee ESM מחזיר חותמת זמן בפורמט UTC+8, צריך להגדיר את הפרמטר Time Zone של המחבר לערך -8.
באירועים של Google SecOps נוספו 3 מפתחות חדשים:
- המפתחות
utc_firstTimeו-utc_lastTimeלאירוע על סמך נתוני האירוע של הקורלציה או המקור. - המפתח
utc_triggeredDateשל האירוע, על סמך נתוני ההתראה.

איך משתמשים בפרמטרים "השבתת חריגה" ו"השבתת חריגה לשמות של התראות"
לפעמים McAfee ESM יכול להיות רועש מאוד וליצור הרבה אירועי קורלציה. ב-Google SecOps יש מנגנון הצפה שמונע יצירה של יותר מדי התראות בפרק זמן קצר.
המנגנון הזה עלול להזיק אם אתם חושבים שכל ההתראות חשובות וצריך לטפל בהן. אנחנו לא ממליצים להשבית את מנגנון ההעברה. עם זאת, אם צריך, אפשר להשתמש בפרמטרים Disable Overflow ו-Disable Overflow For Alarm Names למטרה הזו.
הפתרון המועדף הוא להשתמש בפרמטר Disable Overflow For Alarm Names, כי הוא מאפשר לציין שמות ספציפיים של התראות שצריכות להתעלם מכללי ההצפה, במקום להשבית את ההצפה לכל ההתראות.
McAfeeESM Correlations Connector
תיאור המחבר
שליפת מידע על קורלציות מ-McAfee ESM.
שימוש במחבר
אתם יכולים להשתמש במחבר כדי להטמיע קורלציות ואירועים קשורים ב-Google SecOps. במחבר הזה, כל התראה ב-Google SecOps מיוצגת על ידי אירוע קורלציה אחד.
אירועי Google SecOps נוצרים על סמך נתונים מהאובייקטים הבאים:
- נתוני אירועי קורלציה: קורלציה היא אירוע טריגר שנוצר מכללי קורלציה
- נתוני אירוע המקור: אירועים בסיסיים שגרמו לקורלציה
דוגמה לאירוע ב-Google SecOps שמבוסס על נתוני אירועים ממקור או על נתוני קורלציה:

כל אירוע ב-Google SecOps מכיל מידע גולמי מה-API, וגם מפתחות נוספים שנוספו כדי להקל על המיפוי. כדי להבחין בין הסוגים השונים של אירועי Google SecOps, יש מפתח data_type בהתאמה אישית.
המפתח הזה יכול להכיל את הערכים הבאים:
- אירוע קורלציה
- אירוע המקור
שדות מסוג מותאם אישית באירועים ב-Google SecOps
אירועי מקור/מתאם של McAfee ESM יכולים לכלול שדות בהתאמה אישית, שייצוג ה-API הגולמי שלהם לא מתאים למטרות מיפוי.
דוגמה לנתונים גולמיים של סוג מותאם אישית:
"customTypes": [
{
"fieldId": 1,
"fieldName": "AppID",
"definedFieldNumber": 1,
"unformattedValue": "374385694492",
"formatedValue": "WIN"
},
{
"fieldId": 7,
"fieldName": "UserIDSrc",
"definedFieldNumber": 7,
"unformattedValue": "22018731010750406",
"formatedValue": "NGCP"
},
{
"fieldId": 4259842,
"fieldName": "Message_Text",
"definedFieldNumber": 9,
"unformattedValue": "11049395522927265911",
"formatedValue": "User Log In succeeded"
}
]
באירוע ב-Google SecOps, אותם שדות מיוצגים באופן הבא:
{
"{fieldName}": "{formatedValue}",
"AppID": "WIN",
"UserIDSrc": "NGCP",
"Message_Text": "formatedValue",
"customTypeFields": {
"{fieldName}": "{formatedValue}",
"AppID": "WIN",
"UserIDSrc": "NGCP",
"Message_Text": "formatedValue"
}
}
מומלץ להשתמש בפלייסהולדרים עם המפתח customTypeFields כי ערכי הפלייסהולדרים מייצגים בצורה נכונה את השדה בהתאמה אישית. השדות בהתאמה אישית שמוצגים ברמה שמעל עשויים להכיל מידע מטעה. אם מפתח עם אותו שם היה קיים לפני שהוספתם את השדה המותאם אישית, המערכת תשתמש בנתונים מהמפתח המקורי כי אי אפשר להשתמש במפתחות כפולים בקובץ ה-JSON.
הגדרת המחבר ב-Google SecOps
הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר הגדרת המחבר.
פרמטרים של מחברים
כדי להגדיר את המחבר, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם שדה המוצר | String | data_type | כן | מזינים את שם השדה של המקור כדי לאחזר את שם השדה של המוצר. |
| שם השדה של האירוע | String | sigId | כן | מזינים את שם שדה המקור כדי לאחזר את שם שדה האירוע. |
| שם השדה של הסביבה | String | srcZone | לא | מתאר את שם השדה שבו מאוחסן שם הסביבה. אם שדה הסביבה לא נמצא, הסביבה היא סביבת ברירת המחדל. |
| תבנית ביטוי רגולרי של סביבה | String | :* | לא | תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה "שם השדה של הסביבה". ברירת המחדל היא .* כדי לכלול את הכול ולהחזיר את הערך ללא שינוי. משמש כדי לאפשר למשתמש לשנות את שדה הסביבה באמצעות לוגיקה של ביטויים רגולריים. אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, תוצאת הסביבה הסופית היא סביבת ברירת המחדל. |
| PythonProcessTimeout | String | 300 | כן | מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי. |
| הרמה הבסיסית (root) של ה-API | String | https://{ipaddress}/rs/ | כן | שורש ה-API של המכונה של McAfee ESM. פורמט: https://{כתובת IP}/rs/ |
| שם משתמש | String | לא רלוונטי | לא | שם המשתמש של חשבון McAfee ESM. |
| סיסמה | סוד | לא רלוונטי | לא | הסיסמה של חשבון McAfee ESM. |
| גרסת המוצר | String | לא רלוונטי | כן | גרסת McAfee ESM. ערכים אפשריים: 11.1, 11.2, 11.3, 11.4, 11.5. |
| רמת החומרה הממוצעת הנמוכה ביותר לאחזור | מספר שלם | 0 | לא | רמת החומרה הממוצעת הנמוכה ביותר שצריך להשתמש בה כדי לאחזר קורלציות. הערכים האפשריים הם בטווח שבין 0 ל-100. אם לא מציינים כלום, המחבר מטמיע קורלציות עם כל סוגי החומרה. |
| הטמעת 0 קורלציות של אירועי מקור | תיבת סימון | התיבה לא מסומנת | לא | אם ההגדרה מופעלת, המחבר מטמיע קורלציות עם 0 אירועי מקור. הפרמטר הזה יכול להשפיע על הערכים שמגיעים מהפרמטרים שם השדה של המוצר, שם השדה של האירוע ושם השדה של מחולל הכללים. אם היא מושבתת, המחבר ממתין למשך הזמן שצוין בפרמטר זמן ריפוד. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטר "התאמות של אירועים ממקור Ingest 0". |
| זמן מרווח | מספר שלם | 1 | לא | מספר השעות שהמחבר משתמש בהן לריפוד. הפרמטר הזה מתאר כמה זמן המחבר ימתין כדי להטמיע את הקורלציה עם 0 אירועי מקור, אם הפרמטר "הטמעת קורלציות של 0 אירועי מקור" מושבת. ערך הפרמטר המקסימלי: 6 שעות. |
| מספר השעות המקסימלי אחורה | מספר שלם | 1 | לא | מספר השעות שמהן צריך לאחזר התראות. |
| מספר מקסימלי של קורלציות לאחזור | מספר שלם | 20 | לא | מספר ההתראות לעיבוד בכל איטרציה של מחבר. ערך ברירת המחדל של הפרמטר: 20. |
| מסנן IPSID | לא רלוונטי | לא | רשימה מופרדת בפסיקים של מזהי IPSID שמשמשים לאחזור נתונים. אם לא מציינים ערך, המחבר משתמש ב-IPSID שמוגדר כברירת מחדל. |
|
| מסנן SIGID | CSV | לא רלוונטי | לא | רשימה מופרדת בפסיקים של מזהי חתימות שמשמשים במהלך ההטמעה. אם לא מציינים כלום, המחבר מטמיע קורלציות מכל הכללים. |
| שימוש ברשימה דינמית כרשימת חסימה | תיבת סימון | התיבה לא מסומנת | לא | אם המדיניות מופעלת, הרשימה הדינמית משמשת כרשימת חסימה. |
| פורמט השעה | String | %m/%d/%Y %H:%M:%S | לא | פורמט הזמן שמשמש לקריאת חותמת הזמן שסופקה ב-McAfee ESM. אם לא תציינו פורמט או תציינו פורמט לא תקין, המחבר לא יבצע את הטרנספורמציה. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים של אזור הזמן ופורמט הזמן. |
| אזור זמן | String | לא רלוונטי | לא | אזור הזמן של אירוע המקור. הפרמטר הזה נדרש כדי להמיר את חותמת הזמן לפורמט שמשקף את השעה לפי UTC+0. המערכת מתעלמת מהפרמטר הזה אם הפרמטר פורמט השעה מכיל ערכים לא חוקיים או לא מכיל ערכים בכלל. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים של אזור הזמן ופורמט השעה. |
| שם השדה של מחולל הכללים | String | אפליקציה | לא | שם השדה שמשמש בכלי ליצירת כללים. אם צוין ערך לא חוקי, הפעולה משתמשת ב- |
| שדה המוצר של המכשיר המשני | String | לא רלוונטי | לא | שם השדה של המוצר החלופי. |
| השבתת התפריט הנפתח | תיבת סימון | התיבה לא מסומנת | לא | אם מפעילים את המחבר, הוא משבית את מנגנון ההצפה. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים Disable Overflow ו-Disable Overflow For SigIDs. |
| השבתת גלישה של מזהי חתימות | CSV | לא רלוונטי | לא | רשימה מופרדת בפסיקים של מזהי חתימות שהמחבר מתעלם מהחריגה שלהם. כדי להשתמש בפרמטר הזה, צריך להפעיל את הפרמטר Disable Overflow. מידע נוסף על הפרמטר הזה זמין במאמר עבודה עם הפרמטרים Disable Overflow ו-Disable Overflow For SigIDs. |
| אימות SSL | תיבת סימון | התיבה לא מסומנת | כן | אם ההגדרה מופעלת, המערכת מאמתת שאישור ה-SSL לחיבור לשרת McAfee ESM תקף. |
| כתובת שרת ה-Proxy | String | לא רלוונטי | לא | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. |
| שם המשתמש בשרת ה-proxy | String | לא רלוונטי | לא | שם המשתמש של שרת ה-proxy לאימות. |
| סיסמת שרת ה-Proxy | סיסמה | לא רלוונטי | לא | הסיסמה לאימות מול שרת ה-proxy. |
עבודה עם הפרמטר "הטמעת 0 מתאמים של אירועי מקור"
ב-McAfee ESM, יכולות להיות התאמות עם 0 אירועים, כלומר ההתראה של Google SecOps מכילה רק אירוע אחד של Google SecOps שמבוסס על פרטי ההתאמה. לא מומלץ להטמיע קורלציות עם 0 אירועי מקור, כי ההקשר יאבד.
אם הפרמטר Ingest 0 Source Event Correlations מופעל, המחבר מטמיע את כל הקורלציות במערכת Google SecOps, גם אם אין אירועים קשורים. אם הפרמטר הזה מושבת, המחבר ממתין עד שמופיע לפחות אירוע מקור אחד ב-McAfee ESM. זמן ההמתנה מוגדר באמצעות הפרמטר Padding Period.
הפרמטר Padding Period מציין את מספר השעות אחורה (הערך המקסימלי הוא 6) שהמחבר מאחזר נתונים בכל איטרציה. לדוגמה, אם הפרמטר Padding Period מוגדר לערך 2, המחבר תמיד מאחזר נתונים שעתיים אחורה ומתחיל לטפל בנתונים מאותה נקודת זמן. מבחינה לוגית, זמן המילוי מייצג את מספר השעות שהמחבר ממתין להתרחשות האירוע כדי שיוכל להטמיע אותו.
עבודה עם הפרמטרים "אזור זמן" ו"פורמט השעה"
לפעמים אפשר להגדיר את השעה ואת אזורי הזמן ברמת השרת של McAfee ESM בפורמטים שונים. זה יכול ליצור כמה אתגרים, כי למשל, ה-API של McAfee ESM לא מחזיר מידע על אזור הזמן. כברירת מחדל, המחבר מתייחס לחותמת הזמן שמגיעה מה-API כ-UTC. זה יכול לשבש את השעה בהתראות ובאירועים ב-Google SecOps, כי המערכת מחילה את הגדרות הלוקליזציה.
לדוגמה, ה-API הגולמי החזיר חותמת זמן ב-UTC+8. המחבר הטמיע את ההתראה, ואז גם הלוקליזציה הוגדרה ל-UTC+8. במצב כזה, חותמת הזמן של ההתראה ב-Google SecOps היא מהעתיד.
כדי להתגבר על האתגר הזה, משתמשים בפרמטר אזור זמן. הפרמטר הזה מגדיר את הדרישות לקבלת חותמת הזמן בפורמט UTC. אם McAfee ESM מחזיר חותמת זמן בפורמט UTC+8, צריך להגדיר את הפרמטר Time Zone של המחבר לערך -8.
באירועים של Google SecOps, נוספו 2 מפתחות חדשים: המפתחות utc_firstTime ו-tc_lastTime לאירוע, על סמך נתוני האירוע של המתאם או המקור.
איך משתמשים בפרמטרים Disable Overflow ו-Disable Overflow For SigIDs
לפעמים McAfee ESM יכול להיות רועש מאוד וליצור הרבה אירועי קורלציה. ב-Google SecOps יש מנגנון הצפה שמונע יצירה של יותר מדי התראות בפרק זמן קצר.
המנגנון הזה עלול להזיק אם אתם חושבים שכל ההתראות חשובות וצריך לטפל בהן. אנחנו לא ממליצים להשבית את מנגנון ההעברה. עם זאת, אם צריך, אפשר להשתמש בפרמטרים Disable Overflow ו-Disable Overflow For SigIDs למטרה הזו.
הפתרון המועדף הוא להשתמש בפרמטר Disable Overflow For SigIDs, כי הוא מאפשר לספק מזהי חתימות ספציפיים שצריכים להתעלם מכללי הגלישה, במקום להשבית את הגלישה לכל המתאמים.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.