איסוף יומנים של AWS Redshift

גרסת המנתח: 1.0

נתמך ב:

במסמך הזה מוסבר איך להטמיע יומני AWS Redshift ב-Google Security Operations באמצעות Amazon S3.

‫Amazon Redshift הוא שירות מנוהל של מחסן נתונים בענן (data warehouse) בקנה מידה של פטה-בייט מבית Amazon Web Services. הוא מאפשר הרצת שאילתות וניתוחים מהירים במערכי נתונים גדולים באמצעות כלים מבוססי-SQL ואפליקציות לבינה עסקית. יומני Amazon Redshift מתעדים את הפעילות במסד הנתונים, כולל ניסיונות אימות, חיבורים, ניתוקים, שינויים בהגדרות המשתמשים ושאילתות שמופעלות במסד הנתונים. השילוב הזה משתמש בתכונת רישום הביקורת המקורית של Amazon Redshift כדי להעביר קובצי יומן לקטגוריה של S3, ש-Google SecOps מעכלת אותם באמצעות פיד Amazon S3 V2.

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

חשוב לוודא שיש לכם את הדברים הבאים:

  • מופע של Google SecOps
  • גישה עם הרשאות מיוחדות ל-AWS Management Console עם הרשאות לניהול:
    • ‫Amazon Redshift (אשכולות, קבוצות פרמטרים)
    • ‫Amazon S3 (קטגוריות, כללי מדיניות של קטגוריות)
    • ‫AWS IAM (משתמשים, כללי מדיניות)

הגדרת קטגוריית S3 לרישום ביומן ביקורת של Amazon Redshift

‫Amazon Redshift מעלה קבצים של יומני ביקורת לקטגוריית S3. צריך להגדיר את מדיניות קטגוריית S3 כדי לאפשר לשירות Amazon Redshift לכתוב קובצי יומן.

יצירה והגדרה של קטגוריית S3

  1. יוצרים קטגוריה של Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה.
  2. שומרים את השם והאזור של הקטגוריה לעיון בהמשך (לדוגמה, redshift-audit-logs-to-secops).

  3. בוחרים את הקטגוריה שנוצרה במסוף Amazon S3 בכתובת https://console.aws.amazon.com/s3.

  4. לוחצים על הכרטיסייה הרשאות.

  5. בקטע Bucket policy, לוחצים על Edit.

  6. מוסיפים את מדיניות הקטגוריה הבאה (מחליפים את redshift-audit-logs-to-secops בשם הקטגוריה):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Put bucket policy needed for audit logging",
                "Effect": "Allow",
                "Principal": {
                    "Service": "redshift.amazonaws.com"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:GetBucketAcl"
                ],
                "Resource": [
                    "arn:aws:s3:::redshift-audit-logs-to-secops",
                    "arn:aws:s3:::redshift-audit-logs-to-secops/*"
                ]
            }
        ]
    }
    
  7. לוחצים על שמירת השינויים.

הפעלת הפרמטר של יומן פעילות המשתמש

יומן החיבורים ויומן המשתמשים נשמרים אוטומטית כשיומן הביקורת מופעל. כדי לתעד גם את יומן פעילות המשתמש (שמתעד כל שאילתה לפני שהיא מופעלת במסד הנתונים), צריך להפעיל את פרמטר מסד הנתונים enable_user_activity_logging.

  1. נכנסים אל מסוף Amazon Redshift בכתובת https://console.aws.amazon.com/redshiftv2/.
  2. בתפריט הניווט, עוברים אל הגדרות > ניהול עומסי עבודה.
  3. בוחרים את קבוצת הפרמטרים שמשויכת לאשכול.
  4. לוחצים על הכרטיסייה פרמטרים.
  5. לוחצים על עריכת פרמטרים.
  6. מגדירים את ערך הפרמטר enable_user_activity_logging ל-true.
  7. לוחצים על Save.

הפעלת רישום ביומן ביקורת של Amazon Redshift ב-S3

  1. נכנסים אל מסוף Amazon Redshift בכתובת https://console.aws.amazon.com/redshiftv2/.
  2. בתפריט הניווט, לוחצים על Clusters (אשכולות) ובוחרים את האשכול שרוצים להגדיר.
  3. לוחצים על הכרטיסייה מאפיינים.
  4. בחלונית Database configurations, לוחצים על Edit ואז על Edit audit logging.
  5. בדף עריכת רישום ביומן ביקורת, לוחצים על הפעלה.
  6. בקטע Log destination (יעד היומן), בוחרים באפשרות S3 bucket (קטגוריית S3).
  7. בשדה S3 bucket, בוחרים את הקטגוריה שהגדרתם (לדוגמה, redshift-audit-logs-to-secops).
  8. אופציונלי: מזינים קידומת מפתח S3 כדי לארגן את קובצי היומן בתוך הקטגוריה (לדוגמה, audit-logs/).
  9. בוחרים את היומנים שרוצים לייצא:
    • יומן חיבורים – ניסיונות אימות, חיבורים וניתוקים
    • יומן משתמשים – שינויים בהגדרות של משתמשים במסד הנתונים
    • יומן פעילות המשתמשים – כל שאילתה לפני שהיא מופעלת במסד הנתונים
  10. לוחצים על שמירת השינויים.

