איסוף יומני LDAP של Red Hat Directory Server
במאמר הזה מוסבר איך להטמיע יומני LDAP של Red Hat Directory Server ב-Google Security Operations באמצעות סוכן Bindplane.
Red Hat Directory Server הוא שירות ספריות LDAP ברמה ארגונית שמבוסס על תקנים פתוחים. הוא מספק ניהול זהויות משתמשים, אימות ובקרת גישה מרכזיים לסביבות Linux ו-UNIX. שרת הספריות מאחסן יומני גישה, שגיאות, ביקורת, כשל בביקורת ואבטחה בספרייה /var/log/dirsrv/slapd-instance_name/. היומנים האלה כוללים תיעוד של חיבורי לקוחות, פעולות LDAP, שינויים בהגדרות, פעולות שנכשלו ואירועי אבטחה כמו ניסיונות אימות ובעיות בהרשאה.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- מארח Linux עם
systemd - קישוריות לרשת בין סוכן Bindplane לבין המארח של Red Hat Directory Server
- אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישת רוט (Root) או גישת sudo למארח של Red Hat Directory Server
- Red Hat Directory Server מגרסה 11 ואילך מותקן ופועל
- שירות
rsyslogמותקן ופועל במארח של שרת הספריות
קבלת קובץ אימות להטמעת נתונים ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents.
- מורידים את קובץ האימות להטמעת נתונים.
שומרים את הקובץ באופן מאובטח במערכת שבה יותקן Bindplane.
איך מקבלים מספר לקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת סוכן Bindplane
מתקינים את סוכן Bindplane במערכת ההפעלה Linux לפי ההוראות הבאות.
התקנה ב-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השירות אמור להופיע כ-active (running).
מקורות מידע נוספים להתקנה
אפשרויות התקנה נוספות ופתרון בעיות מפורטים במדריך להתקנת סוכן Bindplane.
הגדרה של סוכן Bindplane לקליטת syslog ושליחה ל-Google SecOps
איתור קובץ ההגדרות
Linux:
sudo nano /opt/observiq-otel-collector/config.yaml
עריכת קובץ ההגדרות
מחליפים את כל התוכן של
config.yamlבהגדרה הבאה:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/redhat_ds: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: REDHAT_DIRECTORY_SERVER raw_log_field: body service: pipelines: logs/redhat_ds: receivers: - udplog exporters: - chronicle/redhat_ds
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
udplog: סוג הנמען על סמך הפרוטוקול:udplogעבור UDP syslog-
tcplogל-syslog של TCP -
syslogל-syslog של RFC 3164/5424
-
0.0.0.0: כתובת ה-IP להאזנה:-
0.0.0.0כדי להאזין בכל הממשקים (מומלץ) - כתובת IP ספציפית להאזנה בממשק אחד
-
-
514: מספר היציאה להאזנה (לדוגמה,514, 1514, 6514)
-
הגדרת כלי הייצוא:
-
<customer_id>: מספר הלקוח מהשלב הקודם -
malachiteingestion-pa.googleapis.com: כתובת ה-URL של נקודת הקצה האזורית:- ארה"ב:
malachiteingestion-pa.googleapis.com - אירופה:
europe-malachiteingestion-pa.googleapis.com - אסיה:
asia-southeast1-malachiteingestion-pa.googleapis.com - רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
- ארה"ב:
- משנים את
creds_file_pathבהתאם לפלטפורמה:- Linux:
/etc/bindplane-agent/ingestion-auth.json
- Linux:
-
שמירת קובץ התצורה
- אחרי שמסיימים לערוך, שומרים את הקובץ:
- Linux: מקישים על
Ctrl+O, אחר כך עלEnterואז עלCtrl+X.
- Linux: מקישים על
מפעילים מחדש את הסוכן של Bindplane כדי להחיל את השינויים.
כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux, מריצים את הפקודה הבאה:
sudo systemctl restart observiq-otel-collectorמוודאים שהשירות פועל:
sudo systemctl status observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
sudo journalctl -u observiq-otel-collector -f
הפעלת רישום ביומן של ביקורת ושל כשלים בביקורת ב-Red Hat Directory Server
כברירת מחדל, ב-Red Hat Directory Server מופעלת כניסה לחשבון, שגיאה ורישום אבטחה, אבל מושבתים רישום ביקורת ורישום של כשלים בביקורת. כדאי להפעיל את היומנים האלה כדי לתעד את כל השינויים בספרייה ואת הפעולות שנכשלו.
- פותחים מסוף עם הרשאות בסיס או sudo במארח של שרת הגילוי.
מפעילים את יומן הביקורת באמצעות הפקודה הבאה:
dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditlog-logging-enabled=onמפעילים את יומן הביקורת של הכשלים באמצעות הפקודה הבאה:
dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditfaillog-logging-enabled=onמוודאים שכל סוגי היומנים מופעלים:
dsconf -D "cn=Directory Manager" instance_name config get nsslapd-accesslog-logging-enabled nsslapd-errorlog-logging-enabled nsslapd-auditlog-logging-enabled nsslapd-auditfaillog-logging-enabled nsslapd-securitylog-logging-enabledמוודאים שקובצי היומן קיימים בספריית היומן:
ls -la /var/log/dirsrv/slapd-instance_name/
אופציונלי: הפעלת הרישום ביומן באמצעות מסוף האינטרנט
- נכנסים למסוף האינטרנט של Red Hat Directory Server.
- בוחרים את המופע.
- עוברים אל Server > Logging.
- בוחרים את סוג היומן שרוצים להפעיל (למשל, יומן ביקורת).
- מפעילים את המתג של רישום ביומן עבור סוג היומן שנבחר.
- לוחצים על שמירת הגדרות היומן.
הגדרת rsyslog להעברת יומני שרת של שרת הספריות לסוכן Bindplane
שרת הספריות של Red Hat כותב יומנים לקבצים ב-/var/log/dirsrv/slapd-instance_name/ ולא ישירות ל-syslog. אפשר להשתמש במודול rsyslog imfile כדי לעקוב אחרי קובצי היומן האלה ולהעביר את הרשומות לסוכן Bindplane.
יוצרים קובץ תצורה חדש של rsyslog להעברת יומני שרת של Directory Server:
sudo nano /etc/rsyslog.d/rhds-forward.confמוסיפים את התוכן הבא לקובץ התצורה:
# Load the imfile module to read log files module(load="imfile" PollingInterval="10") # Monitor the access log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/access" Tag="dirsrv-access" Severity="info" Facility="local6") # Monitor the error log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/errors" Tag="dirsrv-errors" Severity="err" Facility="local6") # Monitor the audit log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/audit" Tag="dirsrv-audit" Severity="info" Facility="local6") # Monitor the security log input(type="imfile" File="/var/log/dirsrv/slapd-instance_name/security" Tag="dirsrv-security" Severity="info" Facility="local6") # Forward all Directory Server logs to the Bindplane agent local6.* @BINDPLANE_IP:514מאמתים את תחביר ההגדרות של rsyslog:
sudo rsyslogd -N1מפעילים מחדש את שירות rsyslog כדי שהשינויים ייכנסו לתוקף:
sudo systemctl restart rsyslogכדי לוודא שהיומנים של שרת הגילוי מועברים, בודקים את היומנים של סוכן Bindplane:
sudo journalctl -u observiq-otel-collector -f
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
attrs_label |
about.labels |
ממוזג |
cn_label |
about.labels |
ממוזג |
conn_label |
about.labels |
ממוזג |
csn_label |
about.labels |
ממוזג |
err_label |
about.labels |
ממוזג |
etime_label |
about.labels |
ממוזג |
fd_label |
about.labels |
ממוזג |
filter_label |
about.labels |
ממוזג |
label |
about.labels |
ממוזג |
method_label |
about.labels |
ממוזג |
msgid_label |
about.labels |
ממוזג |
name_label |
about.labels |
ממוזג |
nentries_label |
about.labels |
ממוזג |
offset_label |
about.labels |
ממוזג |
op_label |
about.labels |
ממוזג |
optime_label |
about.labels |
ממוזג |
org_label |
about.labels |
ממוזג |
ou_label |
about.labels |
ממוזג |
scope_label |
about.labels |
ממוזג |
slot_label |
about.labels |
ממוזג |
tag_label |
about.labels |
ממוזג |
targetop_label |
about.labels |
ממוזג |
version_label |
about.labels |
ממוזג |
wtime_label |
about.labels |
ממוזג |
desc |
metadata.description |
מיפוי ישיר |
creationDate |
metadata.event_timestamp |
נותח בתור UNIX_MS |
recordDate |
metadata.event_timestamp |
נותח בתור UNIX_MS |
time |
metadata.event_timestamp |
נותח בתור dd/MMM/yyyy:HH:mm:ss Z |
ts |
metadata.event_timestamp |
ניתוח הכתובות שברשימה: MMM d HH:mm:ss |
operation |
metadata.product_event_type |
מיפוי ישיר |
mrId |
metadata.product_log_id |
מיפוי ישיר |
properties._ecs_agent_version |
metadata.product_version |
מיפוי ישיר |
host |
principal.asset.hostname |
מיפוי ישיר |
oid |
principal.asset.product_object_id |
מיפוי ישיר |
host |
principal.hostname |
מיפוי ישיר |
client_ip |
principal.ip |
ממוזג |
namespace |
principal.namespace |
מיפוי ישיר |
user |
principal.user.userid |
מיפוי ישיר |
sec_result |
security_result |
ממוזג |
properties._hostname |
target.asset.hostname |
מיפוי ישיר |
properties.host |
target.asset.hostname |
מיפוי ישיר |
properties._hostname |
target.hostname |
מיפוי ישיר |
properties.host |
target.hostname |
מיפוי ישיר |
target_ip |
target.ip |
ממוזג |
properties.country |
target.location.country_or_region |
מיפוי ישיר |
properties._file_path |
target.process.file.full_path |
מיפוי ישיר |
properties._file_size |
target.process.file.size |
שם שונה/מיפוי |
discipline_label |
target.resource.attribute.labels |
ממוזג |
document_type_label |
target.resource.attribute.labels |
ממוזג |
environment_label |
target.resource.attribute.labels |
ממוזג |
hostgroup_label |
target.resource.attribute.labels |
ממוזג |
platform_label |
target.resource.attribute.labels |
ממוזג |
product_label |
target.resource.attribute.labels |
ממוזג |
project_label |
target.resource.attribute.labels |
ממוזג |
base |
target.user.group_identifiers |
ממוזג |
dn |
target.user.group_identifiers |
ממוזג |
| לא רלוונטי | metadata.event_type |
קבוע: NETWORK_CONNECTION |
| לא רלוונטי | metadata.product_name |
קבוע: REDHAT_DIRECTORY_SERVER |
| לא רלוונטי | metadata.vendor_name |
קבוע: REDHAT |
| לא רלוונטי | target.platform |
קבוע: LINUX |
properties._file_inode |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
properties._file_offset |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
conn |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
op |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
err |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
tag |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
nentries |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
wtime |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
optime |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
etime |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
csn |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
cn |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
ou |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
filter |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
attrs |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
scope |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
o |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
targetop |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
msgid |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
method |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
version |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
fd |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
slot |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
name |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
properties.discipline" ,"properties.document_type" ,"properties.environment" ,"properties.hostgroup" ,"properties.platform" ,"properties.product |
target.resource.attribute.labels |
מופה מיומן השינויים |
יומן שינויים
צפייה ביומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.