איסוף יומנים של מתג Alcatel

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

נתמך ב:

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

‫Alcatel-Lucent Enterprise OmniSwitch היא סדרת מתגי LAN שניתנים להערמה ומספקים גישה לרשת, אכיפה של מדיניות אבטחה וניהול מאוחד של רשתות קוויות ואלחוטיות. המתגים יוצרים הודעות syslog שכוללות אירועי אימות, שינויים במצב הממשק, פעולות VLAN ופקודות CLI.

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

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

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

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

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > 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
    
  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/alcatel_switch:
        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: ALCATEL_SWITCH
        raw_log_field: body
    
    service:
      pipelines:
        logs/alcatel_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/alcatel_switch
    

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

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

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

    • ‫listen_address: כתובת ה-IP והיציאה להאזנה:
      • 0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • יציאה 514 היא יציאת syslog הרגילה (נדרש root ב-Linux; צריך להשתמש ב-1514 ללא root)
  • הגדרת כלי הייצוא:

    • ‫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: מספר הלקוח שהועתק ממסוף Google SecOps
    • ‫location: מחליפים את <LOCATION> באזור של המכונה של Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). המייצא מוסיף את הערך הזה בתחילת chronicle.googleapis.com. לרשימה המלאה, ראו נקודות קצה אזוריות.
    • ‫project: מחליפים את <PROJECT_NUMBER> במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
    • ‫endpoint: משאירים את הערך chronicle.googleapis.com.

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

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

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

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

  • אחרי שמסיימים לערוך, שומרים את הקובץ:
    • ‫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 במתג Alcatel

  1. מתחברים למתג באמצעות SSH או כבל קונסולה.
  2. נכנסים באמצעות פרטי הכניסה של אדמין.
  3. נכנסים למצב global configuration:

    enable
    configure terminal
    
  4. מגדירים את כתובת ה-IP של שרת Bindplane (syslog):

    swlog output socket <BINDPLANE_IP>
    
    • מחליפים את <BINDPLANE_IP> בכתובת ה-IP של סוכן Bindplane.
  5. הפעלת רישום ביומן בשרת syslog:

    swlog remote enable
    
  6. מגדירים את רמת הרישום ביומן:

    swlog console level info
    
  7. הפעלת רישום ביומן של פקודות:

    command-log enable
    
  8. שומרים את השינויים בהגדרות ההפעלה:

    write memory
    

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
1.1.1.1 principal.ipprincipal.asset.ip המידע הזה מחולץ מהודעת היומן.
1.1.1.2 target.iptarget.asset.ip המידע הזה מחולץ מהודעת היומן.
1.1.2.7 target.iptarget.asset.ip המידע הזה מחולץ מהודעת היומן.
1035 target.port חולץ מהודעת היומן.
2266 additional.fields.value.string_value חולץ מהודעת היומן ומופה בתור vlan.
3036 principal.port חולץ מהודעת היומן.
59300 target.port המידע הזה מחולץ מהודעת היומן.
60588 target.port חולץ מהודעת היומן.
997 principal.resource.attribute.labels.value חולץ מהודעת היומן ומופה בתור limit.
A6450-L2-K4B-01 principal.application המידע הזה מחולץ מהודעת היומן.
A6450-L2-X1B-02-01 principal.application המידע הזה מחולץ מהודעת היומן.
A6450-L2-X2A-01-01 principal.application המידע הזה מחולץ מהודעת היומן.
A6450-L2-X4B-02-01 principal.application המידע הזה מחולץ מהודעת היומן.
A6900-L3-LTX0A principal.application חולץ מהודעת היומן.
Accepted keyboard-interactive/pam security_result.summary חלק מהשדה sec_summary שחולץ.
b8:53:ac:6e:c9:bc principal.mac המידע הזה מחולץ מהודעת היומן.
BRIDGE(10) additional.fields.value.string_value חולץ מהודעת היומן ומופה בתור id_protocol.
CLI log, security_result.summary חלק מהשדה sec_summary שחולץ.
cmd: show configuration snapshot all, security_result.detection_fields.value הערך חולץ מהודעת היומן ומופה כ-cmd.
Connection reset by 1.1.2.7 port 60505 security_result.summary חולץ מהודעת היומן.
Dec 7 14:28:40 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Dec 8 04:21:22 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Dec 9 20:08:29 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Dec 9 20:51:34 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Dec 11 10:18:30 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Dec 17 02:14:22 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Dec 19 10:27:33 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Did not receive identification string from 1.1.2.7 port 60588 security_result.summary חולץ מהודעת היומן.
esmSetRateLimit: Txing additional.fields.value.string_value חולץ מהודעת היומן ומופה בתור esm_set_rate_limit.
Feb 15 16:29:29 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Feb 16 11:08:45 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
Feb 16 11:08:49 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
flashManager FlashMgr Main info(5) flashMgrValidateImage_exec: valid security_result.summary חולץ מהודעת היומן.
for ncmadmin from 1.1.1.2 port 59300 ssh2 security_result.summary חלק מהשדה sec_summary שחולץ.
from port 3036 to port 1035 security_result.summary חלק מהשדה sec_summary שחולץ.
IVDELCSW03 principal.hostnameprincipal.asset.hostname הערך מחולץ מהודעת היומן אם principal_ip היא לא כתובת IP.
IP-HELPER(22) additional.fields.value.string_value חולץ מהודעת היומן ומופה בתור id_protocol.
Jan 16 02:14:13 metadata.event_timestamp.secondsmetadata.event_timestamp.nanos מנותח מהשדה ts.
LLDP(42) additional.fields.value.string_value חולץ מהודעת היומן ומופה בתור id_protocol.
limit=997, principal.resource.attribute.labels.value הערך חולץ מהודעת היומן ומופה כ-limit.
limitType=1 principal.resource.attribute.labels.value חולץ מהודעת היומן ומופה בתור limitType.
lldpProcessLocationIdTLV: Error, LLDP-MED Civic Address LCI len 39 invalid, tlvL security_result.summary חולץ מהודעת היומן.
Mac Movement for MacAddr: a0:29:19:c0:55:18 security_result.summary המידע הזה מחולץ מהודעת היומן.
MacAddr: a0:29:19:c0:55:18 principal.mac המידע הזה מחולץ מהודעת היומן.
ncmadmin principal.user.userid חולץ מהודעת היומן.
OS6360 principal.hostnameprincipal.asset.hostname חולץ מהודעת היומן כש-principal_ip היא לא כתובת IP.
result: SUCCESS security_result.detection_fields.value חולץ מהודעת היומן ומופה בתור result.
SES CMD info(5) security_result.summary חלק מהקובץ sec_summaryfield שחולץ.
STACK-MANAGER principal.application המידע הזה מחולץ מהודעת היומן.
Stack Port A MAC Frames TX/RX Enabled security_result.summary חולץ מהודעת היומן.
STP(11) additional.fields.value.string_value הערך חולץ מהודעת היומן ומופה כ-id_protocol.
SWCONSOLE-L2-K0A-01 target.hostnametarget.asset.hostname המידע הזה מחולץ מהודעת היומן.
trafficType=2, principal.resource.attribute.labels.value הערך מחולץ מהודעת היומן וממופה כtraffic סוג.
user: ncmadmin security_result.summary חלק מהשדה sec_summary שחולץ.
zslot=0, principal.resource.attribute.labels.value חולץ מהודעת היומן ומופה בתור zslot.
- additional.fields.key ערך בקידוד קשיח: id_protocol
- additional.fields.key ערך בתוך הקוד: esm_set_rate_limit
- additional.fields.key ערך שמוגדר בהארדקוד: vlan
- metadata.event_type אם אין התאמה לסוג אחר, צריך להגדיר את הערך GENERIC_EVENT.
- metadata.product_name ערך בקידוד קשיח: Alcatel Switch
- metadata.vendor_name ערך בתוך הקוד: ALCATEL SWITCH
- network.application_protocol הערך שמוגדר הוא SSH אם id_protocol תואם ל-ssh (לא תלוי-רישיות).
- principal.resource.attribute.labels.key ערך שמוגדר בהארדקוד: limit
- principal.resource.attribute.labels.key ערך בקידוד קשיח: trafficType
- principal.resource.attribute.labels.key ערך בתוך הקוד: limitType
- principal.resource.attribute.labels.key ערך בקידוד קשיח: zslot
- security_result.detection_fields.key ערך בקידוד קשיח: cmd
- security_result.detection_fields.key ערך בקידוד קשיח: result
- security_result.severity הגדרה בתור INFORMATIONAL כשיש התאמה בין prod_severity לבין info (לא תלוי-רישיות).

יומן שינויים

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

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