איסוף יומני LDAP של CA
גרסת כלי הניתוח: 2.0
במאמר הזה מוסבר איך להטמיע יומני CA LDAP ב-Google Security Operations באמצעות סוכן Bindplane.
CA Directory (לשעבר Symantec Directory) הוא שרת ספריות שתואם ל-LDAP v2/v3 ומבוסס על תקני X.500. היא מספקת שירותי ספרייה ברמת הארגון עם יכולות מקיפות של רישום ביומן, כולל יומני התראות, מעקב, אזהרות, שאילתות, סיכומים, חיבורים, אבחון, עדכונים וסטטיסטיקות, לצורך מעקב אחר פעולות בספרייה ואירועי אבטחה.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות לרשת בין סוכן Bindplane לבין שרת CA Directory
- אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישה עם הרשאות לשרת CA Directory (root או אדמין)
- ספריית CA מותקנת ומוגדרת עם הפעלת רישום ביומן
קבלת קובץ אימות להטמעת נתונים ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents.
מורידים את קובץ האימות להטמעת נתונים. שומרים את הקובץ באופן מאובטח במערכת שבה רוצים להתקין את Bindplane.
איך מוצאים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת סוכן Bindplane
מתקינים את סוכן Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.
התקנה ב-Windows
- פותחים את שורת הפקודה או את PowerShell כאדמין.
מריצים את הפקודה הבאה:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietמחכים שההתקנה תסתיים.
כדי לוודא שההתקנה בוצעה, מריצים את הפקודה:
sc query observiq-otel-collectorהשירות צריך להופיע עם הערך RUNNING.
התקנה ב-Linux
- פותחים טרמינל עם הרשאות root או sudo.
מריצים את הפקודה הבאה:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shמחכים שההתקנה תסתיים.
כדי לוודא שההתקנה בוצעה, מריצים את הפקודה:
sudo systemctl status observiq-otel-collectorהשירות צריך להופיע כפעיל (פועל).
מקורות מידע נוספים להתקנה
אפשרויות התקנה נוספות ופתרון בעיות מפורטים במדריך להתקנת סוכן Bindplane.
הגדרה של סוכן Bindplane להטמעה של syslog ושליחה אל Google SecOps
איתור קובץ ההגדרות
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
עריכת קובץ ההגדרות
מחליפים את כל התוכן של
config.yamlבהגדרה הבאה:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/ca_directory: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: CA_LDAP raw_log_field: body ingestion_labels: env: production source: ca_directory service: pipelines: logs/ca_directory_to_chronicle: receivers: - udplog exporters: - chronicle/ca_directoryמחליפים את ה-placeholders הבאים:
הגדרות המקלט:
listen_address: צריך להגדיר את הערך0.0.0.0:514כדי להאזין לכל הממשקים ביציאת UDP 514- במקרים של התקנות ב-Linux שאינן root, צריך להשתמש ביציאה
1514ומעלה - מוודאים שהיציאה תואמת ליציאה שהוגדרה בהעברה ב-rsyslog
- במקרים של התקנות ב-Linux שאינן root, צריך להשתמש ביציאה
הגדרות של כלי הייצוא:
creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: מחליפים אתYOUR_CUSTOMER_IDב-customer ID. פרטים נוספים זמינים במאמר בנושא קבלת מזהה לקוח ב-Google SecOps.
endpoint: כתובת URL של נקודת קצה אזורית:- ארה"ב:
malachiteingestion-pa.googleapis.com - אירופה:
europe-malachiteingestion-pa.googleapis.com - אסיה:
asia-southeast1-malachiteingestion-pa.googleapis.com
- ארה"ב:
log_type: הגדרה ל-CA_LDAP(תווית להעברה ל-Chronicle של CA Directory)
ingestion_labels: תוויות אופציונליות לסינון ולארגון
שמירת קובץ ההגדרות
אחרי שמסיימים לערוך, שומרים את הקובץ:
- Linux: מקישים על
Ctrl+O, אחר כך עלEnterואז עלCtrl+X. - Windows: לוחצים על קובץ > שמירה.
מפעילים מחדש את סוכן Bindplane כדי להחיל את השינויים.
כדי להפעיל מחדש את סוכן Bindplane ב-Linux:
מריצים את הפקודה הבאה:
sudo systemctl restart observiq-otel-collectorמוודאים שהשירות פועל:
sudo systemctl status observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
sudo journalctl -u observiq-otel-collector -f
כדי להפעיל מחדש את סוכן Bindplane ב-Windows:
בוחרים אחת מהאפשרויות האלה:
שורת הפקודה או PowerShell כאדמין:
net stop observiq-otel-collector && net start observiq-otel-collectorמסוף השירותים:
- מקישים על
Win+R, מקלידיםservices.mscומקישים על Enter. - מחפשים את observIQ OpenTelemetry Collector.
- לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
- מקישים על
מוודאים שהשירות פועל:
sc query observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
הגדרת העברה של syslog של CA LDAP באמצעות rsyslog
בקטע הזה מוסבר איך להגדיר את rsyslog בשרת CA Directory כדי להעביר יומנים לסוכן Bindplane.
זיהוי המיקומים של קובצי היומן של CA Directory
CA Directory שומר קובצי יומן במיקומים הבאים:
- Linux:
/opt/CA/Directory/dxserver/logs/ - Windows:
C:\Program Files\CA\Directory\dxserver\logs\
קבצי היומן פועלים לפי תבניות שמות שמבוססות על שם ה-DSA (לדוגמה, democorp_alarm, democorp_warn, democorp_trace).
סוגי היומנים הזמינים
CA Directory יוצר את סוגי היומנים הבאים:
- יומן אזעקות: אירועים קריטיים (מופעל תמיד)
- יומן אזהרות: שגיאות ואזהרות
- יומן מעקב: מעקב מפורט אחר פעולות
- יומן שאילתות: מידע מפורט על פעולות עם חותמות זמן
- יומן סיכום: סיכומים של פעולות
- יומן חיבורים: אירועי חיבור וניתוק
- יומן אבחון: פעולות שנדחו
- יומן נתונים סטטיסטיים: נתונים סטטיסטיים תפעוליים לפי דקה
- יומן עדכונים: פעולות הוספה, שינוי, שינוי שם ומחיקה
- יומן זמנים: פרטי התזמון של הפעולה
הגדרת rsyslog ב-Linux
נכנסים לשרת CA Directory בתור root או עם הרשאות sudo.
אם rsyslog עדיין לא מותקן, צריך להתקין אותו:
sudo yum install rsyslogאו ב-Debian/Ubuntu:
sudo apt-get install rsyslogיוצרים קובץ תצורה חדש של rsyslog עבור CA Directory:
sudo nano /etc/rsyslog.d/ca-directory.confמוסיפים את ההגדרה הבאה להעברת יומנים של CA Directory:
# Load the imfile module for file monitoring module(load="imfile" PollingInterval="10") # Monitor CA Directory alarm logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_alarm*" Tag="ca-directory-alarm" Severity="error" Facility="local0") # Monitor CA Directory warn logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_warn*" Tag="ca-directory-warn" Severity="warning" Facility="local0") # Monitor CA Directory trace logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_trace*" Tag="ca-directory-trace" Severity="info" Facility="local0") # Monitor CA Directory query logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_query*" Tag="ca-directory-query" Severity="info" Facility="local0") # Monitor CA Directory connection logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_connection*" Tag="ca-directory-connection" Severity="info" Facility="local0") # Monitor CA Directory update logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_update*" Tag="ca-directory-update" Severity="info" Facility="local0") # Forward all CA Directory logs to Bindplane agent if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514 & stopמחליפים את
BINDPLANE_AGENT_IPבכתובת ה-IP של המארח של סוכן Bindplane:- אם סוכן Bindplane נמצא באותו השרת:
127.0.0.1 - אם סוכן Bindplane נמצא בשרת אחר: מזינים את כתובת ה-IP (לדוגמה,
192.168.1.100)
- אם סוכן Bindplane נמצא באותו השרת:
שומרים את קובץ ההגדרות:
מקישים על
Ctrl+O, ואז עלEnter, ואז עלCtrl+X.בודקים את תחביר ההגדרה של rsyslog:
sudo rsyslogd -N1מפעילים מחדש את שירות rsyslog:
sudo systemctl restart rsyslogבודקים אם rsyslog פועל:
sudo systemctl status rsyslogבודקים אם יש שגיאות ביומני rsyslog:
sudo tail -f /var/log/messages
הגדרת rsyslog ב-Windows
מורידים ומתקינים את rsyslog ל-Windows מהאתר של rsyslog.
פותחים את קובץ ההגדרות של rsyslog:
notepad "C:\Program Files\rsyslog\rsyslog.conf"מוסיפים את ההגדרה הבאה:
# Load the imfile module for file monitoring module(load="imfile" PollingInterval="10") # Monitor CA Directory alarm logs input(type="imfile" File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_alarm*" Tag="ca-directory-alarm" Severity="error" Facility="local0") # Monitor CA Directory warn logs input(type="imfile" File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_warn*" Tag="ca-directory-warn" Severity="warning" Facility="local0") # Monitor CA Directory trace logs input(type="imfile" File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_trace*" Tag="ca-directory-trace" Severity="info" Facility="local0") # Forward all CA Directory logs to Bindplane agent if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514 & stopמחליפים את
BINDPLANE_AGENT_IPבכתובת ה-IP של המארח של סוכן Bindplane.שומרים את קובץ ההגדרות.
מפעילים מחדש את שירות rsyslog:
net stop rsyslog net start rsyslog
הפעלת רישום ביומן של CA Directory
מוודאים שסוגי היומנים הנדרשים מופעלים ב-CA Directory:
עורכים את קובץ ההגדרות של DSA:
- Linux:
/opt/CA/Directory/dxserver/config/servers/democorp.dxc - Windows:
C:\Program Files\CA\Directory\dxserver\config\servers\democorp.dxc
- Linux:
בודקים או מוסיפים את הגדרות הרישום הבאות:
set alarm-log = true; set warn-log = true; set trace-log = true; set query-log = true; set connection-log = true; set update-log = true;שומרים את קובץ ההגדרות.
מפעילים מחדש את ה-DSA של CA Directory:
Linux:
dxserver stop democorp dxserver start democorpWindows:
net stop "CA Directory DSA - democorp" net start "CA Directory DSA - democorp"
אימות העברת היומנים
כדי ליצור פעילות בדיקה ב-CA Directory, מבצעים שאילתות LDAP או ניסיונות אימות.
בודקים את היומנים של סוכן Bindplane כדי לוודא שהיומנים מתקבלים:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
נכנסים למסוף Google SecOps ומוודאים שהיומנים של CA Directory מופיעים בכלי לצפייה ביומנים.
מידע נוסף על רישום ביומן של CA Directory זמין במסמכי התיעוד של Broadcom CA Directory.
דוגמאות מפורטות להגדרת rsyslog זמינות במאמר Broadcom Knowledge Base article on centralized logging.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| agent.ephemeral_id, logstash.irm_region, logstash.irm_environment, logstash.irm_site, host.os.name | additional.fields | המידע מוזג כתוויות עם המפתחות ephemeral_id, irm_region, irm_environment, irm_site ו-os_name בהתאמה |
| host.architecture | hardware.cpu_platform | הערך הועתק ישירות |
| logstash.process.host | intermediary.hostname | הערך הועתק ישירות |
| logstash.collect.timestamp | metadata.collected_timestamp | הניתוח מתבצע כחותמת זמן באמצעות מסנן תאריכים |
| msg | metadata.description | הערך הועתק ישירות |
| metadata.event_type | ההגדרה היא STATUS_UPDATE | |
| agent.type, agent.version | observer.application | הערך משורשר כ- "%{agent.type} %{agent.version}" אם שני הערכים לא ריקים, אחרת הערך הוא "%{agent.type}" |
| agent.type, agent.id | observer.asset_id | הערך המשורשר הוא '%{agent.type}: %{agent.id}' |
| agent.hostname | observer.hostname | הערך הועתק ישירות |
| host.id | principal.asset.asset_id | הערך המשורשר הוא CA_LDAP:%{host.id} |
| חומרה | principal.asset.hardware | מוזג מאובייקט חומרה |
| host.hostname | principal.hostname | הערך הועתק ישירות |
| host.ip | principal.ip | מוזג ממערך host.ip |
| host.mac | principal.mac | מוזג ממערך host.mac |
| host.os.family | principal.platform | ההגדרה היא LINUX אם יש התאמה ל-(rhel|redhat) |
| host.os.kernel | principal.platform_patch_level | הערך הועתק ישירות |
| host.os.version | principal.platform_version | הערך הועתק ישירות |
| log.file.path | principal.process.file.full_path | הערך הועתק ישירות |
| syslog_severity | security_result.severity | הערך הוא INFORMATIONAL אם הוא תואם ל-(?i)(DEFAULT|DEBUG|INFO|NOTICE), ERROR אם הוא תואם ל-(?i)ERROR, MEDIUM אם הוא תואם ל-(?i)WARNING, HIGH אם הוא תואם ל-(?i)(CRITICAL|ALERT|EMERGENCY) |
| syslog_severity | security_result.severity_details | הערך הועתק ישירות |
| metadata.product_name | הגדרה כ-CA_LDAP | |
| metadata.vendor_name | הגדרה כ-CA_LDAP |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.