איסוף יומנים מ-AWS Control Tower

גרסת המנתח: 1.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומנים של AWS Control Tower ב-Google Security Operations. ‫AWS Control Tower מאפשרת ניהול, תאימות וניטור לצורכי אבטחה בכמה חשבונות AWS. השילוב הזה מאפשר לכם לנתח יומנים מ-AWS Control Tower כדי לשפר את הנראות ואת מצב האבטחה.

לפני שמתחילים

חשוב לוודא שמתקיימות דרישות הסף הבאות:

  • מופע של Google SecOps
  • גישה עם הרשאות מיוחדות ל-AWS

הגדרת קטגוריה ב-Amazon S3

  1. יוצרים קטגוריה של Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה
  2. שומרים את שם הקטגוריה ואת האזור שלה לשימוש מאוחר יותר.
  3. יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
  4. בוחרים את המשתמש שנוצר.
  5. לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
  6. בקטע Access Keys, לוחצים על Create Access Key.
  7. בוחרים באפשרות שירות של צד שלישי בתור תרחיש השימוש.
  8. לוחצים על הבא.
  9. אופציונלי: מוסיפים תג תיאור.
  10. לוחצים על Create access key (יצירת מפתח גישה).
  11. לוחצים על Download CSV file כדי לשמור את Access Key ואת Secret Access Key לשימוש מאוחר יותר.
  12. לוחצים על סיום.
  13. לוחצים על הכרטיסייה הרשאות.
  14. בקטע Permissions policies, לוחצים על Add permissions.
  15. לוחצים על הוספת הרשאות.
  16. בוחרים באפשרות צירוף מדיניות ישירות.
  17. מחפשים את כללי המדיניות AmazonS3FullAccess ו-CloudWatchLogsFullAccess ובוחרים אותם.
  18. לוחצים על הבא.
  19. לוחצים על הוספת הרשאות.

הגדרת CloudTrail ב-AWS Control Tower

  1. נכנסים ל-AWS Management Console.
  2. עוברים אל AWS Control Tower.
  3. בסרגל החיפוש, מקלידים CloudTrail ובוחרים אותו מרשימת השירותים.
  4. לוחצים על Create Trail כדי ליצור מעקב חדש.

  5. מגדירים את ההגדרות של Trail:

    • שם המעקב: נותנים שם משמעותי למעקב (לדוגמה, ControlTowerTrail).
    • החלת נתיב על כל האזורים: מוודאים שבוחרים באפשרות כן עבור החלת נתיב על כל האזורים.
    • אירועי ניהול: מוודאים שאירועי קריאה/כתיבה מוגדרים להכול.
    • אופציונלי: אירועי נתונים: מפעילים אירועי נתונים של S3 ואירועי נתונים של Lambda כדי לתעד פעילות מפורטת של נתונים.
    • אופציונלי: אימות קובץ יומן: מפעילים את האפשרות הזו כדי לוודא שלא יתבצעו שינויים בקובצי היומן אחרי שהם נשמרים.
  6. בבורר Event, בוחרים לתעד ביומן את Management events ואת Data events.

איך מגדירים את CloudTrail

  1. נכנסים למסוף AWS IAM.
  2. לוחצים על תפקידים.
  3. מחפשים את התפקיד שבו משתמש CloudTrail AWSServiceRoleForCloudTrail (התפקיד נוצר אוטומטית כשמגדירים את CloudTrail).
  4. בכרטיסייה Permissions (הרשאות) של התפקיד, לוחצים על Attach policies (צירוף מדיניות).
  5. חיפוש של CloudTrailS3DeliveryPolicy.
  6. מסמנים את התיבה לצד המדיניות CloudTrailS3DeliveryPolicy.
  7. לוחצים על צירוף מדיניות.
  8. עוברים אל מסוף CloudTrail של AWS.
  9. בקטע Storage location, בוחרים באפשרות S3 כיעד לקובצי היומן.
  10. בוחרים את S3 bucket שיצרתם קודם.
  11. כשמתבקשים לתת ל-CloudTrail הרשאה לכתוב יומנים לקטגוריה שבחרתם, לוחצים על אישור.
  12. בודקים את ההגדרות ולוחצים על Create (או על Save changes אם עורכים מעקב קיים).

