איסוף יומנים של AWS Elastic Load Balancer
גרסת כלי הניתוח: 22.0
במאמר הזה מוסבר איך אוספים יומנים של AWS Elastic Load Balancer באמצעות הגדרה של פיד ב-Google Security Operations. הכלי לניתוח מחרוזות ממיר את היומנים לפורמט UDM. הוא משתמש בתבניות grok כדי לחלץ שדות מהודעות בפורמט CEF ומהודעות שלא בפורמט CEF, ממפה אותם לשדות UDM ומטפל בהמרות שונות של נתונים, כולל לוגיקה ספציפית לשדות HTTP, TLS ושדות שקשורים לאבטחה. הוא גם מבצע עיבוד מותנה על סמך הנוכחות או הפורמט של שדות מסוימים כדי להבטיח ייצוג מדויק של UDM.
לפני שמתחילים
ודאו שהדרישות המוקדמות הבאות מתקיימות:
- מופע של Google SecOps
- גישה עם הרשאות מיוחדות ל-AWS
הגדרת AWS Elastic Load Balancer
- הפעלת רישום ביומן הגישה כדי לשלוח את יומני הגישה לקטגוריית אחסון ב-S3
- יוצרים Amazon Simple Queue Service (SQS) ומצרפים אותו לקטגוריית אחסון S3.
הגדרת קטגוריה ב-Amazon S3
- נכנסים למסוף AWS.
- יוצרים קטגוריה של Amazon S3 לפי המדריך למשתמש: יצירת קטגוריה
- שומרים את השם של הקטגוריה (לדוגמה,
elb-logs) ואת האזור לשימוש מאוחר יותר. - יוצרים משתמש לפי מדריך המשתמש הזה: יצירת משתמש IAM.
- בוחרים את המשתמש שנוצר.
- לוחצים על הכרטיסייה פרטי כניסה מאובטחים.
- בקטע Access Keys, לוחצים על Create Access Key.
- בוחרים באפשרות שירות של צד שלישי בתור תרחיש השימוש.
- לוחצים על הבא.
- אופציונלי: מוסיפים תג תיאור.
- לוחצים על Create access key (יצירת מפתח גישה).
- לוחצים על Download CSV file כדי לשמור את Access Key ואת Secret Access Key לשימוש מאוחר יותר.
- לוחצים על סיום.
- לוחצים על הכרטיסייה הרשאות.
- בקטע Permissions policies, לוחצים על Add permissions.
- לוחצים על הוספת הרשאות.
- בוחרים באפשרות צירוף מדיניות ישירות.
- מחפשים את המדיניות AmazonS3FullAccess ובוחרים בה.
- לוחצים על הבא.
- לוחצים על הוספת הרשאות.
איך מגדירים את AWS Elastic Load Balancer כדי להפעיל יומני גישה
- נכנסים למסוף הניהול של AWS.
- מחפשים את EC2 ובוחרים בו.
- בתפריט הניווט, לוחצים על Load balancers (מאזני עומסים).
- בוחרים את מאזן העומסים שרוצים להפעיל עבורו את הרישום ביומן.
- בכרטיסייה תיאור, גוללים אל מאפיינים.
- לוחצים על עריכת מאפיינים.
- כדי להפעיל את יומני הגישה, בוחרים באפשרות הפעלה.
- בוחרים את S3 bucket שיצרתם קודם (לדוגמה,
elb-logs). - אופציונלי: מגדירים את הקידומת של היומן כדי לזהות אותו בקלות (לדוגמה,
elb/access-logs/). - לוחצים על Save.
הגדרת פידים
יש שתי נקודות כניסה שונות להגדרת פידים בפלטפורמת Google SecOps:
- הגדרות SIEM > פידים > הוספת פיד חדש
- מרכז התוכן > חבילות תוכן > להתחלה
איך מגדירים את הפיד של AWS Elastic Load Balancer
- לוחצים על החבילה Amazon Cloud Platform.
- מאתרים את סוג היומן AWS Elastic Load Balancer.
מציינים את הערכים בשדות הבאים.
- מציינים את הערכים בשדות הבאים.
- סוג המקור: 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 תווים.
אפשרויות מתקדמות
- שם הפיד: ערך שמזהה את הפיד וממולא מראש.
- מרחב שמות של נכס: מרחב השמות שמשויך לפיד.
- תוויות להעברה: תוויות שמוחלות על כל האירועים מהפיד הזה.
לוחצים על יצירת פיד.
למידע נוסף על הגדרת כמה פידים לסוגים שונים של יומנים בתוך משפחת המוצרים הזו, אפשר לעיין במאמר בנושא הגדרת פידים לפי מוצר.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
actions_executed |
security_result.action |
אם actions_executed הוא waf,forward או waf,redirect, מגדירים את הערך ל-ALLOW. אם actions_executed הוא 'waf', מגדירים אותו כ-'BLOCK'. |
chosen_cert_arn |
principal.user.attribute.labels |
אם chosen_cert_arn מכיל את המילה "session", ממפים את הערך שלו אל security_result.description. אחרת, צריך ליצור תווית עם המפתח "ARN" והערך chosen_cert_arn, ולהוסיף אותה למערך principal.user.attribute.labels. |
chosen_cert_arn |
security_result.description |
אם chosen_cert_arn מכיל את הערך 'session', ממפים את הערך שלו לשדה הזה. |
client_ip |
principal.asset.ip |
ממופים ישירות. |
client_ip |
principal.ip |
ממופים ישירות. |
client_port |
principal.port |
מיפוי ישיר. |
classification |
security_result.rule_name |
ממופה ישירות אם הוא לא ריק או אם הוא מכיל '-'. |
classification_reason |
security_result.summary |
ממופה ישירות אם הוא לא ריק או אם הוא מכיל '-'. |
Customer (CEF) |
principal.user.user_display_name |
ממופה ישירות מהשדה CEF. |
data |
שונים | מנותח באמצעות תבניות grok כדי לחלץ כמה שדות. אפשר לראות שורות אחרות למיפויים ספציפיים. |
data.act (CEF) |
security_result.action_details |
ממופה ישירות מהשדה CEF. |
data.app (CEF) |
principal.application |
ממופה ישירות מהשדה CEF. |
data.ccode (CEF) |
principal.location.country |
ממופה ישירות מהשדה CEF. |
data.cicode (CEF) |
principal.location.city |
ממופה ישירות מהשדה CEF. |
data.cn1 (CEF) |
network.http.response_code |
ממופה ישירות מהשדה CEF. |
data.cpt (CEF) |
principal.port |
ממופה ישירות מהשדה CEF. |
data.cs1Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח Cap Support והערך מ-cs1Label. |
data.cs2Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח "תמיכה ב-JavaScript" והערך מ-cs2Label. |
data.cs3Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח CO Support והערך מ-cs3Label. |
data.cs4Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח VID והערך מ-cs4Label. |
data.cs5Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח clappsig והערך מ-cs5Label. |
data.cs6Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח clapp והערך מ-cs6Label. |
data.cs7Label (CEF) |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח latitude והערך מ-cs7Label. |
data.deviceExternalId (CEF) |
about.asset.asset_id |
משמש כחלק ממזהה הנכס: Incapsula.SIEMintegration:deviceExternalId. |
data.deviceFacility (CEF) |
principal.location.region |
ממופה ישירות מהשדה CEF. |
data.dproc (CEF) |
target.process.command_line |
ממופה ישירות מהשדה CEF. |
data.dst_ip |
target.asset.ip |
ממופים ישירות. |
data.dst_ip |
target.ip |
ממופים ישירות. |
data.dst_port |
target.port |
ממופים ישירות. |
data.elb |
target.resource.id |
מיפוי ישיר. |
data.fileId (CEF) |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח "fileId" והערך מ-fileId. |
data.in (CEF) |
network.received_bytes |
ממופה ישירות מהשדה CEF. |
data.request (CEF) |
target.url |
ממופה ישירות מהשדה CEF. |
data.requestClientApplication (CEF) |
network.http.user_agent |
ממופה ישירות מהשדה CEF. |
data.requestMethod (CEF) |
network.http.method |
ממופה ישירות מהשדה CEF. |
data.severity (CEF) |
security_result.severity |
אם רמת החומרה היא 0, המיפוי הוא לערך LOW. |
data.sip (CEF) |
principal.asset.ip |
ממופה ישירות מהשדה CEF. |
data.sip (CEF) |
principal.ip |
ממופה ישירות מהשדה CEF. |
data.siteid (CEF) |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח siteid והערך מ-siteid. |
data.sourceServiceName (CEF) |
principal.application |
ממופה ישירות מהשדה CEF. |
data.spt (CEF) |
principal.port |
ממופה ישירות מהשדה CEF. |
data.src (CEF) |
principal.ip |
ממופה ישירות מהשדה CEF. |
data.suid (CEF) |
principal.user.userid |
ממופה ישירות מהשדה CEF. |
data.ver (CEF) |
network.tls.version |
החלק של הגרסה מחולץ באמצעות grok וממופה. |
data.ver (CEF) |
network.tls.cipher |
החלק של הצופן מחולץ באמצעות grok וממופה. |
data.xff (CEF) |
principal.ip |
ממופה ישירות מהשדה CEF. |
domain_name |
principal.administrative_domain |
ממופים ישירות. |
http_method |
network.http.method |
ממופים ישירות. |
log_type |
metadata.log_type |
ממופים ישירות. |
message |
שונים | הניתוח מתבצע באמצעות דפוסי grok כדי לחלץ כמה שדות. מיפויים ספציפיים מופיעים בשורות אחרות. |
received_bytes |
network.received_bytes |
מיפוי ישיר. |
redirect_url |
network.application_protocol |
אם redirect_url מתחיל ב-http, הפרוטוקול מחולץ וממופה. |
redirect_url |
target.asset.hostname |
אם המחרוזת redirect_url מתחילה ב-http, שם המארח מחולץ וממופה. |
redirect_url |
target.hostname |
אם המחרוזת redirect_url מתחילה ב-http, שם המארח מחולץ וממופה. |
redirect_url |
target.port |
אם redirect_url מתחיל ב-http, היציאה מופקת וממופה. |
request_creation_time |
metadata.collected_timestamp |
ממופה ישירות אחרי ניתוח התאריך. |
request_processing_time |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח request_processing_time והערך מהשדה הזה. |
response_processing_time |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח response_processing_time והערך מהשדה הזה. |
sent_bytes |
network.sent_bytes |
מיפוי ישיר. |
ssl_cipher |
network.tls.cipher |
ממופים ישירות. |
ssl_protocol |
network.tls.version |
ממופים ישירות. |
target_group_arn |
target.group.group_display_name |
ממופים ישירות. |
target_processing_time |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח target_processing_time והערך מהשדה הזה. |
target_status_code |
target.labels |
יוצר תווית עם המפתח target_status_code והערך מהשדה הזה, ומוסיף אותה למערך target.labels. |
time |
metadata.event_timestamp |
ממופה ישירות אחרי ניתוח התאריך. |
trace_id |
metadata.product_log_id |
מיפוי ישיר אחרי הסרת "Root=". |
url |
network.http.referral_url |
ממופים ישירות. |
user_agent |
network.http.user_agent |
ממופים ישירות. |
| (מנתח) | metadata.event_type |
הערך שמוגדר הוא NETWORK_HTTP אם מזהי המכונות של הגורם המבצע והיעד קיימים, STATUS_UPDATE אם קיים רק מזהה המכונה של הגורם המבצע, GENERIC_EVENT אם לא קיימים כתובת IP של היעד, שם המארח או כתובת ה-IP של היעד, ו-NETWORK_HTTP בכל מקרה אחר. |
| (מנתח) | metadata.product_name |
ההגדרה היא AWS Elastic Load Balancer. |
| (מנתח) | metadata.vendor_name |
מגדירים את הערך AMAZON. |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.