איסוף יומנים של 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
- יוצרים קטגוריה ב-Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה.
שומרים את השם של ה-bucket ואת האזור לעיון בעתיד (לדוגמה,
redshift-audit-logs-to-secops).בוחרים את הקטגוריה שנוצרה במסוף Amazon S3 בכתובת https://console.aws.amazon.com/s3.
לוחצים על הכרטיסייה Permissions (הרשאות).
בקטע Bucket policy, לוחצים על Edit.
מוסיפים את מדיניות הקטגוריה הבאה (מחליפים את
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/*" ] } ] }לוחצים על שמירת השינויים.
הפעלת הפרמטר של יומן פעילות המשתמשים
יומן החיבורים ויומן המשתמשים נשמרים אוטומטית כשמפעילים את יומן הביקורת. כדי לתעד גם את יומן פעילות המשתמש (שמתעד כל שאילתה לפני שהיא מופעלת במסד הנתונים), צריך להפעיל את פרמטר מסד הנתונים enable_user_activity_logging.
- נכנסים אל מסוף Amazon Redshift בכתובת https://console.aws.amazon.com/redshiftv2/.
- בתפריט הניווט, עוברים אל הגדרות > ניהול עומסי עבודה.
- בוחרים את קבוצת הפרמטרים שמשויכת לאשכול.
- לוחצים על הכרטיסייה פרמטרים.
- לוחצים על עריכת פרמטרים.
- מגדירים את ערך הפרמטר enable_user_activity_logging ל-true.
לוחצים על Save.
הפעלת רישום ביומן ביקורת של Amazon Redshift ב-S3
- נכנסים אל מסוף Amazon Redshift בכתובת https://console.aws.amazon.com/redshiftv2/.
- בתפריט הניווט, בוחרים באפשרות Clusters (אשכולות) ואז בוחרים את האשכול שרוצים להגדיר.
- לוחצים על הכרטיסייה מאפיינים.
- בחלונית Database configurations (הגדרות מסד הנתונים), לוחצים על Edit (עריכה) ואז על Edit audit logging (עריכת רישום ביקורת).
- בדף עריכת יומן ביקורת, לוחצים על הפעלה.
- בקטע Log destination (יעד היומן), בוחרים באפשרות S3 bucket (קטגוריה של S3).
- בשדה S3 bucket (קטגוריית S3), בוחרים את הקטגוריה שהגדרתם (לדוגמה,
redshift-audit-logs-to-secops). - אופציונלי: מזינים קידומת של מפתח S3 כדי לארגן את קובצי היומן בתוך הדלי (לדוגמה,
audit-logs/). - בוחרים את היומנים שרוצים לייצא:
- יומן החיבורים – ניסיונות אימות, חיבורים וניתוקים
- יומן משתמשים – שינויים בהגדרות של משתמשים במסד הנתונים
- יומן פעילות המשתמשים – כל שאילתה לפני שהיא מופעלת במסד הנתונים
- לוחצים על שמירת השינויים.
מידע נוסף זמין במאמר בנושא יומני ביקורת של מסדי נתונים במדריך לניהול Amazon Redshift.
הגדרת משתמש IAM ל-Google SecOps
כדי להטמיע את יומני הביקורת המיוצאים, ל-Google SecOps צריך להיות משתמש IAM עם גישת קריאה ל-S3 bucket.
- יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
- בוחרים את המשתמש שנוצר.
- לוחצים על הכרטיסייה פרטי כניסה לאבטחה.
- בקטע מפתחות גישה, לוחצים על יצירת מפתח גישה.
- בוחרים באפשרות שירות של צד שלישי בתור תרחיש שימוש.
- לוחצים על הבא.
- אופציונלי: מוסיפים תג תיאור.
- לוחצים על Create access key (יצירת מפתח גישה).
- לוחצים על הורדת קובץ CSV כדי לשמור את מפתח הגישה ואת מפתח הגישה הסודי לעיון עתידי.
- לוחצים על סיום.
- לוחצים על הכרטיסייה הרשאות.
- בקטע Permissions policies, לוחצים על Add permissions.
- לוחצים על הוספת הרשאות.
- בוחרים באפשרות צירוף מדיניות ישירות.
- מחפשים את המדיניות AmazonS3FullAccess.
- בוחרים את המדיניות.
- לוחצים על הבא.
- לוחצים על הוספת הרשאות.
הגדרת פיד ב-Google SecOps להטמעה של יומנים מ-AWS Redshift
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- מזינים שם ייחודי בשם הפיד.
- בוחרים באפשרות Amazon S3 V2 בתור סוג המקור.
- בוחרים באפשרות AWS Redshift בתור סוג היומן.
- לוחצים על הבא ואז על שליחה.
מציינים ערכים בשדות הבאים:
- S3 URI:
s3://redshift-audit-logs-to-secops/audit-logs/ - אפשרות למחיקת מקור: בוחרים את אפשרות המחיקה לפי ההעדפה שלכם
- הגיל המקסימלי של הקובץ: כולל קבצים שעברו שינוי במספר הימים האחרון (ברירת המחדל היא 180 ימים)
- מזהה מפתח הגישה: מפתח הגישה של המשתמש עם גישה לקטגוריית S3
- מפתח גישה סודי: מפתח סודי של משתמש עם גישה לקטגוריית S3
- מרחב שמות של נכס: מרחב השמות של הנכס
- תוויות להוספה: התווית שתתווסף לאירועים מהפיד הזה
- S3 URI:
לוחצים על הבא ואז על שליחה.
טבלת מיפוי 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.