איסוף יומנים של Proofpoint Sendmail Sentrion
במסמך הזה מוסבר איך להטמיע יומנים של Proofpoint Sendmail Sentrion ב-Google Security Operations באמצעות סוכן Bindplane.
Proofpoint Sendmail Sentrion הוא סוכן להעברת אימייל (MTA) לארגונים, שמספק אמצעי בקרה לאבטחה, מעקב אחרי הודעות ואכיפת מדיניות עבור אימייל יוצא ונכנס. הוא מתעד את עסקאות הדואר באמצעות מתקן syslog mail רגיל.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות לרשת בין סוכן Bindplane לבין שרת Proofpoint Sendmail Sentrion MTA
- אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישה עם הרשאות מיוחדות לשרת Proofpoint Sendmail Sentrion עם הרשאות root או אדמין
קבלת קובץ אימות להטמעת נתונים ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents (הגדרות SIEM > סוכני איסוף).
- מורידים את קובץ האימות להטמעת נתונים.
שומרים את הקובץ באופן מאובטח במערכת שבה תותקן 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 /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
עריכת קובץ התצורה
מחליפים את כל התוכן של
config.yamlבהגדרה הבאה:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/proofpoint_sentrion: compression: gzip creds_file_path: '<CREDS_FILE_PATH>' customer_id: '<CUSTOMER_ID>' endpoint: <REGION_ENDPOINT> log_type: PROOFPOINT_SENDMAIL_SENTRION raw_log_field: body ingestion_labels: env: production service: pipelines: logs/sentrion_to_chronicle: receivers: - udplog exporters: - chronicle/proofpoint_sentrion
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
udplog: מקבל syslog דרך UDP. משתמשים ב-tcplogאם הגדרתם העברת TCP בהגדרת ה-syslog. -
0.0.0.0:514: האזנה בכל הממשקים ביציאה 514. משנים את היציאה אם צריך (לדוגמה,1514ל-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>: מספר הלקוח משלב קבלת מספר הלקוח ב-Google SecOps. <REGION_ENDPOINT>: Regional endpoint URL:- ארה"ב:
malachiteingestion-pa.googleapis.com - אירופה:
europe-malachiteingestion-pa.googleapis.com - אסיה:
asia-southeast1-malachiteingestion-pa.googleapis.com - רשימה מלאה מופיעה במאמר נקודות קצה אזוריות.
- ארה"ב:
-
שמירת קובץ ההגדרות
- אחרי שמסיימים לערוך, שומרים את הקובץ:
- Linux: מקישים על
Ctrl+O, אחר כך עלEnterואז עלCtrl+X - Windows: לוחצים על קובץ > שמירה.
- Linux: מקישים על
מפעילים מחדש את סוכן 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 ב-Proofpoint Sendmail Sentrion
Sendmail Sentrion משתמש במתקן syslog mail רגיל כדי לכתוב יומני טרנזקציות של דואר. מיקומי היומנים שמוגדרים כברירת מחדל תלויים במערכת ההפעלה:
| מערכת הפעלה | נתיב ברירת המחדל של היומן |
|---|---|
| RHEL / CentOS | /var/log/maillog |
| Debian / Ubuntu | /var/log/mail.log |
| Solaris | /var/log/syslog (סינון לפי mail.*) |
אפשרות 1: הגדרת העברה של syslog באמצעות rsyslog
עורכים את קובץ התצורה של syslog בשרת Sentrion MTA:
sudo nano /etc/rsyslog.d/sentrion.confמוסיפים את הכלל הבא כדי להעביר את יומני המתקנים של הדואר לסוכן Bindplane:
mail.* @BINDPLANE_AGENT_IP:514שומרים את הקובץ ומפעילים מחדש את שירות rsyslog:
sudo systemctl restart rsyslogכדי לוודא שהיומנים מועברים, בודקים את היומנים של סוכן Bindplane.
אפשרות 2: הגדרת העברה של syslog דרך מסוף הניהול של Sentrion
- נכנסים למסוף הניהול של Sentrion.
- עוברים אל הגדרה > רישום ביומן (או אל מערכת > הגדרות יומן).
- קובעים את ההגדרות של syslog מרחוק:
- שרת Syslog: מזינים את כתובת ה-IP של המארח של סוכן Bindplane (לדוגמה,
192.168.1.100). - יציאה: מזינים
514(חייב להיות זהה ליציאת המקלט של סוכן Bindplane). - פרוטוקול: בוחרים באפשרות UDP (חייב להיות זהה להגדרת המקלט של סוכן Bindplane).
- רמת היומן: מגדירים את האפשרות הזו כדי לתעד את כל אירועי העסקאות של הדואר.
- שרת Syslog: מזינים את כתובת ה-IP של המארח של סוכן Bindplane (לדוגמה,
- לוחצים על אישור או על שמירה.
- כדי לוודא שהיומנים מועברים, בודקים את היומנים של סוכן Bindplane.
טבלת מיפוי UDM
| שדה היומן | מיפוי UDM | לוגיקה |
|---|---|---|
| additional.fields | מוזג מ-tty_label ומ-pwd_label | |
| פעולה | security_result.action_details | הערך הועתק ישירות |
| action_result | security_result.summary | הערך מועתק ישירות אם הוא קיים |
| אפליקציה | principal.application | הערך הועתק ישירות |
| app_proto | network.application_protocol | הערך הועתק ישירות |
| auth | security_result.detection_fields | המיזוג בוצע כ-auth_label (מפתח: auth, ערך: auth) |
| ביטים | security_result.detection_fields | מוזג כ-bits_label (מפתח: bits, ערך: bits) |
| סיווג | security_result.category_details | הערך הועתק ישירות |
| הצפנה | network.tls.cipher | הערך הועתק ישירות |
| מחלקה | security_result.detection_fields | המיזוג בוצע כ-class_label (מפתח: class, ערך: class) |
| אשכול | principal.resource.attribute.labels | מוזג כ-cluster_label (מפתח: cluster, ערך: cluster) |
| COMMAND | principal.process.command_line | הערך הועתק ישירות |
| דימון (daemon) | security_result.detection_fields | המיזוג בוצע כ-daemon_label (מפתח: daemon, ערך: daemon) |
| עיכוב | security_result.detection_fields | מוזג כ-delay_label (מפתח: delay, ערך: delay) |
| description | security_result.description | הערך הועתק ישירות |
| פרטים | metadata.description | הערך הועתק ישירות |
| מחיקה | security_result.detection_fields | המיזוג מתבצע כ-disposition_label (מפתח: disposition, ערך: disposition) |
| dsn | security_result.detection_fields | מוזג כ-dsn_label (מפתח: dsn, ערך: dsn) |
| event_type | metadata.event_type | הערך הועתק ישירות |
| מאת | network.email.from | אם כתובת האימייל תקינה, היא מחולצת כ-valid_from באמצעות תבנית grok |
| מארח | principal.asset.hostname, principal.hostname | הערך הועתק ישירות |
| ip | principal.asset.ip, principal.ip | הערך הועתק ישירות |
| job_name | principal.resource.attribute.labels | בוצע מיזוג כ-job_name_label (מפתח: job_name, ערך: job_name) |
| למשלוחים | security_result.detection_fields | בוצע מיזוג כ-mailer_label (מפתח: mailer, ערך: mailer) |
| msgid | network.email.mail_id | הערך מועתק ישירות אחרי הסרת התווים < ו-> |
| mtaqid | principal.resource.product_object_id | הערך הועתק ישירות |
| nw_direction | network.direction | מגדירים את הערך OUTBOUND אם יש התאמות ל-Outbound (?i) |
| nrcpts | security_result.detection_fields | המיזוג בוצע כ-nrcpts_label (מפתח: nrcpts, ערך: nrcpts) |
| pid | principal.process.pid | הערך הועתק ישירות |
| יציאה | principal.port | הערך הועתק ישירות והומר למספר שלם |
| pri | security_result.detection_fields | ממוזג כ-pri_label (מפתח: priority, ערך: pri) |
| מעבד | principal.resource.attribute.labels | המיזוג מתבצע כ-processor_label (מפתח: processor, ערך: processor) |
| product_event_type | metadata.product_event_type | הערך הועתק ישירות |
| reject_msg | security_result.summary | הערך מועתק ישירות אם action_result, stat ו-status ריקים |
| relay_domain | intermediary.hostname | הערך הועתק ישירות |
| relay_ip | intermediary.ip | הערך הועתק ישירות |
| ruleset | security_result.rule_name | הערך הועתק ישירות |
| severity | security_result.severity | הערך INFORMATIONAL אם יש התאמה ל-info (?i) |
| size | network.sent_bytes | הערך הועתק ישירות והומר ל-uinteger |
| STARTTLS | security_result.detection_fields | מוזג כ-starttls_label (מפתח: STARTTLS, ערך: STARTTLS) |
| stat | security_result.summary | הערך מועתק ישירות אם action_result ריק |
| סטטוס | security_result.summary | הערך מועתק ישירות אם action_result, stat ו-reject_msg ריקים |
| נושא | network.email.subject, security_result.detection_fields | הערך הועתק ישירות ומוזג כ-subject_label (מפתח: subject, ערך: subject) |
| tls_verify, verify | security_result.action, security_result.description | הערך הוא ALLOW אם יש התאמה ל- (?i)OK, BLOCK אם יש התאמה ל- (?i)FAIL. התיאור הוא tls_verify - tls_verify. הערך של tls_verify מגיע מ-verify אם tls_verify ריק. |
| הם במצב | network.email.to | חילוץ כ-valid_to ממערך באמצעות תבנית grok לכל אימייל |
| משתמש, user | principal.user.userid | הערך מ-USER אם הוא לא ריק, אחרת הערך מ-user |
| גרסה | network.tls.version | הערך הועתק ישירות |
| xdelay | security_result.detection_fields | מוזגו כ-xdelay_label (מפתח: xdelay, ערך: xdelay) |
| metadata.product_name | ההגדרה היא Proofpoint Sendmail Sentrion | |
| metadata.vendor_name | הערך שמוגדר הוא PROOFPOINT_SENDMAIL_SENTRION |
שנה רישום
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.