הגדרת פידים

יש שתי נקודות כניסה שונות להגדרת פידים בפלטפורמת Google SecOps:

  • הגדרות SIEM > פידים > הוספת פיד חדש
  • מרכז התוכן > חבילות תוכן > להתחלה

איך מגדירים את הפיד של AWS Control Tower

  1. לוחצים על חבילת Amazon Cloud Platform.
  2. מאתרים את סוג היומן AWS Control Tower.
  3. מציינים את הערכים בשדות הבאים.

    • סוג המקור: Amazon SQS V2
    • ‫Queue Name (שם התור): השם של תור ה-SQS שממנו ייקראו הנתונים
    • ‫S3 URI: מזהה ה-URI של הקטגוריה.
      • s3://your-log-bucket-name/
        • מחליפים את your-log-bucket-name בשם בפועל של קטגוריית ה-S3.
    • אפשרויות מחיקה של מקור: בוחרים את אפשרות המחיקה בהתאם להעדפות ההטמעה שלכם.

    • גיל מקסימלי של קובץ: כולל קבצים ששונו במספר הימים האחרונים. ברירת המחדל היא 180 ימים.

    • ‫SQS Queue Access Key ID (מזהה מפתח גישה לתור SQS): מפתח גישה לחשבון שהוא מחרוזת אלפאנומרית באורך 20 תווים.

    • מפתח גישה סודי לתור SQS: מפתח גישה לחשבון שמורכב ממחרוזת אלפאנומרית באורך 40 תווים.

    אפשרויות מתקדמות

    • שם הפיד: ערך שמזהה את הפיד וממולא מראש.
    • מרחב שמות של נכס: מרחב השמות שמשויך לפיד.
    • תוויות להעברה: תוויות שמוחלות על כל האירועים מהפיד הזה.
  4. לוחצים על יצירת פיד.

