שילוב של AWS CloudWatch עם Google SecOps
במאמר הזה מוסבר איך לשלב את AWS CloudWatch עם Google Security Operations (Google SecOps).
תרחישים לדוגמה
פעולות פעילות – חיפוש ביומנים, יצירת קבוצות או זרמים של יומנים, מחיקת קבוצות או זרמים של יומנים, עדכון מדיניות השמירה.
פרמטרים של שילוב
משתמשים בפרמטרים הבאים כדי להגדיר את השילוב:
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| מזהה מפתח הגישה ב-AWS | String | לא רלוונטי | כן | מזהה מפתח הגישה של AWS לשימוש בשילוב. |
| מפתח סודי של AWS | סיסמה | לא רלוונטי | כן | מפתח סודי של AWS לשימוש בשילוב. |
| אזור ברירת המחדל של AWS | String | לא רלוונטי | כן | אזור ברירת המחדל של AWS לשימוש בשילוב, לדוגמה us-west-2. |
הוראות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.
במקרה הצורך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של שילוב, אפשר להשתמש בו ב-playbooks. מידע נוסף על הגדרה ותמיכה במספר מופעים זמין במאמר תמיכה במספר מופעים.
פעולות
מידע נוסף על פעולות זמין במאמרים איך מגיבים לפעולות שממתינות לאישור ב-Your Workdesk ואיך מבצעים פעולה ידנית.
פינג
בודקים את הקישוריות ל-AWS CloudWatch.
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של ה-Playbook:
הפעולה אמורה להיכשל ולהפסיק את ההרצה של ה-playbook:
|
כללי |
הצגת רשימה של קבוצות יומנים
רשימת קבוצות היומנים שזמינות ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| המספר המקסימלי של קבוצות להחזרה | מספר שלם | 50 | לא | מציינים כמה קבוצות להחזיר. ברירת מחדל: 50. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
תוצאת JSON
[
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1611581795766,
"logGroupName": "CloudTrail/DefaultLogGroup",
"metricFilterCount": 0,
"storedBytes": 24529015
},
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1606993203235,
"logGroupName": "Example",
"metricFilterCount": 1,
"storedBytes": 730
},
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1611652265055,
"logGroupName": "aws-cloudtrail-logs",
"metricFilterCount": 0,
"storedBytes": 51354815
}
]
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של playbook:
אם אין נתונים זמינים (is_success = true): 'לא נמצאו קבוצות יומנים ב-AWS CloudWatch'. הפעולה אמורה להיכשל ולהפסיק את ההרצה של Playbook:
|
כללי |
| Case Wall Table | שם: 'קבוצות יומנים' עמודה: שם מספר מסנני המדדים בייטים מאוחסנים שעת יצירה |
כללי |
הצגת רשימה של שידורים של יומנים
רשימת זרמי היומן שזמינים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| קבוצות של יומנים | CSV | לא רלוונטי | כן | מציינים רשימה מופרדת בפסיקים של שמות קבוצות שרוצים לאחזר עבורן זרמי יומן. |
| סידור לפי | DDL | השם של עדכוני התוכן ביומן ערכים אפשריים: השם של עדכוני התוכן ביומן המועד האחרון של האירוע |
לא | מציינים את הסדר שבו יומני הסטרימינג יוצגו. |
| סדר המיון | DDL | סדר עולה ערכים אפשריים: סדר עולה סדר יורד |
לא | מציינים את סדר המיון שבו רוצים להשתמש. |
| מספר השידורים המקסימלי להחזרה | מספר שלם | 50 | לא | מציינים כמה זרמים להחזיר לכל קבוצת יומנים. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
תוצאת JSON
[{
"group":"{group name}"
"logStreams": [
{
"arn": "arn:aws:logs:us-east-1:log-group:aws-cloudtrail-logs:log-stream:CloudTrail_us-east-1",
"creationTime": 1611652272827,
"firstEventTimestamp": 1611652287716,
"lastEventTimestamp": 1612271538268,
"lastIngestionTime": 1612271538289,
"logStreamName": "CloudTrail_us-east-1",
"storedBytes": 0,
"uploadSequenceToken": "49039859450784908968417870788122674924958823185025535393"
}
]
}
]
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא תיכשל ולא תפסיק את ההרצה של ה-Playbook:
אם הנתונים לא זמינים לפחות לקבוצת יומנים אחת (is_success = true): 'לא הייתה אפשרות להחזיר זרמי יומנים זמינים לקבוצות היומנים הבאות ב-AWS CloudWatch: {שמות הקבוצות}'. אם הנתונים לא זמינים לפחות לקבוצת יומנים אחת (is_success = false): 'לא נמצאו זרמי יומנים לקבוצות היומנים שצוינו ב-AWS CloudWatch'. הפעולה צריכה להיכשל ולהפסיק את ההרצה של Playbook:
|
כללי |
| Case Wall Table | שם: "{Group Name}: Log Streams" עמודה: שם בייטים מאוחסנים שעת יצירה חותמת הזמן של האירוע האחרון |
כללי |
אירוע ביומן החיפוש
חיפוש אירועים ביומן ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| קבוצת יומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים שבה רוצים לחפש אירועים. |
| שידורי יומן | CSV | לא רלוונטי | לא | מציינים רשימה של מקורות ליומן, מופרדת בפסיקים, שבהם רוצים לחפש אירועים. |
| מסגרת זמן | DDL | בשעה האחרונה ערכים אפשריים: בשעה האחרונה 6 השעות האחרונות 24 השעות האחרונות בשבוע שעבר בחודש שעבר בהתאמה אישית |
לא | מציינים מסגרת זמן לחיפוש. אם בוחרים באפשרות 'בהתאמה אישית', צריך גם להגדיר 'שעת התחלה'. |
| שעת ההתחלה | String | לא רלוונטי | לא | מציינים את שעת ההתחלה של החיפוש. הפרמטר הזה הוא חובה אם בוחרים באפשרות 'מותאם אישית' בפרמטר 'מסגרת זמן'. פורמט: ISO 8601 |
| שעת הסיום | String | לא רלוונטי | לא | מציינים את שעת הסיום של החיפוש. פורמט: ISO 8601. אם לא מספקים ערך ובפרמטר Time Frame (מסגרת זמן) בוחרים באפשרות Custom (מותאם אישית), המערכת תשתמש בזמן הנוכחי. |
| מסנן בהתאמה אישית | String | לא רלוונטי | לא | מציינים את המסנן המותאם אישית לחיפוש. מידע נוסף זמין בפורטל התיעוד. |
| מספר מקסימלי של אירועים להחזרה | מספר שלם | 50 | לא | מציינים כמה אירועים להחזיר. ברירת מחדל: 50. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
תוצאת JSON
[
{
"eventId": "ID",
"ingestionTime": 1611652287896,
"logStreamName": "CloudTrail_us-east-1",
"message": {
"eventVersion": "1.08",
"userIdentity": {
"type": "AssumedRole",
"principalId": "ID",
"arn":"arn:aw
s:sts: : ACCOUNT_ID:assumed-role/AWSServiceRoleForAmazonMacie/AmazonMacieSession","accountId":"ACCOUNT_ID","accessKeyId":"KEY_ID","sessionC
ontext":{"sessionIssuer":{"type":"Role","principalId":"ID","arn":"arn:aws:iam: : ACCOUNT_ID:role/aws-service-role/macie.amazonaws.com/AW
SServiceRoleForAmazonMacie","accountId":"ACCOUNT_ID","userName":"AWSServiceRoleForAmazonMacie"},"webIdFederationData":{},"attributes":{"mfaAuthenticated": "false",
"creationDate": "2021-01-26T08:53:52Z"
}
},
"invokedBy": "AWS Internal",
"eventTime": "2021-01-26T08:53:52Z",
"eventSource": "s3.amazonaws.com",
"eventName": "GetBucketLogging",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWSInternal",
"userAgent": "AWS Internal",
"requestParameters": {
"logging": "",
"bucketName": "example",
"Host": "example.s3.amazonaws.com"
},
"responseElements": null,
"additionalEventData": {
"SignatureVersion": "SigV4",
"CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
"bytesTransferredIn": 0,
"AuthenticationMethod": "AuthHeader",
"x-amz-id-2": "PFM+6pyK/gCPy95gh8dtstgtXftrpHkL8s=",
"bytesTransferredOut": 289
},
"requestID": "8FA919A428BC82D7",
"eventID": "7eb5dd44-7021-4945-b9be-27f5b1e0d8d0",
"readOnly": true,
"resources": [
{
"accountId": "ACCOUNT_ID",
"type": "AWS::S3::Bucket",
"ARN": "arn:aws:s3:::example"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"eventCategory": "Management",
"recipientAccountId": "ACCOUNT_ID"
},
"timestamp": 1611652287716
}
]
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של Playbook:
אם הנתונים לא זמינים (is_success = false): 'לא נמצאו נתונים לחיפוש שצוין'. הפעולה צריכה להיכשל ולהפסיק את ההרצה של תוכנית הפעולה:
|
כללי |
| Case Wall Table | שם: Search Results עמודה: כל המפתחות הזמינים. |
כללי |
הגדרת מדיניות שמירת נתונים
הגדרת מדיניות שמירת נתונים לקבוצות יומנים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| קבוצת יומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים שרוצים להגדיר לה מדיניות שמירת נתונים. |
| ימי שמירה | DDL | 1 ערכים אפשריים 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827 ו-3653 |
כן | מגדירים את מספר הימים שבהם הנתונים יישמרו בקבוצת היומנים. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההרצה של playbook:
הפעולה תיכשל והרצת ה-Playbook תיפסק:
|
כללי |
הסרה של מדיניות שמירת נתונים
מסירים את מדיניות שמירת הנתונים מקבוצת היומנים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| קבוצת יומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים שממנה רוצים להסיר את מדיניות שמירת הנתונים. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של playbook:
הפעולה אמורה להיכשל ולעצור את ההרצה של ספר ההפעלה:
|
כללי |
יצירת קבוצת יומנים
יוצרים קבוצת יומנים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| שם קבוצת היומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים החדשה. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
תוצאת JSON
{
"group_name": "GROUP_NAME"
}
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של Playbook:
הפעולה אמורה להיכשל ולהפסיק את ההרצה של ה-Playbook:
|
כללי |
יצירת עדכוני תוכן של יומן
יוצרים זרם יומנים לקבוצת היומנים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| קבוצת יומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים שבה רוצים ליצור זרם יומנים. |
| השם של עדכוני התוכן ביומן | String | לא רלוונטי | כן | מציינים את השם של מקור הנתונים החדש של היומן. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
תוצאת JSON
{
"log_stream": "STREAM_NAME"
}
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של playbook:
הפעולה צריכה להיכשל ולהפסיק את ההרצה של תוכנית הפעולה:
|
כללי |
מחיקת קבוצת יומנים
מחיקת קבוצת יומנים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| שם קבוצת היומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים שרוצים למחוק. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההפעלה של Playbook:
אם הקבוצה לא קיימת (is_success=false): "לא הייתה אפשרות למחוק את קבוצת היומנים {group} ב-AWS CloudWatch. סיבה: קבוצת היומנים {group} לא נמצאה ב-AWS CloudWatch." הפעולה צריכה להיכשל ולהפסיק את ההפעלה של Playbook:
|
כללי |
מחיקת מקור נתונים של יומן
מחיקת זרם יומן בקבוצת יומנים ב-AWS CloudWatch.
פרמטרים
| שם התצוגה של הפרמטר> | Type> | ערך ברירת המחדל> | חובה> | תיאור> |
|---|---|---|---|---|
| שם קבוצת היומנים | String | לא רלוונטי | כן | מציינים את השם של קבוצת היומנים שמכילה את זרם היומנים. |
| השם של עדכוני התוכן ביומן | String | לא רלוונטי | כן | מציינים את השם של מקור הנתונים של היומן שרוצים למחוק. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| Script Result Name> | אפשרויות ערך> |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל או להפסיק את ההרצה של פלייבוק:
אם הסטרים לא קיים (is_success=false): "לא הייתה אפשרות למחוק את הסטרים של היומן {stream} מקבוצת היומן {group} ב-AWS CloudWatch. הסיבה: הסטרים של היומן {stream} לא נמצא בקבוצת היומן {group} ב-AWS CloudWatch". אם הקבוצה לא קיימת (is_success=false): "לא הייתה אפשרות למחוק את זרם היומן {stream} מקבוצת היומן {group} ב-AWS CloudWatch. סיבה: קבוצת היומנים {group} לא נמצאה ב-AWS CloudWatch." הפעולה צריכה להיכשל ולהפסיק את ההפעלה של playbook:
|
כללי |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.