מידע נוסף זמין במאמר בנושא יומני ביקורת של מסדי נתונים במדריך לניהול Amazon Redshift.

הגדרת משתמש IAM ל-Google SecOps

כדי להטמיע את יומני הביקורת שיוצאו, Google SecOps צריך משתמש IAM עם הרשאת קריאה לקטגוריית S3.

  1. יוצרים משתמש לפי המדריך למשתמש: יצירת משתמש IAM.
  2. בוחרים את המשתמש שנוצר.
  3. לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
  4. בקטע מפתחות גישה, לוחצים על יצירת מפתח גישה.
  5. בוחרים באפשרות שירות של צד שלישי בתור תרחיש שימוש.
  6. לוחצים על הבא.
    • אופציונלי: מוסיפים תג תיאור.
  7. לוחצים על יצירת מפתח גישה.
  8. לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.
  9. לוחצים על סיום.
  10. לוחצים על הכרטיסייה הרשאות.
  11. בקטע Permissions policies, לוחצים על Add permissions.
  12. לוחצים על הוספת הרשאות.
  13. בוחרים באפשרות צירוף מדיניות ישירות.
  14. מחפשים את המדיניות AmazonS3FullAccess.
  15. בוחרים את המדיניות.
  16. לוחצים על הבא.
  17. לוחצים על הוספת הרשאות.

הגדרת פיד ב-Google SecOps להטמעה של יומנים מ-AWS Redshift

  1. עוברים אל SIEM Settings > Feeds.
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. מזינים שם ייחודי בשם הפיד.
  5. בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
  6. בוחרים באפשרות AWS Redshift בתור Log type.
  7. לוחצים על הבא ואז על שליחה.
  8. מציינים ערכים בשדות הבאים:

    • S3 URI: s3://redshift-audit-logs-to-secops/audit-logs/
    • אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה הרצויה.
    • הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון (ברירת המחדל היא 180 ימים)
    • מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3
    • מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3
    • מרחב השמות של הנכס: מרחב השמות של הנכס
    • תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה
  9. לוחצים על הבא ואז על שליחה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
func_label additional.fields ממוזג
lpclagg_label additional.fields ממוזג
lpcltype_label additional.fields ממוזג
msg metadata.description מיפוי ישיר
has_principal metadata.event_type מיפוי: true → STATUS_UPDATE
has_target_resource metadata.event_type מיפוי: true → USER_RESOURCE_ACCESS
has_user metadata.event_type מופה: true ← USER_UNCATEGORIZED
column1 metadata.product_event_type מיפוי ישיר
requestID metadata.product_log_id מיפוי ישיר
column20 network.application_protocol_version מיפוי ישיר
column9 network.session_duration.seconds שינוי שם/מיפוי
column21 network.session_id מיפוי ישיר
xid network.session_id מיפוי ישיר
column11 network.tls.cipher מיפוי ישיר
column10 network.tls.version מיפוי ישיר
column16 principal.application מיפוי ישיר
column3 principal.asset.ip ממוזג
log_event.src_ip principal.asset.ip ממוזג
column3 principal.hostname מיפוי ישיר
column3 principal.ip ממוזג
log_event.src_ip principal.ip ממוזג
region principal.location.name מיפוי ישיר
column17 principal.platform_version מיפוי ישיר
column4 principal.port מיפוי ישיר
column5 principal.process.pid מיפוי ישיר
pid principal.process.pid מיפוי ישיר
accountID principal.user.userid מיפוי ישיר
user_id principal.user.userid מיפוי ישיר
authmethod_label security_result.detection_fields ממוזג
compression_label security_result.detection_fields ממוזג
driver_version_label security_result.detection_fields ממוזג
iamauthguid_label security_result.detection_fields ממוזג
mtu_label security_result.detection_fields ממוזג
plugin_name_label security_result.detection_fields ממוזג
ssl_compression_label security_result.detection_fields ממוזג
ssl_expansion_label security_result.detection_fields ממוזג
level security_result.severity מיפוי: (?i)Info ← INFORMATIONAL, ‏ (?i)Error ← ERROR, ‏ (?i)Warning ← MEDIUM
file target.file.full_path מיפוי ישיר
expected_bucket_label target.resource.attribute.labels ממוזג
expected_s3_prefix_label target.resource.attribute.labels ממוזג
sql_query_label target.resource.attribute.labels ממוזג
time_zone_label target.resource.attribute.labels ממוזג
ClusterIdentifier target.resource.name מיפוי ישיר
column6 target.resource.name מיפוי ישיר
db target.resource.name מיפוי ישיר
column7 target.user.user_display_name מיפוי ישיר
user target.user.user_display_name מיפוי ישיר
לא רלוונטי metadata.event_type קבוע: USER_RESOURCE_ACCESS
לא רלוונטי security_result.severity קבוע: INFORMATIONAL
לא רלוונטי target.resource.type קבוע: DATABASE

יומן שינויים

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

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