איסוף יומני HP Linux

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני מערכת של מערכת ההפעלה HP-UX ב-Google Security Operations באמצעות סוכן Bindplane.

‫HP-UX היא מערכת הפעלה ארגונית של UNIX לשרתי HP Integrity ו-PA-RISC. יומני המערכת של HP-UX מתעדים אירועי אימות, ביצוע תהליכים, נתוני ביקורת אבטחה ופעילות כללית במערכת. קובצי Syslog מאוחסנים באופן מקומי בנתיב /var/adm/syslog/.

לפני שמתחילים

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מכונה של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • קישוריות לרשת בין סוכן Bindplane לבין שרת HP-UX
  • אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • גישה עם הרשאות (root) לשרת HP-UX

קבלת פרטי כניסה ל-Google SecOps עבור סוכן Bindplane

כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים באחת מהשיטות הבאות:

  • פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
  • פריסות קודמות: ממשיכים להשתמש בקובץ האימות להטמעת נתונים (אפשרות 2) עד שה-Ingestion API יופסק ב-20 ביולי 2027.
  1. נכנסים אל Google Cloud המסוף ובוחרים את Google Cloud הפרויקט שמקושר למופע של Google SecOps.
  2. נכנסים לדף IAM & Admin > Service Accounts.
  3. לוחצים על Create service account.
  4. מספקים את פרטי ההגדרה הבאים:
    • שם חשבון השירות: מזינים שם לחשבון (לדוגמה, bindplane-ingest).
    • Service account description: מזינים תיאור (לדוגמה, Bindplane agent log ingestion).
  5. לוחצים על Create and continue.
  6. בקטע Grant this service account access to project לוחצים על Select a role ובוחרים באפשרות Chronicle Editor.
  7. לוחצים על המשך ואז על סיום.
  8. לוחצים על חשבון השירות שיצרתם ועוברים לכרטיסייה Keys.
  9. לוחצים על Add key > Create new key.
  10. בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
  11. שומרים את קובץ המפתח בתור 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 כך שיתאים לנתיב שבו שמרתם אותו.
  12. עוברים אל IAM & Admin > Settings ומעתיקים את הערך של Project number. תצטרכו אותו כדי להגדיר את הייצוא.

אפשרות 2: הורדה של קובץ האימות להטמעת נתונים (מדור קודם)

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל הגדרות SIEM > סוכני איסוף.
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן סוכן Bindplane.

איך מקבלים את מספר הלקוח ב-Google SecOps

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Profile.
  3. מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.

התקנת הסוכן של Bindplane

מתקינים את סוכן Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.

התקנה ב-Windows

  1. פותחים את שורת הפקודה או את PowerShell כאדמין.
  2. מריצים את הפקודה הבאה:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. מחכים שההתקנה תסתיים.

  4. מאמתים את ההתקנה על ידי הרצת:

    sc query observiq-otel-collector
    

    השירות צריך להופיע עם הערך RUNNING.

התקנה ב-Linux

  1. פותחים טרמינל עם הרשאות root או sudo.
  2. מריצים את הפקודה הבאה:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. מחכים שההתקנה תסתיים.

  4. מאמתים את ההתקנה על ידי הרצת:

    sudo systemctl status observiq-otel-collector
    

    השירות אמור להופיע כ-active (running).

מקורות מידע נוספים להתקנה

אפשרויות התקנה נוספות ופתרון בעיות מפורטים במדריך להתקנת סוכן Bindplane.

הגדרה של סוכן Bindplane לקליטת syslog ושליחה ל-Google SecOps

מאתרים את קובץ התצורה

  • ‫Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

עריכת קובץ התצורה

  • מחליפים את כל התוכן של config.yaml בהגדרות הבאות:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/hp_linux:
        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
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: HP_LINUX
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/hpux_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/hp_linux
    

פרמטרים להגדרה

