איסוף יומנים של OpenText Access Manager (לשעבר NetIQ Access Manager)
במאמר הזה מוסבר איך להטמיע ב-Google Security Operations יומנים של OpenText Access Manager (לשעבר NetIQ Access Manager) באמצעות Bindplane.
OpenText Access Manager הוא פתרון מקומי לניהול זהויות והרשאות גישה (IAM) שמספק כניסה יחידה (SSO), אימות רב-שלבי (MFA), איחוד ובקרת גישה מבוססת-מדיניות לאפליקציות ולשירותים באינטרנט. הוא פועל כשער גישה מאובטח בין המשתמשים למשאבים המוגנים, ואוכף את מדיניות האימות וההרשאות בסביבות הארגוניות.
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps.
- מארח עם Windows 2016 ואילך או מארח Linux עם
systemd. - קישוריות לרשת: אם אתם מפעילים את הסוכן מאחורי שרת proxy, ודאו שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
- גישה עם הרשאות למסוף הניהול של OpenText Access Manager.
קבלת פרטי כניסה ל-Google SecOps עבור סוכן Bindplane
כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים באחת מהשיטות הבאות:
- פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
- פריסות קודמות: ממשיכים להשתמש בקובץ האימות להטמעת נתונים (אפשרות 2) עד שה-Ingestion API יופסק ב-20 ביולי 2027.
אפשרות 1: יצירת חשבון שירות עבור Chronicle API (מומלץ)
- נכנסים למסוףGoogle Cloud ובוחרים את הפרויקט ב- Google Cloud שמקושר למכונה של Google SecOps.
- נכנסים אל IAM & Admin > Service Accounts (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
- לוחצים על יצירת חשבון שירות.
- מזינים את פרטי ההגדרה הבאים:
- Service account name: מזינים שם לחשבון (לדוגמה,
bindplane-ingest). - תיאור חשבון השירות: מזינים תיאור (לדוגמה,
Bindplane agent log ingestion).
- Service account name: מזינים שם לחשבון (לדוגמה,
- לוחצים על Create and continue.
- בקטע Grant this service account access to project, לוחצים על Select a role ובוחרים באפשרות Chronicle Editor.
- לוחצים על המשך ואז על סיום.
- לוחצים על חשבון השירות שיצרתם ואז עוברים לכרטיסייה Keys.
- לוחצים על Add key > Create new key.
- בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
- שומרים את קובץ המפתח בתור
ingestion-auth.jsonבספריית ה-collector של Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonב-Linux אוC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonב-Windows), או מעדכנים אתcreds_file_pathב-config.yamlכך שיתאים לנתיב שבו שמרתם אותו. - עוברים אל IAM & Admin > Settings ומעתיקים את הערך של Project number. תצטרכו אותו כדי להגדיר את הייצוא.
אפשרות 2: הורדת קובץ אימות להטמעת נתונים (גרסה מדור קודם)
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents (הגדרות SIEM > סוכני איסוף).
- מורידים את קובץ האימות להטמעת נתונים.
- שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.
איך מוצאים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings (הגדרות SIEM) > Profile (פרופיל).
- מעתיקים את מספר הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת סוכן Bindplane
מתקינים את הסוכן של Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.
התקנת Windows
- פותחים את שורת הפקודה או את PowerShell כאדמין.
מריצים את הפקודה הבאה:
msiexec /i "[https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quiet
התקנה ב-Linux
- פותחים טרמינל עם הרשאות root או sudo.
מריצים את הפקודה הבאה:
sudo sh -c "$(curl -fsSlL [https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh
מקורות מידע נוספים בנושא התקנה
אפשרויות התקנה נוספות מפורטות במדריך ההתקנה.
הגדרה של Bindplane Agent להטמעה של Syslog ושליחה ל-Google SecOps
ניגשים לקובץ התצורה:
- מאתרים את הקובץ
config.yaml. בדרך כלל, הוא נמצא בספרייה/opt/observiq-otel-collectorב-Linux או בספריית ההתקנה ב-Windows. - פותחים את הקובץ באמצעות כלי לעריכת טקסט (לדוגמה,
nano,viאו פנקס הרשימות).
- מאתרים את הקובץ
עורכים את הקובץ
config.yamlבאופן הבא:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: NETIQ_ACCESS_MANAGER raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- מחליפים את היציאה ואת כתובת ה-IP לפי הצורך בתשתית.
- מחליפים את
<LOCATION>באזור של מכונת Google SecOps (לדוגמה,us,europeאוasia-southeast1). המייצא מוסיף את הערך הזה בתחילתchronicle.googleapis.com. - מחליפים את
<PROJECT_NUMBER>במספר הפרויקט מתוך IAM & Admin > Settings. - מחליפים את
<customer_id>במספר הלקוח בפועל. - מעדכנים את
/path/to/ingestion-authentication-file.jsonלנתיב הקובץ שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 1) בשלבים הקודמים.
מייצא API להטמעה מדור קודם
אם אתם משתמשים בקובץ האימות להטמעת נתונים מאפשרות 2, החליפו את הבלוק
exportersבקוד הבא. מגדירים אתcreds_file_pathלנתיב לקובץ האימות של ההעברה, ואם המופע שלכם נמצא מחוץ לארה"ב, מחליפים אתmalachiteingestion-pa.googleapis.comבנקודת הקצה האזורית (לדוגמה,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: NETIQ_ACCESS_MANAGER raw_log_field: body ingestion_labels:
מפעילים מחדש את סוכן Bindplane כדי להחיל את השינויים.
כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux, מריצים את הפקודה הבאה:
sudo systemctl restart observiq-otel-collectorכדי להפעיל מחדש את הסוכן של Bindplane ב-Windows, אפשר להשתמש במסוף Services או להזין את הפקודה הבאה:
net stop observiq-otel-collector && net start observiq-otel-collector
הגדרת העברת syslog ב-OpenText Access Manager
- נכנסים למסוף הניהול של OpenText Access Manager.
- עוברים אל Auditing (ביקורת) > Syslog.
- מסמנים את התיבה הפעלת Syslog.
- מספקים את פרטי ההגדרה הבאים:
- כתובת שרת Syslog: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
- יציאה: מזינים
514. - Facility: בוחרים את המתקן המתאים של syslog (לדוגמה, LOCAL0).
- בקטע Audit Events, בוחרים את קטגוריות האירועים שרוצים להעביר:
- אירועי אימות
- אירועי הרשאה
- אירועי ניהול
- אירועי מערכת
- לוחצים על Apply (החלה) כדי לשמור את ההגדרה של syslog.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
version |
about.resource.attribute.labels |
ממוזג |
_field |
additional.fields |
ממוזג |
I |
extensions.auth.type |
מיפוי: "002E0505","002E001E","002E0046" ← AUTHTYPE_UNSPECIFIED, "002E0007","002E000C"... |
host_name |
intermediary.hostname |
מיפוי ישיר |
D |
metadata.description |
מיפוי ישיר |
stringValue3 |
metadata.description |
מיפוי ישיר |
timestamp |
metadata.event_timestamp |
נותח בתור RFC 3339 |
I |
metadata.event_type |
מופו: "002E0505","002E001E","002E0046" ← USER_LOGIN, 002E0525 ← `NETWORK_UNCATEGORIZ... |
has_principal |
metadata.event_type |
מיפוי: true ← NETWORK_CONNECTION, true ← STATUS_UPDATE |
has_user |
metadata.event_type |
מופה: true ← USER_UNCATEGORIZED |
id_sub_event |
metadata.product_event_type |
מיפוי ישיר |
I |
metadata.product_log_id |
מיפוי ישיר |
eventId |
metadata.product_log_id |
מיפוי ישיר |
event_id |
metadata.product_log_id |
מיפוי ישיר |
product |
metadata.product_name |
מיפוי ישיר |
product_version |
metadata.product_version |
מיפוי ישיר |
vendor |
metadata.vendor_name |
מיפוי ישיר |
T |
network.http.user_agent |
מיפוי ישיר |
L |
network.session_id |
מיפוי ישיר |
subTarget |
network.session_id |
מיפוי ישיר |
F |
principal.application |
מיפוי ישיר |
appName |
principal.application |
מיפוי ישיר |
host |
principal.asset.hostname |
מיפוי ישיר |
host_name |
principal.asset.hostname |
מיפוי ישיר |
originator |
principal.asset.hostname |
מיפוי ישיר |
src_ip |
principal.asset.ip |
ממוזג |
host |
principal.hostname |
מיפוי ישיר |
host_name |
principal.hostname |
מיפוי ישיר |
originator |
principal.hostname |
מיפוי ישיר |
src_ip |
principal.ip |
ממוזג |
stringValue1 |
principal.user.userid |
מיפוי ישיר |
I |
security_result.action |
Mapped: "002E0505","002E001E","002E0046" → security_action, 002E0525 → `security_actio... |
security_action |
security_result.action |
ממוזג |
name |
security_result.action_details |
מיפוי ישיר |
g_label |
security_result.detection_fields |
ממוזג |
h_label |
security_result.detection_fields |
ממוזג |
impersonatee_session_id_label |
security_result.detection_fields |
ממוזג |
m_label |
security_result.detection_fields |
ממוזג |
v_label |
security_result.detection_fields |
ממוזג |
priority |
security_result.priority_details |
מיפוי ישיר |
A |
security_result.rule_id |
מיפוי ישיר |
severity |
security_result.severity_details |
ערכים ממופים (5 סה"כ, למשל 1 ← TRACE, 2 ← DEBUG, 4 ← INFO) |
result |
security_result.summary |
מיפוי ישיר |
process_name |
target.application |
מיפוי ישיר |
dst_ip |
target.asset.ip |
ממוזג |
dst_ip |
target.ip |
ממוזג |
B |
target.resource.id |
מיפוי ישיר |
O |
target.resource.name |
מיפוי ישיר |
Y |
target.url |
מיפוי ישיר |
_group_identifier |
target.user.group_identifiers |
ממוזג |
U |
target.user.userid |
מיפוי ישיר |
device_name |
target.user.userid |
מיפוי ישיר |
| לא רלוונטי | extensions.auth.type |
קבוע: AUTHTYPE_UNSPECIFIED |
| לא רלוונטי | metadata.event_type |
קבוע: USER_LOGIN |
| לא רלוונטי | metadata.product_name |
קבוע: Netiq_Access_Manager |
| לא רלוונטי | metadata.vendor_name |
קבוע: Netiq |
| לא רלוונטי | security_result.severity_details |
קבוע: TRACE |
"2" |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
"3" |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
"host_name" |
event.idm.read_only_udm.intermediary.hostname |
מופה מיומן השינויים |
1 |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
stringValue2 |
event.idm.read_only_udm.security_result.detection_fields |
מופה מיומן השינויים |
eventId |
event.idm.read_only_udm.metadata.product_log_id |
מופה מיומן השינויים |
subTarget |
event.idm.read_only_udm.network.session_id |
מופה מיומן השינויים |
stringValue1 |
event.idm.read_only_udm.principal.user.userid |
מופה מיומן השינויים |
stringValue3 |
event.idm.read_only_udm.metadata.description |
מופה מיומן השינויים |
originator |
event.idm.read_only_udm.principal.asset.hostname |
מופה מיומן השינויים |
originator |
event.idm.read_only_udm.principal.hostname |
מופה מיומן השינויים |
G","H","M" and "V |
security_result.detection_fields |
מופה מיומן השינויים |
L |
event.idm.read_only_udm.network.session_id |
מופה מיומן השינויים |
T |
event.idm.read_only_udm.network.http.user_agent |
מופה מיומן השינויים |
יומן שינויים
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.