איסוף יומני ביקורת של Netwrix Auditor
במאמר הזה מוסבר איך להטמיע יומני ביקורת של Netwrix Auditor ב-Google Security Operations באמצעות Google Cloud Storage V2.
Netwrix Auditor היא פלטפורמה שמאפשרת לנתח את התנהגות המשתמשים ולצמצם את הסיכונים, וכך לשלוט בשינויים, בהגדרות ובגישה בסביבות IT היברידיות. הפלטפורמה מספקת ניתוח אבטחה כדי לזהות חריגות בהתנהגות המשתמשים ולחקור דפוסי איומים לפני שמתרחש פרצה באבטחת מידע. הפלטפורמה כוללת ממשק API לשילוב RESTful, ומספקת תצוגה ובקרה על כל מערכות ה-IT המקומיות או מבוססות-הענן שלכם באופן מאוחד.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- פרויקט ב-GCP עם ממשקי ה-API של Cloud Storage, Cloud Run, Pub/Sub ו-Cloud Scheduler מופעלים
- הרשאות ליצירה ולניהול של קטגוריות ב-GCS
- הרשאות לניהול מדיניות IAM בקטגוריות GCS
- הרשאות ליצירת שירותי Cloud Run, נושאי Pub/Sub ומשימות ב-Cloud Scheduler
- הרשאת אדמין לשרת Netwrix Auditor
- חשבון בדומיין Windows עם הרשאות מתאימות לגישה ל-API
- שרת Netwrix Auditor עם Integration API מופעל (מופעל כברירת מחדל)
- מסד נתונים של ביקורת שהוגדר ב-Netwrix Auditor
- קישוריות לרשת מפונקציית Cloud Run לשרת Netwrix Auditor ביציאה 9699 (ברירת מחדל)
הגדרת הגישה ל-API של Netwrix Auditor
כדי לאפשר לפונקציית Cloud Run לאחזר רשומות של פעילות, צריך לוודא שה-Integration API מופעל וליצור חשבון דומיין של Windows עם התפקיד המתאים ב-Netwrix Auditor.
איך מוודאים ש-Integration API מופעל
- במחשב שבו מותקן Netwrix Auditor Server, מפעילים את Netwrix Auditor.
- עוברים אל הגדרות > שילובים.
- מוודאים שהאפשרות Leverage Integration API מופעלת.
- שימו לב למספר ה-Port (ברירת המחדל היא
9699). אם אתם צריכים לשנות את היציאה:
- בקטע הגדרות API, לוחצים על שינוי.
- מציינים מספר יציאה חדש.
- לוחצים על OK.
יצירת חשבון שירות לגישה ל-API
- בבקר הדומיין של Windows, פותחים את Active Directory Users and Computers (משתמשים ומחשבים ב-Active Directory).
- עוברים ליחידה הארגונית שבה רוצים ליצור את חשבון השירות.
- לוחצים לחיצה ימנית על היחידה הארגונית > חדש > משתמש.
- בשדה שם פרטי, מזינים
Chronicle Integration. - בשדה User logon name (שם הכניסה של המשתמש), מזינים
chronicle-api(או את שם המשתמש המועדף). - לוחצים על הבא.
- מזינים סיסמה חזקה וקובעים את הגדרות הסיסמה בהתאם למדיניות של הארגון.
- מבטלים את הסימון של התיבה המשתמש חייב לשנות את הסיסמה בכניסה הבאה.
- בוחרים באפשרות הסיסמה אף פעם לא תפוג (מומלץ לחשבונות שירות).
- לוחצים על הבא > סיום.
הקצאת התפקיד "בודק גלובלי"
- בחלון הראשי של Netwrix Auditor, עוברים אל Monitoring Plans (תוכניות מעקב).
- בעץ של תוכניות המעקב, בוחרים באפשרות All monitoring plans (כל תוכניות המעקב) (תיקיית הבסיס).
- לוחצים על הענקת הרשאה.
- בתיבת הדו-שיח הענקת הרשאות, לוחצים על הוספת משתמש.
- בתיבת הדו-שיח Select User or Group:
- לוחצים על עיון.
- בשדה Enter the object name to select (הזנת שם האובייקט לבחירה), מזינים את שם המשתמש
chronicle-api. - לוחצים על בדיקת שמות כדי לאמת את החשבון.
- לוחצים על OK.
- בתפריט הנפתח תפקיד, בוחרים באפשרות בודק גלובלי.
- לוחצים על OK.
לוחצים על Save.
תיעוד פרטי הכניסה ל-API
כדי להגדיר את משתני הסביבה של פונקציית Cloud Run, צריך לרשום את המידע הבא:
- שם משתמש: חשבון הדומיין בפורמט
DOMAIN\username(לדוגמה,ENTERPRISE\chronicle-api) - סיסמה: הסיסמה של חשבון השירות
- שם המארח: שם הדומיין שמוגדר במלואו (FQDN) או כתובת ה-IP של שרת Netwrix Auditor (לדוגמה,
auditor.enterprise.localאו172.28.6.15) יציאה: היציאה של Integration API (ברירת המחדל היא
9699)
אימות ההרשאות
כדי לוודא שיש לחשבון את ההרשאות הנדרשות:
- ב-Netwrix Auditor, עוברים אל תוכניות מעקב.
- לוחצים על כל תוכניות המעקב.
- לוחצים על הענקת גישה.
- מוודאים שחשבון
chronicle-apiמופיע עם התפקיד Global reviewer (בודק גלובלי). - אם החשבון לא מופיע, פועלים לפי השלבים שלמעלה בקטע הקצאת תפקיד של בודק/ת גלובלי/ת.
בדיקת הגישה ל-API
לפני שממשיכים בתהליך השילוב, בודקים את פרטי הכניסה:
# Replace with your actual values NETWRIX_HOST="auditor.enterprise.local" NETWRIX_PORT="9699" NETWRIX_USER="ENTERPRISE\\chronicle-api" NETWRIX_PASS="your-password" # Test API access (retrieve first batch of activity records) curl -k --ntlm -u "${NETWRIX_USER}:${NETWRIX_PASS}" \ "https://${NETWRIX_HOST}:${NETWRIX_PORT}/netwrix/api/v1/activity_records/enum" \ -H "Content-Type: application/json" \ -H "Accept: application/json"
תגובה מוצלחת מחזירה אובייקט JSON שמכיל מערך של רשומות פעילות ו-ContinuationMark עבור חלוקה לעמודים.
יצירת קטגוריה של Google Cloud Storage
- נכנסים אל מסוף Google Cloud.
- בוחרים פרויקט או יוצרים פרויקט חדש.
- בתפריט הניווט, נכנסים ל-Cloud Storage > Buckets.
- לוחצים על Create bucket.
מספקים את פרטי ההגדרה הבאים:
הגדרה ערך Name your bucket מזינים שם ייחודי גלובלית (לדוגמה, netwrix-auditor-logs)סוג המיקום בוחרים לפי הצרכים (אזור, שני אזורים, מספר אזורים) Location בוחרים את המיקום (לדוגמה, us-central1)סוג אחסון (storage class) רגיל (מומלץ ליומנים שמתבצעת אליהם גישה לעיתים קרובות) בקרת גישה אחידה (מומלץ) כלי הגנה אופציונלי: הפעלת ניהול גרסאות של אובייקטים או מדיניות שמירת נתונים לוחצים על יצירה.
יצירת חשבון שירות לפונקציית Cloud Run
- במסוף GCP, עוברים אל IAM & Admin > Service Accounts.
- לוחצים על Create Service Account.
- מזינים את פרטי ההגדרה הבאים:
- Service account name: מזינים
netwrix-audit-collector-sa - Service account description: מזינים
Service account for Cloud Run function to collect Netwrix Auditor logs
- Service account name: מזינים
- לוחצים על יצירה והמשך.
- בקטע Grant this service account access to project, מוסיפים את התפקידים הבאים:
- לוחצים על בחירת תפקיד.
- מחפשים את התפקיד Storage Object Admin ובוחרים אותו.
- לוחצים על + הוספת תפקיד.
- מחפשים את התפקיד Cloud Run Invoker ובוחרים בו.
- לוחצים על + הוספת תפקיד נוסף.
- מחפשים את התפקיד Cloud Functions Invoker ובוחרים אותו.
- לוחצים על Continue.
- לוחצים על סיום.
מתן הרשאות IAM בקטגוריית GCS
- נכנסים לדף Cloud Storage > Buckets.
- לוחצים על שם הקטגוריה (
netwrix-auditor-logs). - עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- הוספת חשבונות משתמשים: מזינים את כתובת האימייל של חשבון השירות (
netwrix-audit-collector-sa@PROJECT_ID.iam.gserviceaccount.com) - הקצאת תפקידים: בוחרים באפשרות אדמין של אובייקטים באחסון.
- הוספת חשבונות משתמשים: מזינים את כתובת האימייל של חשבון השירות (
- לוחצים על Save.
יצירת נושא Pub/Sub
- במסוף GCP, עוברים אל Pub/Sub > Topics.
- לוחצים על Create topic.
- מזינים את פרטי ההגדרה הבאים:
- מזהה הנושא: מזינים
netwrix-audit-trigger - השארת ההגדרות האחרות כברירת מחדל
- מזהה הנושא: מזינים
- לוחצים על יצירה.
יצירת פונקציית Cloud Run לאיסוף יומנים
הפונקציה Cloud Run תופעל על ידי הודעות Pub/Sub מ-Cloud Scheduler כדי לאחזר רשומות פעילות מ-Netwrix Auditor Integration API ולכתוב אותן ל-GCS.
- במסוף GCP, נכנסים ל-Cloud Run.
- לוחצים על Create service.
- בוחרים באפשרות Function (שימוש בעורך ישיר כדי ליצור פונקציה).
בקטע Configure, מזינים את פרטי ההגדרה הבאים:
הגדרה ערך שם השירות netwrix-audit-collectorאזור בוחרים אזור שתואם ל-GCS Bucket (לדוגמה, us-central1)זמן ריצה בוחרים באפשרות Python 3.12 או גרסה עדכנית יותר. בקטע טריגר (אופציונלי):
- לוחצים על + הוספת טריגר.
- בוחרים באפשרות Cloud Pub/Sub.
- בקטע Select a Cloud Pub/Sub topic, בוחרים באפשרות
netwrix-audit-trigger. - לוחצים על Save.
בקטע Authentication:
- לוחצים על דרישת אימות.
- בודקים את ניהול הזהויות והרשאות הגישה (IAM).
גוללים למטה ומרחיבים את Containers, Networking, Security.
עוברים לכרטיסייה אבטחה:
- חשבון שירות: בוחרים באפשרות
netwrix-audit-collector-sa
- חשבון שירות: בוחרים באפשרות
עוברים לכרטיסייה Containers:
- לוחצים על Variables & Secrets (משתנים וסודות).
- לוחצים על + Add variable לכל משתנה סביבה:
שם המשתנה ערך לדוגמה תיאור GCS_BUCKETnetwrix-auditor-logsשם קטגוריית GCS GCS_PREFIXnetwrix-auditקידומת לקובצי יומן STATE_KEYnetwrix-audit/state.jsonנתיב קובץ תמונת המצב NETWRIX_HOSTauditor.enterprise.localה-FQDN או כתובת ה-IP של Netwrix Auditor Server NETWRIX_PORT9699יציאת API לשילוב NETWRIX_USERENTERPRISE\chronicle-apiחשבון דומיין בפורמט DOMAIN\username NETWRIX_PASSyour-passwordסיסמה של חשבון שירות MAX_RECORDS10000מספר הרשומות המקסימלי בכל הפעלה LOOKBACK_HOURS24תקופת המבט לאחור הראשונית בקטע Variables & Secrets, גוללים למטה אל Requests:
- Request timeout: מזינים
600שניות (10 דקות)
- Request timeout: מזינים
עוברים לכרטיסייה הגדרות:
- בקטע Resources:
- זיכרון: בוחרים באפשרות 512 MiB או יותר
- מעבד (CPU): בוחרים באפשרות 1.
- בקטע Resources:
בקטע שינוי קנה מידה של העריכה:
- Minimum number of instances: מזינים
0 - Maximum number of instances: מזינים
100
- Minimum number of instances: מזינים
לוחצים על יצירה.
ממתינים ליצירת השירות (1-2 דקות).
אחרי שיוצרים את השירות, עורך הקוד המוטבע נפתח באופן אוטומטי.
הוספת קוד פונקציה
- מזינים main בשדה Entry point.
בעורך הקוד, יוצרים שני קבצים:
- main.py:
import functions_framework from google.cloud import storage import json import os import requests from requests_ntlm import HttpNtlmAuth from datetime import datetime, timezone, timedelta import time import urllib3 # Suppress insecure HTTPS warnings for self-signed certificates urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # Initialize Storage client storage_client = storage.Client() # Environment variables GCS_BUCKET = os.environ.get('GCS_BUCKET') GCS_PREFIX = os.environ.get('GCS_PREFIX', 'netwrix-audit') STATE_KEY = os.environ.get('STATE_KEY', 'netwrix-audit/state.json') NETWRIX_HOST = os.environ.get('NETWRIX_HOST') NETWRIX_PORT = os.environ.get('NETWRIX_PORT', '9699') NETWRIX_USER = os.environ.get('NETWRIX_USER') NETWRIX_PASS = os.environ.get('NETWRIX_PASS') MAX_RECORDS = int(os.environ.get('MAX_RECORDS', '10000')) LOOKBACK_HOURS = int(os.environ.get('LOOKBACK_HOURS', '24')) def parse_datetime(value): """Parse ISO datetime string to datetime object.""" if value.endswith("Z"): value = value[:-1] + "+00:00" return datetime.fromisoformat(value) @functions_framework.cloud_event def main(cloud_event): """ Cloud Run function triggered by Pub/Sub to fetch Netwrix Auditor activity records and write to GCS. Args: cloud_event: CloudEvent object containing Pub/Sub message """ if not all([GCS_BUCKET, NETWRIX_HOST, NETWRIX_USER, NETWRIX_PASS]): print('Error: Missing required environment variables') return try: bucket = storage_client.bucket(GCS_BUCKET) state = load_state(bucket) now = datetime.now(timezone.utc) if isinstance(state, dict) and state.get('last_event_time'): try: last_time = parse_datetime(state['last_event_time']) last_time = last_time - timedelta(minutes=2) except Exception as e: print(f"Warning: Could not parse last_event_time: {e}") last_time = now - timedelta(hours=LOOKBACK_HOURS) else: last_time = now - timedelta(hours=LOOKBACK_HOURS) print(f"Fetching activity records from {last_time.isoformat()} " f"to {now.isoformat()}") records, newest_event_time = fetch_activity_records( last_time, now ) if not records: print("No new activity records found.") save_state(bucket, now.isoformat()) return timestamp = now.strftime('%Y%m%d_%H%M%S') object_key = ( f"{GCS_PREFIX}/netwrix_audit_{timestamp}.ndjson" ) blob = bucket.blob(object_key) ndjson = '\n'.join( [json.dumps(r, ensure_ascii=False, default=str) for r in records] ) + '\n' blob.upload_from_string( ndjson, content_type='application/x-ndjson' ) print(f"Wrote {len(records)} records to " f"gs://{GCS_BUCKET}/{object_key}") if newest_event_time: save_state(bucket, newest_event_time) else: save_state(bucket, now.isoformat()) print(f"Successfully processed {len(records)} records") except Exception as e: print(f'Error processing activity records: {str(e)}') raise def load_state(bucket): """Load state from GCS.""" try: blob = bucket.blob(STATE_KEY) if blob.exists(): return json.loads(blob.download_as_text()) except Exception as e: print(f"Warning: Could not load state: {e}") return {} def save_state(bucket, last_event_time_iso): """Save the last event timestamp to GCS state file.""" try: state = { 'last_event_time': last_event_time_iso, 'last_run': datetime.now(timezone.utc).isoformat() } blob = bucket.blob(STATE_KEY) blob.upload_from_string( json.dumps(state, indent=2), content_type='application/json' ) print(f"Saved state: last_event_time={last_event_time_iso}") except Exception as e: print(f"Warning: Could not save state: {e}") def fetch_activity_records(start_time, end_time): """ Fetch activity records from Netwrix Auditor Integration API using the enum endpoint with continuation mark pagination. The API returns up to 1000 records per request. Subsequent requests include the ContinuationMark from the previous response to retrieve the next batch. Args: start_time: Start time for filtering records end_time: End time for filtering records Returns: Tuple of (records list, newest_event_time ISO string) """ base_url = ( f"https://{NETWRIX_HOST}:{NETWRIX_PORT}" f"/netwrix/api/v1/activity_records/enum" ) auth = HttpNtlmAuth(NETWRIX_USER, NETWRIX_PASS) session = requests.Session() session.auth = auth session.verify = False session.headers.update({ 'Content-Type': 'application/json', 'Accept': 'application/json', 'User-Agent': 'GoogleSecOps-NetwrixCollector/1.0' }) all_records = [] newest_time = None continuation_mark = None page_num = 0 backoff = 1.0 while True: page_num += 1 if len(all_records) >= MAX_RECORDS: print(f"Reached max_records limit ({MAX_RECORDS})") break try: if continuation_mark: response = session.post( base_url, json={"ContinuationMark": continuation_mark}, timeout=(10, 60) ) else: response = session.get( base_url, timeout=(10, 60) ) if response.status_code == 429: retry_after = int( response.headers.get( 'Retry-After', str(int(backoff)) ) ) print(f"Rate limited (429). Retrying after " f"{retry_after}s...") time.sleep(retry_after) backoff = min(backoff * 2, 30.0) continue backoff = 1.0 if response.status_code != 200: print(f"HTTP Error: {response.status_code}") print(f"Response body: {response.text}") return all_records, newest_time data = response.json() page_results = data.get('ActivityRecordList', []) continuation_mark = data.get('ContinuationMark') if not page_results: print("No more activity records (empty page)") break # Filter records by time window filtered = [] for record in page_results: when = record.get('When') if when: try: record_time = parse_datetime(when) if start_time <= record_time <= end_time: filtered.append(record) if (newest_time is None or record_time > parse_datetime(newest_time)): newest_time = when except Exception as e: print(f"Warning: Could not parse " f"record time: {e}") filtered.append(record) else: filtered.append(record) print(f"Page {page_num}: Retrieved " f"{len(page_results)} records, " f"{len(filtered)} within time window") all_records.extend(filtered) if not continuation_mark: print("No more pages (no ContinuationMark)") break except requests.exceptions.Timeout: print(f"Request timeout on page {page_num}") return all_records, newest_time except Exception as e: print(f"Error fetching activity records: {e}") return all_records, newest_time print(f"Retrieved {len(all_records)} total records " f"from {page_num} pages") return all_records, newest_time- requirements.txt:
functions-framework==3.* google-cloud-storage==2.* requests>=2.31.0 requests-ntlm>=1.2.0לוחצים על Deploy כדי לשמור ולפרוס את הפונקציה.
ממתינים לסיום הפריסה (2-3 דקות).
יצירת משימה ב-Cloud Scheduler
- במסוף GCP, נכנסים ל-Cloud Scheduler.
- לוחצים על Create Job (יצירת משימה).
ממלאים את פרטי ההגדרה הבאים:
הגדרה ערך שם netwrix-audit-collector-hourlyאזור בחירה באותו אזור כמו פונקציית Cloud Run תדירות 0 * * * *(כל שעה, בדיוק בשעה)אזור זמן בחירת אזור זמן (מומלץ לבחור UTC) סוג היעד Pub/Sub נושא בחירת netwrix-audit-triggerגוף ההודעה {}(אובייקט JSON ריק)לוחצים על יצירה.
אפשרויות לתדירות התזמון
בוחרים את התדירות בהתאם לנפח היומן ולדרישות לגבי זמן האחזור:
| תדירות | ביטוי Cron | תרחיש לדוגמה |
|---|---|---|
| כל 5 דקות | */5 * * * * |
נפח גבוה, זמן אחזור נמוך |
| כל 15 דקות | */15 * * * * |
נפח חיפושים בינוני |
| כל שעה | 0 * * * * |
רגיל (מומלץ) |
| כל 6 שעות | 0 */6 * * * |
נפח נמוך, עיבוד באצווה |
| יומי | 0 0 * * * |
איסוף נתונים היסטוריים |
בדיקת השילוב
- במסוף Cloud Scheduler, מאתרים את המשימה (
netwrix-audit-collector-hourly). - לוחצים על Force run כדי להפעיל את המשימה באופן ידני.
- מחכים כמה שניות.
- עוברים אל Cloud Run > Services.
- לוחצים על
netwrix-audit-collector. - לוחצים על הכרטיסייה Logs (יומנים).
מוודאים שהפונקציה בוצעה בהצלחה. חפשו את:
Fetching activity records from YYYY-MM-DDTHH:MM:SS+00:00 to YYYY-MM-DDTHH:MM:SS+00:00 Page 1: Retrieved X records, X within time window Wrote X records to gs://netwrix-auditor-logs/netwrix-audit/netwrix_audit_YYYYMMDD_HHMMSS.ndjson Successfully processed X recordsנכנסים לדף Cloud Storage > Buckets.
לוחצים על
netwrix-auditor-logs.עוברים לתיקייה
netwrix-audit/.מוודאים שנוצר קובץ
.ndjsonחדש עם חותמת הזמן הנוכחית.
אם מופיעות שגיאות ביומנים:
- HTTP 401: מוודאים שמשתני הסביבה
NETWRIX_USERו-NETWRIX_PASSנכונים ושהם בפורמטDOMAIN\username - HTTP 403: מוודאים שלחשבון השירות יש את התפקיד Global reviewer (בודק גלובלי) ב-Netwrix Auditor
- HTTP 429: הגבלת קצב של יצירת בקשות – הפונקציה תנסה שוב באופן אוטומטי עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff)
- זמן קצוב לתפוגה של החיבור: בודקים את הקישוריות לרשת מ-Cloud Run לשרת Netwrix Auditor ביציאה 9691. אם השרת מקומי, צריך לוודא שהוגדר מחבר VPC או Cloud VPN
- משתני סביבה חסרים: מוודאים שכל המשתנים הנדרשים מוגדרים בפונקציית Cloud Run.
אחזור חשבון השירות של Google SecOps
- עוברים אל SIEM Settings > Feeds (הגדרות SIEM > פידים).
- לוחצים על הוספת פיד חדש.
- לוחצים על הגדרת פיד יחיד.
- בשדה שם הפיד, מזינים שם לפיד (לדוגמה,
Netwrix Auditor Activity Records). - בוחרים באפשרות Google Cloud Storage V2 בתור סוג המקור.
- בוחרים באפשרות Netwrix בתור סוג היומן.
- לוחצים על Get Service Account (קבלת חשבון שירות).
תוצג כתובת אימייל ייחודית של חשבון שירות. לדוגמה:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comמעתיקים את כתובת האימייל הזו לשימוש בשלב הבא.
לוחצים על הבא.
מציינים ערכים לפרמטרים הבאים של הקלט:
כתובת ה-URL של קטגוריית האחסון: מזינים את ה-URI של קטגוריית GCS עם נתיב הקידומת:
gs://netwrix-auditor-logs/netwrix-audit/
- אפשרות מחיקת המקור: בוחרים את אפשרות המחיקה המועדפת:
- Never: אף פעם לא למחוק קבצים אחרי העברות (מומלץ לבדיקה).
- מחיקת קבצים שהועברו: הקבצים נמחקים אחרי שההעברה מסתיימת.
- מחיקת קבצים שהועברו וספריות ריקות: מחיקת קבצים וספריות ריקות אחרי שההעברה מסתיימת.
- הגיל המקסימלי של הקובץ: כולל קבצים ששונו במספר הימים האחרון (ברירת המחדל היא 180 ימים)
- מרחב השמות של הנכס: מרחב השמות של הנכס
- תוויות הטמעה: התווית שתתווסף לאירועים מהפיד הזה
לוחצים על הבא.
בודקים את הגדרות הפיד החדש במסך סיום ולוחצים על שליחה.
הקצאת הרשאות IAM לחשבון השירות של Google SecOps
- עוברים אל Cloud Storage > Buckets (קטגוריות).
- לוחצים על
netwrix-auditor-logs. - עוברים לכרטיסייה Permissions.
- לוחצים על הענקת גישה.
- מזינים את פרטי ההגדרה הבאים:
- Add principals (הוספת ישויות מורשות): מדביקים את כתובת האימייל בחשבון של חשבון השירות של Google SecOps
- הקצאת תפקידים: בוחרים באפשרות צפייה באובייקטים באחסון.
לוחצים על Save.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| קוד אופרציה | about.labels | תוויות שמשויכות למידע על עצמי |
| כתוביות | about.resource.attribute.labels | תוויות מאפיינים של המשאב בקטע 'מידע' |
| משימה | additional.fields | שדות נוספים שמכילים מידע נוסף על האירוע |
| מה | additional.fields | |
| הודעה | additional.fields | |
| תיאור | additional.fields | |
| נוסף | additional.fields | |
| הוסר | additional.fields | |
| service_type | additional.fields | |
| פרטים | additional.fields | |
| extensions.auth.type | extensions.auth.type | סוג האימות שבו נעשה שימוש |
| EventReceivedTime | metadata.collected_timestamp | חותמת הזמן שבה המערכת אספה את האירוע |
| הודעה | metadata.description | תיאור האירוע |
| event_type | metadata.event_type | סוג האירוע |
| EventType | metadata.product_event_type | סוג אירוע ספציפי למוצר |
| EventID | metadata.product_log_id | מזהה יומן ספציפי למוצר |
| SourceModuleType | observer.application | האפליקציה שזיהתה את האירוע |
| שם המארח | principal.asset.hostname | שם המארח של הנכס שמשויך לחשבון המשתמש |
| כאשר: | principal.asset.hostname | |
| תחנת עבודה | principal.asset.hostname | |
| device_name | principal.asset.hostname | |
| תחנת עבודה | principal.hostname | שם המארח של החשבון הראשי |
| device_name | principal.hostname | |
| ProcessID | principal.process.pid | מזהה התהליך של הישות המורשית |
| שם | principal.resource.name | השם של המשאב שמשויך לחשבון המשתמש |
| מי | principal.user.user_display_name | השם המוצג של המשתמש |
| SourceName | security_result.about.resource.attribute.labels | תוויות של מאפייני משאבים בקטע 'מידע על' בתוצאת אבטחה |
| פעולה | security_result.action | פעולה שבוצעה בתוצאת האבטחה |
| action_details | security_result.action_details | פרטי הפעולה בתוצאת האבטחה |
| backup_name | security_result.description | תיאור של תוצאת האבטחה |
| service_failed | security_result.description | |
| מילות מפתח | security_result.detection_fields | שדות שמשמשים לזיהוי בתוצאת האבטחה |
| RecordNumber | security_result.detection_fields | |
| session_ID | security_result.detection_fields | |
| allow_connection_with_desktop | security_result.detection_fields | |
| service_account | security_result.detection_fields | |
| חוּמרה | security_result.severity | רמת החומרה של תוצאת האבטחה |
| SeverityValue | security_result.severity | |
| סיכום | security_result.summary | סיכום תוצאות האבטחה |
| application_name | target.application | האפליקציה ביעד |
| שם המארח | target.asset.hostname | שם המארח של הנכס שמשויך ליעד |
| כאשר: | target.asset.hostname | |
| file_path | target.file.full_path | הנתיב המלא של קובץ היעד |
| גודל | target.file.size | גודל קובץ היעד |
| שם המארח | target.hostname | שם המארח של היעד |
| כאשר: | target.hostname | |
| סוג | target.resource.attribute.labels | תוויות מאפיינים למשאב היעד |
| SourceModuleName | target.resource.name | שם משאב היעד |
| DataSource | metadata.product_name | שם המוצר שיצר את האירוע |
| metadata.vendor_name | metadata.vendor_name | שם הספק |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.