מחליפים את ה-placeholders הבאים:

  • הגדרת המקלט:

    • ‫udplog: סוג המקלט לפי הפרוטוקול:
      • ‫udplog ל-UDP syslog
      • ‫tcplog ל-syslog של TCP
    • ‫0.0.0.0: כתובת ה-IP להאזנה:
      • ‫0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • כתובת IP ספציפית להאזנה בממשק אחד
    • ‫514: מספר היציאה להאזנה (לדוגמה, 514, ‏ 1514, ‏ 6514)
  • הגדרת הייצוא:

    • ‫hp_linux: שם תיאורי של הכלי לייצוא
    • ‫creds_file_path: הנתיב המלא לקובץ המפתח של חשבון השירות בפורמט JSON (אפשרות 1):
      • ‫Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • ‫Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫<customer_id>: מספר הלקוח מהשלב הקודם
    • ‫location: מחליפים את <LOCATION> באזור של המכונה של Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). המייצא מוסיף את הערך הזה בתחילת chronicle.googleapis.com. לרשימה המלאה, ראו נקודות קצה אזוריות.
    • ‫project: מחליפים את <PROJECT_NUMBER> במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
    • ‫endpoint: משאירים את הערך chronicle.googleapis.com.
    • ‫HP_LINUX: סוג היומן בדיוק כמו שהוא מופיע ב-Chronicle
    • ‫ingestion_labels: תוויות אופציונליות בפורמט YAML (לדוגמה, env: production)
  • הגדרת צינור עיבוד הנתונים:

    • ‫hpux_to_chronicle: שם תיאורי של צינור העיבוד

מייצא API להטמעה מדור קודם

  • אם אתם משתמשים בקובץ האימות להטמעת נתונים מאפשרות 2, החליפו את הבלוק exporters בקוד הבא. מגדירים את creds_file_path לנתיב לקובץ האימות של ההעברה, ואם המופע שלכם נמצא מחוץ לארה"ב, מחליפים את malachiteingestion-pa.googleapis.com בנקודת הקצה האזורית (לדוגמה, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/hp_linux:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: HP_LINUX
        raw_log_field: body
        ingestion_labels:
          env: production
    

שמירת קובץ התצורה

  • אחרי שמסיימים לערוך, שומרים את הקובץ:
    • Linux: מקישים על Ctrl+O, אחר כך על Enter ואז על Ctrl+X
    • Windows: לוחצים על קובץ > שמירה

מפעילים מחדש את הסוכן של Bindplane כדי להחיל את השינויים.

  • כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux, מריצים את הפקודה הבאה:

    sudo systemctl restart observiq-otel-collector
    
    1. מוודאים שהשירות פועל:

      sudo systemctl status observiq-otel-collector
      
    2. בודקים אם יש שגיאות ביומנים:

      sudo journalctl -u observiq-otel-collector -f
      
  • כדי להפעיל מחדש את הסוכן של Bindplane ב-Windows, בוחרים באחת מהאפשרויות הבאות:

    • שורת הפקודה או PowerShell כאדמין:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • מסוף השירותים:

      1. מקישים על Win+R, מקלידים services.msc ומקישים על Enter.
      2. מאתרים את observIQ OpenTelemetry Collector.
      3. לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
      4. מוודאים שהשירות פועל:

        sc query observiq-otel-collector
        
      5. בודקים אם יש שגיאות ביומנים:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

