שילוב של Armis עם Google SecOps
במאמר הזה מוסבר איך לשלב את Armis עם Google Security Operations.
תרחישים לדוגמה
- ביצוע פעולות להעשרת הנתונים.
- ביצוע הטמעה של ההתראות.
- ביצוע פעולת תעדוף (עדכון סטטוס ההתראה).
פרמטרים של שילוב
משתמשים בפרמטרים הבאים כדי להגדיר את השילוב:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| ספריית הבסיס של ה-API | String | כן | Armis API root | |
| API Secret | סיסמה | לא רלוונטי | כן | Armis API secret |
| אימות SSL | תיבת סימון | סימן אישור | כן | אם ההגדרה מופעלת, המערכת בודקת שאישור ה-SSL של החיבור לשרת Armis תקף. |
הוראות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.
במקרה הצורך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של שילוב, אפשר להשתמש בו ב-playbooks. מידע נוסף על הגדרה ותמיכה במספר מופעים זמין במאמר תמיכה במספר מופעים.
פעולות
מידע נוסף על פעולות זמין במאמרים איך מגיבים לפעולות שממתינות לאישור ב-Your Workdesk ואיך מבצעים פעולה ידנית.
פינג
בודקים את הקישוריות ל-Armis.
פרמטרים
לא רלוונטי
הפעלה ב-
הפעולה לא משתמשת בישויות ואין לה פרמטרים של קלט חובה.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
Case wall
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: אם הפעולה הצליחה: "Successfully connected to the Armis server with the provided connection parameters!" (החיבור לשרת Armis בוצע בהצלחה עם פרמטרי החיבור שסופקו). הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה: אם התגובה נכשלה: "החיבור לשרת Armis נכשל! השגיאה היא {0}".format(exception.stacktrace) |
כללי |
העשרת ישויות
העשרת ישויות באמצעות מידע מ-Armis. ישויות נתמכות: IP, כתובת Mac.
פרמטרים
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| יצירת תובנה לגבי נקודת קצה | תיבת סימון | סימן אישור | כן | אם הפעולה מופעלת, היא יוצרת תובנה שמכילה מידע על נקודות הקצה. |
הפעלה ב-
הפעולה הזו מופעלת בישויות הבאות:
- כתובת IP
- כתובת MAC
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"accessSwitch": null,
"category": "Computers",
"dataSources": [
{
"firstSeen": "2021-03-07T04:04:22.562873+00:00",
"lastSeen": "2021-03-07T04:04:22.562873+00:00",
"name": "Example",
"types": [
"Asset & System Management",
"Virtualization"
]
},
{
"firstSeen": "2021-03-07T04:04:22.562873+00:00",
"lastSeen": "2021-03-07T04:04:22.562873+00:00",
"name": "Armis Smart Scanner",
"types": [
"Vulnerability Management"
]
}
],
"firstSeen": "2021-03-07T04:04:22.562873+00:00",
"id": 1616,
"ipAddress": "192.0.2.120",
"ipv6": null,
"lastSeen": "2021-03-21T08:05:40.244960+00:00",
"macAddress": "01:23:45:ab:cd:ef",
"manufacturer": "VMware",
"model": "VMware Virtual Platform",
"name": "Example",
"operatingSystem": "CentOS",
"operatingSystemVersion": "6.6",
"purdueLevel": 4.0,
"riskLevel": 5,
"sensor": {
"name": "North conference room",
"type": "Physical Sensor"
},
"site": {
"location": "Palo Alto",
"name": "Palo Alto Offices"
},
"tags": [
"Discover",
"Example"
],
"type": "Virtual Machines",
"user": "",
"visibility": "Full"
}
העשרה של ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| קטגוריה | כשהנתונים זמינים בפורמט JSON |
| id | כשהנתונים זמינים בפורמט JSON |
| ipAddress | כשהנתונים זמינים בפורמט JSON |
| macAddress | כשהנתונים זמינים בפורמט JSON |
| name | כשהנתונים זמינים בפורמט JSON |
| os | כשהנתונים זמינים בפורמט JSON |
| purdue_level | כשהנתונים זמינים בפורמט JSON |
| risk_level | כשהנתונים זמינים בפורמט JSON |
| תגים | כשהנתונים זמינים בפורמט JSON |
| סוג | כשהנתונים זמינים בפורמט JSON |
| משתמש | כשהנתונים זמינים בפורמט JSON |
| visibility | כשהנתונים זמינים בפורמט JSON |
| אתר | כשהנתונים זמינים בפורמט JSON |
| קישור | כשהנתונים זמינים בפורמט JSON |
Case wall
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: if enriched some(is_success = true): "Successfully enriched the following entities using Armis:\n".format(entity.identifier) אם לא בוצע обогащение של חלק מהישות (is_success = true): "לא הייתה אפשרות לבצע обогащение של הישויות הבאות באמצעות Armis:\n".format(entity.identifier) אם לא בוצע обогащение לכל הישויות (is_success = false): "לא בוצע обогащение לאף ישות". הפעולה אמורה להיכשל ולהפסיק את ההרצה של ה-Playbook: |
כללי |
| טבלת ישויות | ישות |
הצגת רשימה של חיבורי התראות
רשימת החיבורים שקשורים להתראה ב-Armis.
פרמטרים
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהה התראה | מספר שלם | כן | מציינים את המזהה של ההתראה שעבורה רוצים לשלוף נתוני חיבורים. | |
| רמת החומרה הנמוכה ביותר לאחזור | DDL | בינוני ערכים אפשריים:
|
לא | מציינים את רמת החומרה הנמוכה ביותר של החיבורים שבהם צריך להשתמש כשמאחזרים אותם. |
| מספר החיבורים המקסימלי להחזרה | מספר שלם | 50 | לא | מציינים כמה חיבורים להחזיר. |
הפעלה ב-
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"band": null,
"channel": null,
"dhcpAuthenticationDuration": null,
"duration": 12339,
"endTimestamp": "2021-03-18T20:19:31.562873+00:00",
"id": 33355,
"inboundTraffic": 12412512,
"outboundTraffic": 19626489,
"protocol": "Bluetooth",
"radiusAuthenticationDuration": null,
"risk": "Medium",
"rssi": null,
"sensor": {
"name": "EXAMPLE",
"type": "Switch"
},
"site": {
"location": "Location",
"name": "Location HQ"
},
"snr": null,
"sourceId": 2097,
"startTimestamp": "2021-03-18T16:53:52.562873+00:00",
"targetId": 217,
"title": "Connection between Example and user's iPhone",
"totalAssociationDuration": null,
"traffic": 32039001,
"wlanAssociationDuration": null
}
Case wall
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: אם הערך הוא 200 והנתונים זמינים (is_success = true): "הוחזרו בהצלחה חיבורים שקשורים להתראה {alertId} על סמך הקריטריונים שסופקו ב-Armis". אם מופיע קוד 200 ואין נתונים זמינים (is_success=false): "No connections were found related to the alert {alertId} based on the provided criteria in Armis." הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה: אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בהפעלת הפעולה 'רשימת חיבורים להתראות'". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
| Case Wall Table | שם: תקשורת זמינה עמודות:
|
כללי |
עדכון סטטוס ההתראה
עדכון הסטטוס של ההתראה ב-Armis.
פרמטרים
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהה התראה | מספר שלם | כן | מציינים את מזהה ההתראה שרוצים לעדכן את הסטטוס שלה. | |
| סטטוס | DDL | לא נפתרה ערכים אפשריים:
|
לא | מציינים את הסטטוס שיוגדר להתראה. |
הפעלה ב-
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם התוצאה של הסקריפט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
Case wall
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או לעצור את ההרצה של חוברת ההדרכה: if 200 (is_success = true): "Successfully updated status of the alert "{alert id}" to "{status}" in Armis.". אם הערך הוא 400 (is_success=true): "ההתראה {alert id} כבר בסטטוס {status} ב-Armis. " הפעולה צריכה להיכשל ולהפסיק את ההרצה של מדריך ההפעלה: אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים, אין חיבור לשרת, או שגיאה אחרת: "Error executing action "Update Alert Status". Reason: {0}''.format(error.Stacktrace) אם השגיאה היא 404: "Error executing action "Update Alert Status". הסיבה: ההתראה {alert id} לא נמצאה ב-Armis.' |
כללי |
מחבר
מידע נוסף על הגדרת מחברים ב-Google SecOps זמין במאמר הוספת נתונים (מחברים).
Armis - Alerts Connector
שליפת התראות עם פעילויות קשורות מ-Armis.
פרמטרים של מחברים
משתמשים בפרמטרים הבאים כדי להגדיר את המחבר:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם שדה המוצר | String | alert_type | כן | שם השדה שבו מאוחסן שם המוצר. ערך ברירת המחדל הוא שם המוצר משפיע בעיקר על המיפוי. כדי לייעל ולשפר את תהליך המיפוי של המחבר, ערך ברירת המחדל |
| שם השדה של האירוע | String | סוג | כן | השם של השדה שקובע את שם האירוע (סוג משנה). |
| שם השדה בסביבה | String | "" | לא | שם השדה שבו מאוחסן שם הסביבה. אם השדה environment חסר, המחבר משתמש בערך ברירת המחדל. |
Environment Regex Pattern |
String | .* | לא |
תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה משתמשים בערך ברירת המחדל אם תבנית הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא סביבת ברירת המחדל. |
| זמן קצוב לסקריפט (בשניות) | מספר שלם | 180 | כן | מגבלת הזמן הקצוב לתהליך Python שמריץ את הסקריפט הנוכחי, בשניות. |
| ספריית הבסיס של ה-API | String | https:// | כן | שורש ה-API של מופע Armis. |
| API Secret | סיסמה | לא רלוונטי | כן | API Secret של חשבון Armis. |
| רמת החומרה הנמוכה ביותר לאחזור | נמוכה | נמוכה | לא | רמת החומרה הכי נמוכה שתשמש לאחזור התראות. ערכים אפשריים:
Low, Medium, High. |
| מספר השעות המקסימלי אחורה | מספר שלם | 1 | לא | מספר השעות לפני האיטרציה הראשונה של המחבר לאחזור ההתראות. אפשר להשתמש בפרמטר הזה כדי להגדיר את הערך של המחבר בפעם הראשונה שמפעילים אותו, או כערך ברירת מחדל אם חותמת הזמן של המחבר פגה. |
| מספר ההתראות המקסימלי לאחזור | מספר שלם | 10 | לא | מספר ההתראות לעיבוד בכל איטרציה של המחבר. הערך המקסימלי הוא 1000. |
Use whitelist as a blacklist |
תיבת סימון | סימן אישור | כן | אם האפשרות הזו נבחרה, המחבר משתמש ברשימה הדינמית כרשימת חסימה. |
| אימות SSL | תיבת סימון | התיבה לא מסומנת | כן | אם האפשרות הזו נבחרה, האינטגרציה מאמתת את אישור ה-SSL כשמתחברים לשרת Armis. |
| כתובת שרת ה-Proxy | String | לא | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. | |
| שם משתמש של שרת proxy | String | לא | שם המשתמש ב-proxy לאימות. | |
| סיסמת שרת Proxy | סיסמה | לא | סיסמת ה-proxy לאימות. |
כללים של Connectors
המחבר תומך בשרתי proxy.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.