איסוף יומני ביקורת של Entrust nShield HSM

גרסת כלי הניתוח: 1.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני ביקורת של Entrust nShield HSM ב-Google Security Operations באמצעות סוכן Bindplane.

מנתח הנתונים מחלץ שדות מיומנים בפורמט syslog של Entrust nShield HSM. הוא משתמש ב-grok או ב-kv כדי לנתח את הודעת היומן, ואז ממפה את הערכים האלה למודל הנתונים המאוחד (UDM). הוא גם מגדיר ערכי מטא-נתונים שמוגדרים כברירת מחדל למקור האירוע ולסוג האירוע.

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

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

  • מופע של Google SecOps
  • מארח עם Windows 2016 ואילך או Linux עם systemd
  • אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • גישה עם הרשאות למסוף הניהול של Entrust nShield HSM או ל-Security World Software
  • ‫Security World מאותחל עם יכולת רישום ביומן ביקורת

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

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

  • פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
  • פריסות מדור קודם: אפשר להמשיך להשתמש בקובץ האימות של ה-API להעברת נתונים (אפשרות 2) עד שה-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 (ניהול הרשאות גישה ואדמין > הגדרות) ומעתיקים את מספר הפרויקט. תצטרכו אותו כדי להגדיר את הייצוא.

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

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

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

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

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

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

התקנת חלונות

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

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

התקנה ב-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
    

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

לאפשרויות התקנה נוספות, קראו את מדריך ההתקנה של סוכן Bindplane.

הגדרה של סוכן Bindplane להטמעה של Syslog ושליחה אל Google SecOps

  1. ניגשים לקובץ התצורה:
    • מאתרים את הקובץ config.yaml. בדרך כלל, הוא נמצא בספרייה /opt/observiq-otel-collector/ ב-Linux או בספריית ההתקנה ב-Windows.
    • פותחים את הקובץ באמצעות כלי לעריכת טקסט (לדוגמה, nano,‏ vi או Notepad).
  2. עורכים את הקובץ config.yaml באופן הבא:

    receivers:
      udplog:
        # nShield HSM only supports UDP for audit logs
        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: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Use ENTRUST_HSM as the log type
        log_type: 'ENTRUST_HSM'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • מחליפים את היציאה ואת כתובת ה-IP לפי הצורך בתשתית שלכם.
    • מחליפים את <LOCATION> באזור של מכונת Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). המייצא מוסיף את הערך הזה בתחילת chronicle.googleapis.com.
    • מחליפים את <PROJECT_NUMBER> במספר הפרויקט מתוך IAM & Admin > Settings.
    • מחליפים את YOUR_CUSTOMER_ID במספר הלקוח בפועל.
    • מעדכנים את /path/to/ingestion-authentication-file.json לנתיב הקובץ שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 1) בשלב 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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Use ENTRUST_HSM as the log type
        log_type: 'ENTRUST_HSM'
        raw_log_field: body
        ingestion_labels:
    

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

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

    sudo systemctl restart observiq-otel-collector
    
  2. כדי להפעיל מחדש את סוכן Bindplane ב-Windows, אפשר להשתמש במסוף Services או להזין את הפקודה הבאה:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

הגדרת העברת Syslog ב-Entrust nShield HSM

שיטת ההגדרה תלויה במודל הפריסה של nShield HSM. צריך להפעיל את רישום הביקורת ביומן כשיוצרים Security World או כשמכניסים HSM ל-Security World קיים.

  1. במחשב הלקוח שבו מותקנת התוכנה Security World, מריצים את הפקודה הבאה:

    config-auditlogging --server <BINDPLANE_IP> --port 514 --enable-syslog
    
  2. מחליפים את <BINDPLANE_IP> בכתובת ה-IP של המארח של סוכן Bindplane.

    • השינויים בהגדרות נכתבים בקובץ התצורה של השרת הפיזי.
  3. מפעילים מחדש את ה-hardserver כדי להחיל את השינויים:

    • ‫Linux: /opt/nfast/sbin/init.d-ncipher restart
    • ‫Windows: net stop "nfast server" && net start "nfast server"

אפשרות 2: הגדרה באמצעות קובץ תצורה של שרת חומרה

  1. עורכים את קובץ ההגדרות של hardserver:
    • Linux: /opt/nfast/kmdata/config/config
    • ‫Windows: %NFAST_KMDATA%\config\config
  2. מוסיפים או משנים את הערכים הבאים בקובץ התצורה:

    auditlog_addr=<BINDPLANE_IP>
    auditlog_port=514
    

    ‫*מחליפים את <BINDPLANE_IP> בכתובת ה-IP של המארח של סוכן Bindplane.

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

  4. מפעילים מחדש את השרת כדי שהשינויים ייכנסו לתוקף:

    • ‫Linux: /opt/nfast/sbin/init.d-ncipher restart
    • Windows: net stop "nfast server" && net start "nfast server"

אפשרות 3: הגדרה של HSM שמחוברים לרשת (nShield Connect)

ב-HSM שמחוברים לרשת, אפשר לשלוח את ההגדרות מרחוק:

  1. מוודאים שהאפשרות "שליחת הגדרות אישיות" מופעלת ב-RFS (מערכת קבצים מרחוק).
  2. מעתיקים את קובץ התצורה של ה-HSM:

    cp /opt/nfast/kmdata/hsm-ESN/config/config /opt/nfast/kmdata/hsm-ESN/config/config.new
    
  3. עורכים את config.new כדי להוסיף את הגדרת הרישום ביומן הביקורת:

    [audit_logging]
    auditlog_addr=<BINDPLANE_IP>
    auditlog_port=514
    
  4. מעבירים את ההגדרה ל-HSM:

    cfg-pushnethsm --address=<HSM_IP> /opt/nfast/kmdata/hsm-ESN/config/config.new
    
    • מחליפים את <HSM_IP> בכתובת ה-IP של ה-HSM של nShield Connect.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
desc metadata.description מיפוי ישיר
ts metadata.event_timestamp נותח בתור MMM d HH:mm:ss
has_principal metadata.event_type מיפוי: true → STATUS_UPDATE
has_user metadata.event_type מיפוי: true → USER_UNCATEGORIZED
product_event metadata.product_event_type מיפוי ישיר
session_id network.session_id מיפוי ישיר
application principal.application מיפוי ישיר
ip principal.asset.ip ממוזג
rhost principal.asset.ip ממוזג
ip principal.ip ממוזג
rhost principal.ip ממוזג
port principal.port מיפוי ישיר
user principal.user.userid מיפוי ישיר
לא רלוונטי metadata.event_type קבוע: USER_UNCATEGORIZED
לא רלוונטי metadata.product_name קבוע: Entrust nShield HSM
לא רלוונטי metadata.vendor_name קבוע: ENTRUST HSM

יומן שינויים

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

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