איסוף יומנים של Active Countermeasures AC-Hunter

גרסת המנתח: 3.0

נתמך ב:

במסמך הזה מוסבר איך להטמיע ב-Google Security Operations יומנים של Active Countermeasures AC-Hunter באמצעות Bindplane.

‫AC-Hunter היא פלטפורמה לגילוי איומים ברשת של Active Countermeasures, שמבצעת באופן אוטומטי איתור איומים על ידי ניתוח של תעבורת הנתונים ברשת כדי לזהות מערכות שנפרצו ומתקשרות עם שרתי שליטה ובקרה. ‫AC-Hunter פועל במאגרי Docker בשרת Linux ויכול להעביר התראות על איומים באמצעות פרוטוקול syslog ל-SIEM או לשרת רישום מרכזי.

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

חשוב לוודא שיש לכם את הדברים הבאים:

  • מכונה של Google SecOps.
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd.
  • אם מריצים את הסוכן מאחורי שרת proxy, צריך לוודא שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
  • גישה עם הרשאות (SSH עם sudo) לשרת Active Countermeasures AC-Hunter כדי לערוך את קובץ התצורה.
  • ‫AC-Hunter בגרסה 5.3.0 ואילך (בגרסאות קודמות יש באג שחוסם שליחה של הודעות syslog).
  • נתיב הרשת משרת AC-Hunter למארח של סוכן Bindplane ביציאת ה-syslog שבחרתם (UDP או TCP).
  • העברת IP מופעלת במארח AC-Hunter כדי לאפשר למאגרי Docker לשלוח syslog לשרתים חיצוניים.

קבלת פרטי כניסה ל-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 (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
  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 > סוכני איסוף.
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
  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

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

  • 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/ac_hunter:
        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: AI_HUNTER
        raw_log_field: body
    
    service:
      pipelines:
        logs/ac_hunter_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/ac_hunter
    

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

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

  • הגדרת מקלט:

    • ‫udplog: משתמשים ב-udplog עבור UDP syslog או ב-tcplog עבור TCP syslog. התאימו לפרוטוקול שהוגדר ב-AC-Hunter.
    • ‫0.0.0.0:514: כתובת ה-IP והיציאה להאזנה. משתמשים ב-0.0.0.0 כדי להאזין בכל הממשקים.
  • הגדרת כלי הייצוא:

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

כלי לייצוא נתונים מ-Legacy ingestion API

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

    exporters:
      chronicle/ac_hunter:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: AI_HUNTER
        raw_log_field: body
    

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

כדי להפעיל מחדש את סוכן Bindplane ב-Linux:

  1. מריצים את הפקודה הבאה:

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

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

    sudo journalctl -u observiq-otel-collector -f
    

כדי להפעיל מחדש את הסוכן של Bindplane ב-Windows:

  1. בוחרים אחת מהאפשרויות האלה:

    • שורת הפקודה או PowerShell כאדמין:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • מסוף השירותים:
      1. לוחצים על Win+R, מקלידים services.msc ולוחצים על Enter.
      2. מאתרים את observIQ OpenTelemetry Collector.
      3. לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
  2. מוודאים שהשירות פועל:

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

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

הגדרת העברת syslog ב-Active Countermeasures AC-Hunter

  1. נכנסים לשרת AC-Hunter באמצעות SSH עם הרשאות גישה.
  2. מגבים את קובץ התצורה הקיים:

    sudo cp /etc/AI-Hunter/config.yaml /etc/AI-Hunter/config.yaml.backup
    
  3. פותחים את קובץ התצורה בכלי לעריכת טקסט:

    sudo nano /etc/AI-Hunter/config.yaml
    
  4. מאתרים את הקטע Alert:‎ ואת הקטע המשני Syslog:‎. ממלאים את פרטי ההגדרה הבאים:

    Alert:
        Syslog:
            Threshold: 20
            Protocol: "udp"
            Address: "BINDPLANE_IP:514"
            Tag: " AC-Hunter "
    
    • סף: מזינים את ציון האיום המינימלי להפעלת התראות (לדוגמה, 20). מערכות עם ציונים בערך הזה או מעליו יוצרות התראות syslog.
    • פרוטוקול: בוחרים באפשרות "udp" או "tcp" בהתאם להגדרת המקלט של סוכן Bindplane. כדי לכתוב למארח /dev/log להעברת rsyslog, משתמשים ב-"" (מחרוזת ריקה).
    • כתובת: מזינים את כתובת ה-IP והיציאה של סוכן Bindplane (לדוגמה, "10.1.2.3:514").
    • תג: מזינים תג אופציונלי לזיהוי ביומן (לדוגמה, " AC-Hunter "). מוסיפים רווח בסוף לפני המירכאות הסוגרות כדי שהתג לא יתנגש עם טקסט ההודעה.
  5. שומרים את קובץ ההגדרות ויוצאים מהעורך.

  6. מפעילים מחדש את AC-Hunter כדי להחיל את השינויים:

    hunt up -d --force-recreate
    
  7. ממתינים עד 20 דקות אחרי השעה הבאה. ‫AC-Hunter מייבא יומנים חדשים כל שעה מחיישנים ושולח התראות syslog למערכות שחורגות מהסף שהוגדר במהלך מחזור הייבוא הזה.

  8. כדי לוודא שהודעות syslog מגיעות למארח של סוכן Bindplane, בודקים את קובץ היומן המקומי של syslog:

    sudo tail -f /var/log/syslog
    

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
api_msg_label additional.fields ממוזג
prev_score metadata.description מיפוי ישיר
score metadata.description מיפוי ישיר
ts_date metadata.event_timestamp ניתוח הכתובות שברשימה: MMM dd HH:mm:ss
ts_iso8601 metadata.event_timestamp ניתוח הכתובות שברשימה: ISO8601
has_principal metadata.event_type מופה: true ← STATUS_UNCATEGORIZED
src_ip principal.asset.ip ממוזג
src_ip principal.ip ממוזג
blacklist_avg_bytes_label principal.labels ממוזג
blacklist_in_label principal.labels ממוזג
blacklist_out_label principal.labels ממוזג
database_label principal.labels ממוזג
dns_txt_query_label principal.labels ממוזג
invalid_cert_label principal.labels ממוזג
max_beacon_label principal.labels ממוזג
max_duration_label principal.labels ממוזג
prev_score_label principal.labels ממוזג
rare_client_label principal.labels ממוזג
score_label principal.labels ממוזג
unexpected_proto_label principal.labels ממוזג
source_module_label principal.resource.attribute.labels ממוזג
domain target.asset.hostname מיפוי ישיר
domain target.hostname מיפוי ישיר
לא רלוונטי metadata.event_type קבוע: STATUS_UNCATEGORIZED
לא רלוונטי metadata.product_name קבוע: AI hunter
לא רלוונטי metadata.vendor_name קבוע: Active Countermeasures

יומן שינויים

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

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