איסוף יומנים של Cisco Application Control Engine (ACE)

גרסת המנתח: 2.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני Cisco Application Control Engine‏ (ACE) ב-Google Security Operations באמצעות Bindplane. המנתח מחלץ מידע שרלוונטי לאבטחה מהודעות SYSLOG. הוא משתמש בביטויים רגולריים כדי לזהות סוגי אירועים ספציפיים, מחלץ נקודות נתונים חשובות כמו כתובות IP ויציאות של מקור או יעד, ומארגן אותן במודל נתונים מאוחד (UDM) לניתוח עקבי.

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

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

  • מופע של Google SecOps
  • ‫Windows 2016 ואילך או מארח Linux עם systemd
  • אם מריצים את הכלי מאחורי שרת proxy, צריך לוודא שהיציאות של חומת האש פתוחות
  • גישה עם הרשאות מיוחדות ל-Cisco Application Control Engine

קבלת פרטי כניסה ל-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. מזינים את פרטי ההגדרה הבאים:
    • Service account name: מזינים שם לחשבון (לדוגמה, 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
    

התקנה ב-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 להטמעת Syslog ושליחה ל-Google SecOps

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

    receivers:
        udplog:
            # Replace the port and IP address as required
            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: <customer_id>
            endpoint: chronicle.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CISCO_ACE'
            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.
    • מחליפים את <customer_id> במזהה הלקוח בפועל.
    • מעדכנים את /path/to/ingestion-authentication-file.json לנתיב שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 1) בקטע קבלת פרטי כניסה ל-Google SecOps בשביל סוכן Bindplane.

כלי לייצוא נתונים מ-Legacy ingestion 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: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CISCO_ACE'
            raw_log_field: body
            ingestion_labels:
    

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

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

    sudo systemctl restart bindplane-agent
    
  • כדי להפעיל מחדש את סוכן Bindplane ב-Windows, אפשר להשתמש במסוף Services או להזין את הפקודה הבאה:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

הגדרת syslog ב-Cisco Application Control Engine ‏ (ACE)

  1. נכנסים למכשיר Cisco ACE.
  2. עוברים אל התפריט הראשי > אפשרויות מתקדמות > הגדרת Syslog.
  3. לוחצים על Add First Server (הוספת השרת הראשון) ואז על OK (אישור).
  4. מזינים את כתובת ה-IP של סוכן Bindplane ואת מספר היציאה בשדה 'שרת Syslog ראשון'.
  5. לוחצים על אישור. המערכת תופעל מחדש עם ההגדרות החדשות.
  6. לוחצים שוב על אישור.
  7. לוחצים על החזרה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
פעולה security_result.action_details הערך נלקח מהשדה action אחרי פעולת המרת האותיות לאותיות קטנות.
פעולה security_result.action אם action הוא built, צריך להגדיר אותו כ-ALLOW. אם action הוא teardown, צריך להגדיר אותו כ-BLOCK.
בייטים network.sent_bytes השדה הזה מאוכלס רק עבור event_id 302025.
dst_interface target.resource.attribute.labels.value
dst_ip target.ip
dst_port target.port
event_id metadata.product_event_type
icmp_code_laddr additional.fields.value.string_value המפתח הוא icmp_code_laddr.
icmp_code_xlated additional.fields.value.string_value המפתח הוא icmp_code_xlated.
icmp_seq_num additional.fields.value.string_value המפתח הוא icmp_seq_num.
פרוטוקול network.ip_protocol
פרוטוקול metadata.description משמש לאכלוס התיאור של סוגי אירועים ספציפיים.
src_interface principal.resource.attribute.labels.value
src_ip principal.ip
src_port principal.port
חותמת זמן metadata.event_timestamp.seconds הומר לשניות של תקופה.
metadata.log_type מקודד בתוך הקוד ל-CISCO_ACE.
metadata.event_type צריך להגדיר את הערך NETWORK_CONNECTION למזהי האירועים 302024, ‏ 302025, ‏ 302022, ‏ 302023, ‏ 302026, ‏ 302027. צריך להגדיר את הערך SCAN_UNCATEGORIZED למזהה האירוע 400000.
target.resource.attribute.labels.key הוזן קוד קשיח ל-Connection Interface.
principal.resource.attribute.labels.key מקודד בתוך הקוד ל-Connection Interface.
icmp_code_laddr","icmp_code_xlated","icmp_seq_num additional.fields מופה מיומן השינויים

יומן שינויים

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

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