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

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

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

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

מקורות מידע נוספים בנושא התקנה

במדריך להתקנת הסוכן של 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 Logic (פונקציה לוגית)
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.