הגדרת העברת syslog ב-HP-UX

  1. נכנסים לשרת HP-UX עם הרשאות ברמת הבסיס (root).
  2. עורכים את קובץ התצורה של syslog:

    vi /etc/syslog.conf
    
  3. מוסיפים את השורה הבאה כדי להעביר את כל הודעות ה-syslog לסוכן Bindplane:

    *.* @<BINDPLANE_AGENT_IP>
    
    • מחליפים את <BINDPLANE_AGENT_IP> בכתובת ה-IP של המארח של סוכן Bindplane.
    • הקידומת @ שולחת יומנים דרך UDP. ב-HP-UX syslog נעשה שימוש ב-UDP כברירת מחדל.
  4. כדי להעביר רק מתקנים ספציפיים, משתמשים בשורות נפרדות:

    auth.*  @<BINDPLANE_AGENT_IP>
    kern.*  @<BINDPLANE_AGENT_IP>
    *.err   @<BINDPLANE_AGENT_IP>
    
  5. שומרים וסוגרים את הקובץ.

  6. מפעילים מחדש את ה-daemon של syslog כדי שהשינויים ייכנסו לתוקף:

    /sbin/init.d/syslogd stop
    /sbin/init.d/syslogd start
    
  7. כדי לוודא שהודעות syslog מתקבלות, בודקים את היומנים של סוכן Bindplane.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
audit_type_label additional.fields ממוזג
auth_failures_label additional.fields ממוזג
ctladdr_label additional.fields ממוזג
da_instance_label additional.fields ממוזג
delay_label additional.fields ממוזג
dsn_label additional.fields ממוזג
event_code_label additional.fields ממוזג
mailer_label additional.fields ממוזג
msg_id_label additional.fields ממוזג
pri_label additional.fields ממוזג
raw_severity_label additional.fields ממוזג
ssh_version_label additional.fields ממוזג
stat_label additional.fields ממוזג
suite_label additional.fields ממוזג
syslog_priority_label additional.fields ממוזג
to_label additional.fields ממוזג
tty_label additional.fields ממוזג
xdelay_label additional.fields ממוזג
process extensions.auth.type מיפוי: "sshd", "login" → AUTHTYPE_UNSPECIFIED
msg metadata.description מיפוי ישיר
ts metadata.event_timestamp נותח בתור MMM d HH:mm:ss
utc metadata.event_timestamp נותח בתור UNIX_MS
event_type metadata.event_type מיפוי ישיר
action_type metadata.product_event_type מיפוי ישיר
centrifyEventID metadata.product_log_id מיפוי ישיר
version metadata.product_version מיפוי ישיר
message network.application_protocol מיפוי: (?i)ssh → SSH
proto network.ip_protocol מופה: tcp ← TCP
DASessID network.session_id מיפוי ישיר
process principal.application מיפוי ישיר
host principal.asset.hostname מיפוי ישיר
src_ip principal.asset.ip ממוזג
host principal.hostname מיפוי ישיר
src_ip principal.ip ממוזג
src_port principal.port מיפוי ישיר
p_id principal.process.pid מיפוי ישיר
principal_user principal.user.userid מיפוי ישיר
user principal.user.userid מיפוי ישיר
security_result_action security_result.action ממוזג
ruleset security_result.rule_name מיפוי ישיר
log_level security_result.severity מופה: INFO ← INFORMATIONAL
sev security_result.severity מופה: (?i)ERROR ← ERROR
log_level security_result.severity_details מיפוי ישיר
t_domain target.administrative_domain מיפוי ישיר
t_app target.application מיפוי ישיר
t_hostname target.asset.hostname מיפוי ישיר
target_hostname target.asset.hostname מיפוי ישיר
t_hostname target.hostname מיפוי ישיר
target_hostname target.hostname מיפוי ישיר
target_user target.user.userid מיפוי ישיר
user target.user.userid מיפוי ישיר
לא רלוונטי extensions.auth.type קבוע: AUTHTYPE_UNSPECIFIED
לא רלוונטי metadata.product_name קבוע: HP Linux
לא רלוונטי metadata.vendor_name קבוע: HP Linux
לא רלוונטי network.application_protocol קבוע: SSH
לא רלוונטי network.ip_protocol קבוע: TCP
לא רלוונטי security_result.severity קבוע: INFORMATIONAL

יומן שינויים

צפייה ביומן השינויים של המנתח הזה

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.