למידע נוסף על הגדרת כמה פידים לסוגים שונים של יומנים בתוך משפחת המוצרים הזו, אפשר לעיין במאמר בנושא הגדרת פידים לפי מוצר.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
awsAccountId target.user.group_identifiers מספר חשבון AWS שמשויך לאירוע.
digestPublicKeyFingerprint target.file.sha1 טביעת האצבע של המפתח הציבורי שמשמש לחתימה על התקציר.
digestPublicKeyFingerprint target.resource.attribute.labels.value טביעת האצבע של המפתח הציבורי ששימש לחתימה על התקציר.
digestS3Bucket target.resource.name השם של קטגוריית S3 שבה מאוחסן התקציר.
digestS3Object target.file.full_path הנתיב לאובייקט התקציר בקטגוריית S3.
digestSignatureAlgorithm network.tls.cipher האלגוריתם שמשמש לחתימה על הגיבוב.
digestSignatureAlgorithm target.resource.attribute.labels.value האלגוריתם שמשמש לחתימה על התקציר.
digestStartTime metadata.event_timestamp שעת ההתחלה של תקופת הסיכום. השדה הזה משמש כשעת האירוע אם השדה eventTime לא זמין.
eventCategory security_result.category_details הקטגוריה של האירוע.
eventID metadata.product_log_id המזהה הייחודי של האירוע.
eventName metadata.product_event_type שם האירוע.
eventName security_result.summary שם האירוע, שמשמש ליצירת סיכום תוצאות האבטחה.
eventSource target.application המקור של האירוע.
eventTime metadata.event_timestamp השעה שבה האירוע התרחש.
eventType additional.fields.value.string_value סוג האירוע.
logFiles.hashValue about.file.sha256 גיבוב SHA-256 של קובץ היומן.
logFiles.s3Bucket about.resource.name השם של קטגוריית ה-S3 שבה מאוחסן קובץ היומן.
logFiles.s3Object about.file.full_path הנתיב לאובייקט של קובץ היומן בקטגוריית S3.
previousDigestHashValue target.file.sha256 גיבוב SHA-256 של התקציר הקודם.
recipientAccountId target.resource.attribute.labels.value מספר חשבון AWS של הנמען של האירוע.
Records.awsRegion principal.location.name האזור ב-AWS שבו התרחש האירוע.
Records.errorCode security_result.rule_id קוד השגיאה, אם יש, שמשויך לבקשה.
Records.errorMessage security_result.description הודעת השגיאה שמשויכת לבקשה, אם יש כזו.
Records.eventCategory security_result.category_details הקטגוריה של האירוע.
Records.eventID metadata.product_log_id המזהה הייחודי של האירוע.
Records.eventName metadata.product_event_type שם האירוע.
Records.eventName security_result.summary שם האירוע, שמשמש ליצירת סיכום תוצאות האבטחה.
Records.eventSource target.application המקור של האירוע.
Records.eventTime metadata.event_timestamp השעה שבה האירוע התרחש.
Records.eventType additional.fields.value.string_value סוג האירוע.
Records.requestID target.resource.attribute.labels.value מזהה הבקשה.
Records.requestParameters.groupName target.group.group_display_name שם הקבוצה שמשויכת לבקשה, אם יש כזו.
Records.requestParameters.userName src.user.userid שם המשתמש שמשויך לבקשה, אם יש כזה.
Records.requestParameters.userName src.user.user_display_name השם של המשתמש, אם יש כזה, שמשויך לבקשה.
Records.responseElements.ConsoleLogin security_action התוצאה של ניסיון ההתחברות למסוף.
Records.responseElements.ConsoleLogin security_result.summary התוצאה של ניסיון הכניסה למסוף, שמשמשת ליצירת סיכום תוצאות האבטחה.
Records.sourceIPAddress principal.hostname כתובת ה-IP של חשבון המשתמש. הערך משמש כשם מארח אם הוא לא כתובת IP תקינה.
Records.sourceIPAddress principal.ip כתובת ה-IP של חשבון המשתמש.
Records.tlsDetails.cipherSuite network.tls.cipher סט האלגוריתמים להצפנה (cipher suite) שמשמש לחיבור ה-TLS.
Records.tlsDetails.tlsVersion network.tls.version גרסת ה-TLS שמשמשת לחיבור.
Records.userAgent network.http.user_agent סוכן המשתמש של הבקשה.
Records.userIdentity.accessKeyId additional.fields.value.string_value מזהה מפתח הגישה ששימש לבקשה.
Records.userIdentity.accountId principal.user.group_identifiers מזהה החשבון של המשתמש ב-AWS.
Records.userIdentity.arn principal.user.attribute.labels.value ה-ARN של המשתמש.
Records.userIdentity.arn target.user.userid ה-ARN של המשתמש. משמש כמזהה משתמש אם userName לא זמין.
Records.userIdentity.principalId principal.user.product_object_id המזהה הראשי של המשתמש.
Records.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value אם נעשה שימוש באימות רב-שלבי (MFA) בבקשה.
Records.userIdentity.sessionContext.sessionIssuer.userName principal.user.userid שם המשתמש של המשתמש שהנפיק את הסשן.
Records.userIdentity.type principal.resource.type סוג הזהות שמשמשת לבקשה.
Records.userIdentity.userName target.user.userid שם המשתמש של המשתמש.
- extensions.auth.mechanism צריך להגדיר את הערך "REMOTE".
- metadata.event_type מגדירים את הערך "STATUS_UPDATE",‏ "USER_RESOURCE_ACCESS",‏ "USER_LOGIN" או "GENERIC_EVENT" בהתאם ל-eventName.
- metadata.log_type מגדירים את הערך 'AWS_CONTROL_TOWER'.
- metadata.product_name מגדירים את האפשרות AWS Control Tower.
- metadata.vendor_name מגדירים את האפשרות 'AWS'.
- principal.asset.attribute.cloud.environment מגדירים את הערך "AMAZON_WEB_SERVICES".
- security_result.action צריך להגדיר את הערך "ALLOW" או "BLOCK" בהתאם ל-errorCode.
- security_result.severity הגדירו את הערך INFORMATIONAL.

יומן שינויים

צפייה ביומן השינויים של כלי הניתוח הזה

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.