שילוב של Armis עם Google SecOps
במסמך הזה מוסבר איך לשלב את Armis עם Google Security Operations.
תרחישים לדוגמה
- לבצע פעולות העשרה.
- הטמעת ההתראות.
- מבצעים פעולת מיון (עדכון סטטוס ההתראה).
פרמטרים של שילוב
כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| הרמה הבסיסית (root) של ה-API | String | כן | שורש ה-API של Armis | |
| API Secret | סיסמה | לא רלוונטי | כן | API Secret של Armis |
| אימות SSL | תיבת סימון | סימן אישור | כן | אם ההגדרה מופעלת, המערכת מאמתת שאישור ה-SSL לחיבור לשרת Armis תקף. |
איך מגדירים שילובים ב-Google SecOps
אם צריך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של אינטגרציה, אפשר להשתמש בו בפלייבוקים. במאמר תמיכה במספר מופעים מוסבר איך להגדיר מספר מופעים ולתמוך בהם.
פעולות
מידע נוסף על פעולות זמין במאמרים מענה לפעולות בהמתנה משולחן העבודה והפעלה ידנית של פעולה בבקשת התמיכה.
פינג
בודקים את הקישוריות ל-Armis.
פרמטרים
לא רלוונטי
הפעלה ב-
הפעולה לא משתמשת בישויות, ואין לה פרמטרים של קלט חובה.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר נרתיק הטעינה
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם החיבור הצליח: "החיבור לשרת Armis בוצע בהצלחה באמצעות פרמטרי החיבור שסופקו" הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם החיבור נכשל: "החיבור לשרת של Armis נכשל. השגיאה היא {0}".format(exception.stacktrace) |
כללי |
העשרת ישויות
העשרת ישויות באמצעות מידע מ-Armis. ישויות נתמכות: כתובת IP, כתובת MAC.
פרמטרים
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| יצירת תובנה לגבי נקודת קצה (endpoint) | תיבת סימון | סימן אישור | כן | אם הפעולה מופעלת, היא יוצרת תובנה שמכילה מידע על נקודות הקצה. |
הפעלה ב-
הפעולה הזו פועלת על הישויות הבאות:
- כתובת 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 |
קיר נרתיק הטעינה
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: if enriched some(is_success = true): "Successfully enriched the following entities using Armis:\n".format(entity.identifier) אם חלק מהנתונים לא הועשרו (is_success = true): "Action wasn't able to enriche the following entities using Armis:\n".format(entity.identifier) אם לא כל הישויות הועשרו (is_success = false): "No entities were enriched". הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: |
כללי |
| טבלת ישויות | ישות |
רשימת החיבורים של ההתראות
רשימת החיבורים שקשורים להתראה ב-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
}
קיר נרתיק הטעינה
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם הקוד הוא 200 ויש נתונים זמינים (is_success = true): "הוחזרו בהצלחה חיבורים שקשורים להתראה {alertId} על סמך הקריטריונים שצוינו ב-Armis". אם הקוד הוא 200 ואין נתונים זמינים (is_success=false): "לא נמצאו חיבורים שקשורים להתראה {alertId} על סמך הקריטריונים שצוינו ב-Armis". הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה "רשימת חיבורים להתראות". הסיבה: {0}''.format(error.Stacktrace) |
כללי |
| שולחן קיר עם ויטרינה | שם: Available Communications עמודות:
|
כללי |
עדכון סטטוס ההתראה
מעדכנים את סטטוס ההתראה ב-Armis.
פרמטרים
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מזהה ההתראה | מספר שלם | כן | ציינו את מזהה ההתראה שאתם רוצים לעדכן את הסטטוס שלה. | |
| סטטוס | DDL | לא טופל ערכים אפשריים:
|
לא | מציינים איזה סטטוס צריך להגדיר להתראה. |
הפעלה ב-
הפעולה הזו לא פועלת על ישויות.
תוצאות הפעולה
תוצאת הסקריפט
| שם תוצאת הסקריפט | אפשרויות לערכים | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
קיר נרתיק הטעינה
| סוג התוצאות | תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של הפלייבוק: אם 200 (is_success = true): "הסטטוס של ההתראה "{alert id}" עודכן בהצלחה ל-"{status}" ב-Armis". אם 400 (is_success=true): "Alert "{alert id}" already has status "{status}" in Armis. ' הפעולה אמורה להיכשל ולעצור את ההפעלה של הפלייבוק: אם יש שגיאה חמורה, כמו פרטי כניסה שגויים, אין חיבור לשרת, אחר: "שגיאה בביצוע הפעולה 'עדכון סטטוס ההתראה'. הסיבה: {0}''.format(error.Stacktrace) אם השגיאה היא 404: "Error executing action "Update Alert Status". הסיבה: ההתראה "{alert id}" לא נמצאה ב-Armis.' |
כללי |
מחבר
איך מגדירים מחברים ב-Google SecOps?
Armis – מחבר התראות
שליפת התראות עם פעילויות קשורות מ-Armis.
פרמטרים של מחברים
כדי להגדיר את המחבר, משתמשים בפרמטרים הבאים:
| שם הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם שדה המוצר | String | alert_type | כן | שם השדה שבו מאוחסן שם המוצר. ערך ברירת המחדל הוא שם המוצר משפיע בעיקר על המיפוי. כדי לייעל ולשפר את תהליך המיפוי של המחבר, ערך ברירת המחדל |
| שם השדה של האירוע | String | סוג | כן | שם השדה שקובע את שם האירוע (סוג משנה). |
| שם השדה של הסביבה | String | "" | לא | שם השדה שבו מאוחסן שם הסביבה. אם שדה הסביבה חסר, המחבר משתמש בערך ברירת המחדל. |
Environment Regex Pattern |
String | .* | לא |
תבנית של ביטוי רגולרי להפעלה על הערך שנמצא בשדה משתמשים בערך ברירת המחדל אם התבנית של הביטוי הרגולרי היא null או ריקה, או אם ערך הסביבה הוא null, התוצאה הסופית של הסביבה היא סביבת ברירת המחדל. |
| זמן קצוב לתפוגה של סקריפט (בשניות) | מספר שלם | 180 | כן | מגבלת הזמן הקצוב לתפוגה, בשניות, של תהליך Python שמריץ את הסקריפט הנוכחי. |
| הרמה הבסיסית (root) של ה-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. |
כללי מחברים
המחבר תומך בשרתי proxy.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.