איסוף יומנים של Thinkst Canary
במאמר הזה מוסבר איך לאסוף יומנים של Thinkst Canary באמצעות הגדרת פיד של Google Security Operations באמצעות Third Party API.
Thinkst Canary מספק זיהוי איומים מבוסס-הטעיה: חומרה, מכונות וירטואליות וענן Canaries מתחזים לנכסים אמיתיים, ו-Canarytokens פועלים כחוטי השהיה בקבצים, בפרטי כניסה ובכתובות URL. כשפורץ נוגע ב-Canary או מפעיל טוקן, Canary Console מתעד אירוע. הפיד מאחזר את האירועים האלה מ-Console API.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- גישה עם הרשאות ל-Thinkst Canary Console
הגדרת ה-API בארכיטקטורת REST ב-Thinkst Canary
- נכנסים ל-Thinkst Canary Console (
https://<DOMAIN_HASH>.canary.tools). - לוחצים על סמל גלגל השיניים בפינה השמאלית העליונה ובוחרים באפשרות הגדרות גלובליות.
- בתפריט, לוחצים על API.
- אם ה-API מושבת, לוחצים על Enable API (הפעלת ה-API).
משתמשים במפתח ה-API שמוגדר כברירת מחדל או לוחצים על + הוספת מפתח API חדש כדי ליצור מפתח ייעודי:
- סוג מפתח ה-API: בוחרים באפשרות קריאה בלבד. זה מספיק לאיסוף יומנים.
- הערה: מזינים שם למפתח (לדוגמה,
Google SecOps Integration).
מעתיקים את הפרטים הבאים ושומרים אותם במקום בטוח:
- גיבוב (Hash) של הדומיין: המזהה של המסוף. שם המארח של ה-API הוא
<DOMAIN_HASH>.canary.tools. - Auth Token: מפתח ה-API שמשמש לאימות בקשות.
- גיבוב (Hash) של הדומיין: המזהה של המסוף. שם המארח של ה-API הוא
הגדרת פיד ב-Google SecOps להטמעה של יומנים מ-Thinkst Canary
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Thinkst Canary Logs). - בוחרים באפשרות Third Party API (API של צד שלישי) בתור Source type (סוג המקור).
- בוחרים באפשרות Thinkst Canary בתור סוג היומן.
- לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
- Authentication HTTP header: האסימון שנוצר קודם, בפורמט
auth_token:<TOKEN>(לדוגמה,auth_token:AAAABBBBCCCC111122223333). - שם המארח של ה-API: שם הדומיין שמוגדר במלואו של נקודת קצה ל-API בארכיטקטורת REST של Thinkst Canary, בפורמט
<DOMAIN_HASH>.canary.tools(לדוגמה,myinstance.canary.tools). - מרחב השמות של הנכס: מרחב השמות של הנכס
- תוויות להוספה: התווית שתתווסף לאירועים מהפיד הזה
- Authentication HTTP header: האסימון שנוצר קודם, בפורמט
לוחצים על הבא.
בודקים את ההגדרות של הפיד החדש במסך סיום ולוחצים על שליחה.
אחרי ההגדרה, הפיד מתחיל לאחזר יומנים ממופע Thinkst Canary בסדר כרונולוגי.
עדכונים על אירועים ושליחה מחדש
ממשק ה-API של Canary Console מחזיר אירוע שוב בכל פעם שהאירוע מתעדכן, ולא רק כשהוא נוצר. Canary מאגדת אירועים דומים עוקבים מאותו מקור לאירוע הקיים. לדוגמה, כל ניסיון של מתקפת כוח ברוטלי הופך לאירוע בתוך אירוע אחד. שינויים אחרים באירוע יכולים גם לגרום לשליחה מחדש.
אלה ההתנהגויות הצפויות ב-Google SecOps:
- תקריות שכבר נמסרו מופיעות מחדש בפיד אחרי שהן מתעדכנות.
- אירוע שנשלח מחדש יכול להופיע עם חותמת זמן של אירוע שהתרחש הרבה לפני הרגע שבו הוא נשלח מחדש. הסיבה לכך היא שהכלי לניתוח מחלץ את חותמות הזמן של האירועים מזמן היצירה המקורי של האירוע ומזמני ההתרחשות של האירועים בחבילה, ולא מזמן העדכון.
המסירה החוזרת עצמה היא ההתנהגות המתועדת של ה-API לאיסוף אירועים (הוא מסנן לפי מונה העדכונים של האירוע), ולא אובדן נתונים או פגם במנתח.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
_canary_uptime_label |
additional.fields |
ממוזג |
desc_events_n_func_code_label |
additional.fields |
ממוזג |
desc_events_n_func_name_label |
additional.fields |
ממוזג |
desc_events_n_sfunc_code_label |
additional.fields |
ממוזג |
desc_events_n_sfunc_name_label |
additional.fields |
ממוזג |
desc_events_n_timestamp_std_label |
additional.fields |
ממוזג |
desc_events_n_unit_id_label |
additional.fields |
ממוזג |
description_created_std_label |
additional.fields |
ממוזג |
description_events_list_label |
additional.fields |
ממוזג |
event_data_list |
additional.fields |
ממוזג |
event_descrip_label |
additional.fields |
ממוזג |
events_url_label |
additional.fields |
ממוזג |
local_time_label |
additional.fields |
ממוזג |
locale_label |
additional.fields |
ממוזג |
lt_label |
additional.fields |
ממוזג |
offline_text_label |
additional.fields |
ממוזג |
updated_label |
additional.fields |
ממוזג |
updated_std_label |
additional.fields |
ממוזג |
_auth |
extensions.auth |
שם שונה/מיפוי |
_metadata |
metadata |
שם שונה/מיפוי |
_event_time |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: UNIX |
_metadata_event_timestamp |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: UNIX |
description.created_std |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: UNIX_MS |
elem.timestamp_std |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: yyyy-MM-dd HH:mm:ss ZZZ+0000 |
updated |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: EEE, dd MMM yyyy HH:mm:ss ZZZ |
updated_std |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: UNIX_MS |
format |
metadata.event_type |
מיפוי: grok ← STATUS_UPDATE, grok ← GENERIC_EVENT |
has_principal_hostname |
metadata.event_type |
מיפוי: true → STATUS_UPDATE |
_network |
network |
שם שונה/מיפוי |
_observer |
observer |
שם שונה/מיפוי |
_principal |
principal |
שם שונה/מיפוי |
ThinkstCanary_Process |
principal.application |
מיפוי ישיר |
ThinkstCanary_Process |
principal.asset.hostname |
מיפוי ישיר |
ThinkstCanary_Hostname |
principal.hostname |
מיפוי ישיר |
_md_product_event_type |
security_result |
ערכים ממופים (10 סך הכול, למשל Shared File Opened ← _security_result, Host Port Scan ← ... |
_security_result |
security_result |
ממוזג |
format |
security_result |
מיפוי: kv ← _security_result, json ← _security_result |
_source |
src |
שם שונה/מיפוי |
_target |
target |
שם שונה/מיפוי |
| לא רלוונטי | metadata.event_type |
קבוע: STATUS_UPDATE |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.