Tenable Security Center
במאמר הזה מוסבר איך לשלב את Tenable Security Center עם Google Security Operations (Google SecOps).
לפני שמתחילים
כדי להגדיר את השילוב של Tenable Security Center, קודם צריך לקבל את פרטי החיבור הנדרשים ולוודא שמבינים את שיטת האימות הנדרשת.
דרישות מוקדמות לאימות
השילוב תומך בשתי שיטות אימות שאינן תלויות זו בזו. עליך לספק זוג אחד מלא של פרטי כניסה.
שם משתמש וסיסמה: משתמשים בפרטי הכניסה הרגילים.
מפתח גישה ומפתח סודי (מומלץ): בשיטה הזו נעשה שימוש בהרשאת מפתח API, והיא מקבלת עדיפות אם מסופקים שני צמדי אישורים.
במאמר הרשאה באמצעות מפתח API מוסבר איך ליצור מפתחות API.
אימות SSL
כברירת מחדל, השילוב מאמת את אישור ה-SSL של שרת Tenable Security Center. אם בסביבה שלכם נעשה שימוש באישור בחתימה עצמית או באישור פנימי, צריך להשבית את ההגדרה Verify SSL.
נתוני קלט של שילוב
כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:
| פרמטרים | |
|---|---|
Server Address |
חובה הכתובת של שרת Tenable Security Center לשימוש בשילוב. |
Username |
אופציונלי שם המשתמש לכניסה לשרת Tenable Security Center. חובה לספק את שני המאפיינים |
Password |
אופציונלי הסיסמה לכניסה לשרת Tenable Security Center. חובה לספק את שני המאפיינים |
Access Key |
אופציונלי מפתח הגישה של חשבון Tenable Security Center. חובה לספק את שני המאפיינים |
Secret Key |
אופציונלי המפתח הסודי של חשבון Tenable Security Center. חובה לספק את שני המאפיינים |
Verify SSL |
אופציונלי אם בוחרים באפשרות הזו, המערכת בודקת שאישור ה-SSL של החיבור לשרת Tenable תקף. האפשרות הזו מסומנת כברירת מחדל. |
פעולות
הוספת כתובת IP לנכס מסוג רשימת כתובות IP
מוסיפים כתובת IP לנכס מסוג רשימת כתובות IP ב-Tenable Security Center.
פרמטרים
| שם התצוגה של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם הנכס | String | לא רלוונטי | כן | מציינים את השם של נכס רשימת כתובות ה-IP שאליו רוצים להוסיף כתובות IP חדשות. |
הפעלה ב-
הפעולה הזו מופעלת על ישות של כתובת IP.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"type": "regular",
"response": {
"id": "41",
"name": "api_test_5",
"type": "static",
"description": "",
"tags": "qweqwe",
"context": "",
"status": "0",
"createdTime": "1606129689",
"modifiedTime": "1606129689",
"ioSyncStatus": "Not Synced",
"ioFirstSyncTime": "-1",
"ioLastSyncSuccess": "-1",
"ioLastSyncFailure": "-1",
"ioSyncErrorDetails": null,
"typeFields": {
"definedIPs": "203.0.113.1,203.0.113.10"
},
"repositories": [
{
"ipCount": "-1",
"repository": {
"id": "1",
"name": "Example-Repository",
"description": ""
}
}
],
"ipCount": -1,
"groups": [],
"assetDataFields": [],
"canUse": "true",
"canManage": "true",
"creator": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"owner": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"ownerGroup": {
"id": "0",
"name": "Full Access",
"description": "Full Access group"
},
"targetGroup": {
"id": -1,
"name": "",
"description": ""
},
"template": {
"id": -1,
"name": "",
"description": ""
}
},
"error_code": 0,
"error_msg": "",
"warnings": [],
"timestamp": 1606129688
}
Case wall
| סוג התוצאה | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של פלייבוק:
אם אין ישויות IP: לא נוספו כתובות IP לנכס של רשימת כתובות ה-IP {0}.format(name)
אם לא קוד סטטי 200 (is_success = false): print "Error executing action "Add IP to IP List Asset". הסיבה: {0}''.format(error_msg) |
כללי |
יצירת נכס של רשימת כתובות IP
יוצרים נכס של רשימת כתובות IP ב-Tenable Security Center. נדרשת לפחות ישות IP אחת כדי שההפעלה תתבצע בהצלחה.
פרמטרים
| שם התצוגה של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם | String | לא רלוונטי | כן | מציינים את השם של נכס רשימת כתובות ה-IP. |
| תיאור | String | לא רלוונטי | לא | מציינים את התיאור של נכס רשימת כתובות ה-IP. |
| תג | String | לא רלוונטי | לא | מציינים את התג של נכס רשימת כתובות ה-IP. |
הפעלה ב-
הפעולה הזו מופעלת על ישות של כתובת IP.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"type": "regular",
"response": {
"id": "41",
"name": "api_test_5",
"type": "static",
"description": "",
"tags": "qweqwe",
"context": "",
"status": "0",
"createdTime": "1606129689",
"modifiedTime": "1606129689",
"ioSyncStatus": "Not Synced",
"ioFirstSyncTime": "-1",
"ioLastSyncSuccess": "-1",
"ioLastSyncFailure": "-1",
"ioSyncErrorDetails": null,
"typeFields": {
"definedIPs": "203.0.113.1,203.0.113.10"
},
"repositories": [
{
"ipCount": "-1",
"repository": {
"id": "1",
"name": "Example-Repository",
"description": ""
}
}
],
"ipCount": -1,
"groups": [],
"assetDataFields": [],
"canUse": "true",
"canManage": "true",
"creator": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"owner": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"ownerGroup": {
"id": "0",
"name": "Full Access",
"description": "Full Access group"
},
"targetGroup": {
"id": -1,
"name": "",
"description": ""
},
"template": {
"id": -1,
"name": "",
"description": ""
}
},
"error_code": 0,
"error_msg": "",
"warnings": [],
"timestamp": 1606129688
}
Case wall
| סוג התוצאה | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של פלייבוק:
אם אין ישויות IP: המערכת תדפיס את ההודעה 'צריך לפחות ישות IP אחת כדי ליצור נכס של רשימת כתובות IP'.
If not static code 200 (is_success = false): print "Error executing action "Create IP List Asset". הסיבה: {0}''.format(error_msg) |
כללי |
הוספת פרטים לכתובת IP
קבלת מידע על כתובות IP והעשרת הנתונים שלהן.
פרמטרים
| פרמטר | סוג | ערך ברירת המחדל | תיאור |
|---|---|---|---|
| שם המאגר | String | לא רלוונטי | שם המאגר. |
הפעלה ב-
הפעולה הזו מופעלת על ישות של כתובת IP.
תוצאות הפעולה
העשרה של ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| macAddress | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severityLow | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| קישורים | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ip | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| הסריקה האחרונה | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severityCritical | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| total | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severityAll | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| mcafeeGUID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| policyName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| uuid | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| lastAuthRun | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severityInfo | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| osCPE | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ייחודיות | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| dnsName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| מאגר | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ip | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| description | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| name | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| lastUnauthRun | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| biosGUID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| tpmID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| score | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| hasPassive | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| pluginSet | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| hasCompliance | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severityHigh | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| netbiosName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severityMedium | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| os | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
[
{
"EntityResult":
{
"macAddress": "",
"severityLow": "0",
"links": [],
"ip": "203.0.113.1",
"lastScan": "1549425224",
"severityCritical": "0",
"total": "2",
"severityAll": "0,0,0,0,2",
"mcafeeGUID": "",
"policyName": "1e2e4247-0de7-56d5-8026-34ab1f3150ef-1130313/Basic Discovery Scan",
"uuid": "",
"lastAuthRun": "",
"severityInfo": "2",
"osCPE": "",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"repository":
{
"id": "1",
"description": "",
"name": "repository"
},
"lastUnauthRun": "1549363419",
"biosGUID": "",
"tpmID": "",
"score": "0",
"hasPassive": "No",
"pluginSet": "201902020242",
"hasCompliance": "No",
"severityHigh": "0",
"netbiosName": "",
"severityMedium": "0",
"os": ""
},
"Entity": "203.0.113.1"
}
]
קבלת נכסים קשורים
אפשר לקבל נכסים שקשורים לכתובת IP.
פרמטרים
| פרמטר | סוג | ערך ברירת המחדל | תיאור |
|---|---|---|---|
| שם המאגר | String | לא רלוונטי | שם המאגר. |
הפעלה ב-
הפעולה הזו מופעלת על ישות של כתובת IP.
תוצאות הפעולה
העשרה של ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| id | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| name | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
[
{
"EntityResult":
[
{
"id": "0",
"description": "All defining ranges of the Group in whose context this Asset is being evaluated.",
"name": "All Defined Ranges"
}, {
"id": "2",
"description": "This asset uses the Scan Summary plugin to detect if a host has been scanned by Nessus. The Scan Summary plugin contains the list of tests conducted during the most recent scan.",
"name": "Systems that have been Scanned"
}, {
"id": "13",
"description": "Leverage Nessus plugin 10180 (Ping the remote host) and Nessus plugin 12503 (Host Fully Qualified Domain Name (FQDN) Resolution) to find hosts that don't have a resolvable FQDN in DNS.",
"name": "Scanned Hosts Not in DNS"
}
],
"Entity": "203.0.113.1"
}
]
לצפייה בדוח
אחזור תוכן הדוח לפי מזהה או שם.
פרמטרים
| פרמטר | סוג | ערך ברירת המחדל | תיאור |
|---|---|---|---|
| מזהה הדוח | String | לא רלוונטי | מספר מזהה הדוח.אפשר למצוא אותו בכתובת ה-URL של הדוח. |
ריצה
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"pubSites":
[
"https://example.com",
"https://example.net"
]
}
קבלת תוצאות הסריקה
מחכים שהסריקה תסתיים ומקבלים את התוצאות שלה.
פרמטרים
| פרמטר | סוג | ערך ברירת המחדל | תיאור |
|---|---|---|---|
| מזהה תוצאת הסריקה | String |
לא רלוונטי | מזהה תוצאות הסריקה. |
הפעלה ב-
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"severity_summary":
[
{
"count": "0",
"severity":
{
"id": "4",
"name": "Critical",
"description": "Critical Severity"
}
}, {
"count": "0",
"severity":
{
"id": "3",
"name": "High",
"description": "High Severity"
}
}, {
"count": "3",
"severity":
{"id": "2",
"name": "Medium",
"description": "Medium Severity"
}}
],
"results":
[
{
"name": "DNS Server Recursive Query Cache Poisoning Weakness",
"family": "DNS",
"hostTotal": "1",
"pluginID": "10539",
"total": "1",
"severity": "Medium"
}, {
"name": "DNS Server Spoofed Request Amplification DDoS",
"family": "DNS",
"hostTotal": "1",
"pluginID": "35450",
"total": "1",
"severity": "Medium"
}, {
"name": "SSL Medium Strength Cipher Suites Supported",
"family": "General",
"hostTotal": "1",
"pluginID": "42873",
"total": "1",
"severity": "Medium"
}
]
}
קבלת נקודות חולשה לכתובת IP
קבלת סיכום של נקודות חולשה ורמת חומרה של כתובת IP.
פרמטרים
לא רלוונטי
הפעלה ב-
הפעולה הזו מופעלת על ישות של כתובת IP.
תוצאות הפעולה
העשרה של ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| macAddress | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| פרוטוקול | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| uuid | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| משפחה | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| pluginInfo | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ip | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| pluginID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| severity | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| מאגר | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ייחודיות | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| dnsName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| יציאה | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| netbiosName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| name | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
[
{
"EntityResult":
[
{
"macAddress": "",
"protocol": "TCP",
"uuid": "",
"family": "Web Servers",
"pluginInfo": "10107 (443/6) HTTP Server Type and Version",
"ip": "203.0.113.1",
"pluginID": "10107",
"severity": "Info",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"port": "443",
"netbiosName": "",
"name": "HTTP Server Type and Version"
}, {
"macAddress": "",
"protocol": "UDP",
"uuid": "",
"family": "DNS",
"pluginInfo": "10539 (53/17) DNS Server Recursive Query Cache Poisoning Weakness",
"ip": "203.0.113.1",
"pluginID": "10539",
"severity": "Medium",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "exaample.com",
"port": "53",
"netbiosName": "",
"name": "DNS Server Recursive Query Cache Poisoning Weakness"
}, {
"macAddress": "",
"protocol": "TCP",
"uuid": "",
"family": "General",
"pluginInfo": "10863 (443/6) SSL Certificate Information",
"ip": "203.0.113.1",
"pluginID": "10863",
"severity": "Info",
"repository": "repo",
"uniqueness": "repositoryID,ip,dnsName",
"dnsName": "example.com",
"port": "443",
"netbiosName": "",
"name": "SSL Certificate Information"
}
],
"Entity": "203.0.113.1"
}
]
פינג
בודקים את הקישוריות.
הפעלה ב-
הפעולה הזו מופעלת על כל הישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| null | לא רלוונטי | לא רלוונטי |
סריקת כתובות IP
להתחיל סריקה של כתובות IP.
פרמטרים
| פרמטר | סוג | ערך ברירת המחדל | תיאור |
|---|---|---|---|
| שם הסריקה | String | לא רלוונטי | השם של הסריקה שרוצים ליצור. |
| שם המדיניות | String | לא רלוונטי | שם המדיניות. |
הפעלה ב-
הפעולה הזו מופעלת על ישות של כתובת IP.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| scan_result_id | לא רלוונטי | לא רלוונטי |
הפעלת סריקת נכסים
מריצים סריקת נכסים ב-Tenable Security Center.
איפה אפשר למצוא את מזהה המדיניות ואת מזהה המאגר
למזהה מדיניות:
- נווט אל
https://INSTANCE_IP_ADDRESS/#policies. - בוחרים את המדיניות שרוצים להשתמש בה בפעולה.
- בכתובת ה-URL יופיע מזהה של המדיניות הזו.
למזהה המאגר:
- נווט אל
https://INSTANCE_IP_ADDRESS/#repositories. - בוחרים את המאגר שבו רוצים להשתמש בפעולה.
- בכתובת ה-URL יופיע מזהה של המאגר.
פרמטרים
| שם התצוגה של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם הסריקה | לא רלוונטי | כן | מציינים את השם של הסריקה. | |
| שם הנכס | String | לא רלוונטי | כן | מציינים את שם הנכס שרוצים לסרוק. |
| מזהה המדיניות | מספר שלם | לא רלוונטי | כן | מציינים את המזהה של המדיניות שבה רוצים להשתמש בסריקה. |
| מזהה מאגר | מספר שלם | לא רלוונטי | כן | מציינים את המזהה של המאגר שבו רוצים להשתמש בסריקה. |
| תיאור | String | לא רלוונטי | לא | מציינים את התיאור של הסריקה. |
הפעלה ב-
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאה בפורמט JSON
{
"type": "regular",
"response": {
"id": "11",
"name": "Scan Name",
"description": "",
"ipList": "",
"type": "policy",
"dhcpTracking": "false",
"classifyMitigatedAge": "0",
"emailOnLaunch": "false",
"emailOnFinish": "false",
"timeoutAction": "import",
"scanningVirtualHosts": "false",
"rolloverType": "template",
"status": "0",
"createdTime": "1606132784",
"modifiedTime": "1606132784",
"maxScanTime": "3600",
"reports": [],
"assets": [
{
"id": "38",
"name": "api_test_1",
"description": ""
}
],
"credentials": [],
"numDependents": "0",
"schedule": {
"id": -1,
"objectType": -1,
"type": "now",
"start": "",
"repeatRule": "",
"enabled": "true",
"nextRun": -1,
"dependent": {
"id": -1,
"name": "",
"description": ""
}
},
"policy": {
"id": "1000002",
"context": "",
"name": "Host Discovery",
"description": "",
"tags": "",
"owner": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"ownerGroup": {
"id": "0",
"name": "Full Access",
"description": "Full Access group"
}
},
"policyPrefs": [
{
"name": "MODE|discovery",
"value": "host_enumeration"
},
{
"name": "description",
"value": ""
},
{
"name": "display_unreachable_hosts",
"value": "no"
},
{
"name": "log_live_hosts",
"value": "yes"
},
{
"name": "name",
"value": "Host Discovery"
},
{
"name": "reverse_lookup",
"value": "no"
}
],
"repository": {
"id": "1",
"name": "Example-Repository",
"description": ""
},
"canUse": "true",
"canManage": "true",
"plugin": {
"id": -1,
"name": "",
"description": ""
},
"zone": {
"id": -1,
"name": "",
"description": ""
},
"ownerGroup": {
"id": "0",
"name": "Full Access",
"description": "Full Access group"
},
"creator": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"owner": {
"id": "1",
"username": "security_manager",
"firstname": "Manager",
"lastname": "Security"
},
"scanResultID": "34"
},
"error_code": 0,
"error_msg": "",
"warnings": [],
"timestamp": 1606132783
}
Case wall
| סוג התוצאה | ערך/תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההרצה של פלייבוק:
הפעולה תיכשל ותפסיק את ההרצה של ה-Playbook: אם הנכס לא נמצא: מוצגת ההודעה "Error executing action "Run Asset Scan". Reason: Asset{0} was not found in Tenable Security Center. ''.format(name) אם לא מדובר בקוד סטטי 200 (is_success = false): print "Error executing action "Run Asset Scan". Reason:{0}".format(error_msg) |
כללי |
מחברים
Tenable Security Center Connector
הוראות מפורטות להגדרת מחבר ב-Google SecOps מופיעות במאמר בנושא הגדרת המחבר.
פרמטרים של מחברים
משתמשים בפרמטרים הבאים כדי להגדיר את המחבר:
| פרמטר | סוג | ערך ברירת המחדל | תיאור |
|---|---|---|---|
| DeviceProductField | String | device_product | שם השדה שמשמש לקביעת מוצר המכשיר. |
| EventClassId | String | name | שם השדה שמשמש לקביעת שם האירוע (סוג משנה). |
| PythonProcessTimeout | String | 60 | מגבלת הזמן הקצוב לתפוגה (בשניות) לתהליך Python שמריץ את הסקריפט הנוכחי. |
| כתובת השרת | String | null | לא רלוונטי |
| שם משתמש | String | null | לא רלוונטי |
| סיסמה | סיסמה | null | לא רלוונטי |
| מפתח גישה | String | null | אופציונלי מפתח הגישה של חשבון Tenable Security Center. חובה לספק את שני המאפיינים |
| מפתח סודי | סיסמה | null | אופציונלי המפתח הסודי של חשבון Tenable Security Center. חובה לספק את שני המאפיינים |
| שימוש ב-SSL | תיבת סימון | התיבה לא מסומנת | לא רלוונטי |
| מספר הימים המקסימלי אחורה | מספר שלם | 1 | מספר הימים אחורה שממנו רוצים לאחזר נתונים. |
| מגבלה לכל מחזור | מספר שלם | 10 | מספר ההתראות שנקלטו במחבר בכל מחזור ביצוע. |
| כתובת שרת ה-Proxy | String | null | הכתובת של שרת ה-Proxy שבו רוצים להשתמש. |
| שם משתמש של שרת proxy | String | null | שם המשתמש ב-proxy לאימות. |
| סיסמת שרת Proxy | סיסמה | null | סיסמת ה-proxy לאימות. |
כללים של Connectors
המחבר תומך בשרתי proxy.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.