איסוף יומנים של 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 לניהול:
    • Amazon Redshift (אשכולות, קבוצות פרמטרים)
    • Amazon S3 (קטגוריות, מדיניות קטגוריות)
    • AWS IAM (משתמשים, כללי מדיניות)

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

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

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

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

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

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

  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 (קטגוריית S3), בוחרים את הקטגוריה שהגדרתם (לדוגמה, redshift-audit-logs-to-secops).
  8. אופציונלי: מזינים קידומת של מפתח S3 כדי לארגן את קובצי היומן בתוך הדלי (לדוגמה, audit-logs/).
  9. בוחרים את היומנים שרוצים לייצא:
    • יומן החיבורים – ניסיונות אימות, חיבורים וניתוקים
    • יומן משתמשים – שינויים בהגדרות של משתמשים במסד הנתונים
    • יומן פעילות המשתמשים – כל שאילתה לפני שהיא מופעלת במסד הנתונים
  10. לוחצים על שמירת השינויים.

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

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

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

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

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

  1. עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. מזינים שם ייחודי בשם הפיד.
  5. בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
  6. בוחרים באפשרות AWS Redshift בתור סוג היומן.
  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 מיפוי: trueSTATUS_UPDATE
has_target_resource metadata.event_type מיפוי: trueUSER_RESOURCE_ACCESS
has_user metadata.event_type מיפוי: trueUSER_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)InfoINFORMATIONAL, ‏ (?i)ErrorERROR, ‏ (?i)WarningMEDIUM
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.