איסוף יומנים של Cisco Wireless LAN Controller ‏ (WLC)

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

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומנים של Cisco Wireless LAN Controller ‏ (WLC) ב-Google Security Operations באמצעות סוכן Bindplane.

הכלי מנתח את ההודעות ביומן המערכת של Cisco WLC באמצעות דפוסי grok, ומטפל בפורמטים שונים של יומנים, כולל DHCP, אימות ואירועים ברשת. היא ממפה את השדות שחולצו למודל הנתונים המאוחד (UDM) וקובעת את סוג האירוע על סמך mnemonic ותוכן ההודעה.

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

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

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

קבלת קובץ אימות להטמעת נתונים ב-Google SecOps

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

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
  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
    
  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 /etc/bindplane-agent/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/cisco_wireless:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CISCO_WIRELESS
            raw_log_field: body
    
    service:
        pipelines:
            logs/cisco_wireless_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cisco_wireless
    

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

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

  • הגדרת מקלט:

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

    • ‫creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:
      • ‫Linux: /etc/bindplane-agent/ingestion-auth.json
      • ‫Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫customer_id: מספר הלקוח שהועתק ממסוף Google SecOps
    • ‫endpoint: כתובת ה-URL של נקודת הקצה האזורית:
      • ארה"ב: malachiteingestion-pa.googleapis.com
      • אירופה: europe-malachiteingestion-pa.googleapis.com
      • אסיה: asia-southeast1-malachiteingestion-pa.googleapis.com
      • רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.

שמירת קובץ ההגדרות

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

  1. נכנסים לממשק המשתמש האינטרנטי של WLC.
  2. עוברים אל ניהול > יומנים > הגדרה.
  3. מזינים את כתובת ה-IP של סוכן Bindplane בשדה כתובת ה-IP של שרת Syslog.
  4. לוחצים על הוספה.
  5. מספקים את פרטי ההגדרה הבאים:
    • Syslog Severity (חומרת Syslog): בוחרים באפשרות Informational (מידע).
    • Syslog Facility: בוחרים באפשרות Local Use 0.
  6. לוחצים על אישור.
  7. לוחצים על שמירת ההגדרה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
action_data read_only_udm.security_result.action_details ממופה ישירות מהשדה action_data.
data read_only_udm.metadata.description ממופה ישירות מהשדה data אחרי עיבוד מסוים (למשל, הסרת חותמות זמן, תווים מיותרים). הערך הזה מחולץ מחותמת הזמן בתחילת הודעת היומן. המנתח מטפל בפורמטים שונים. הערך נקבע על סמך השדות mnemonic ו-messageToProcess באמצעות לוגיקה מורכבת בקובץ cisco_wireless.include. מגדירים את הערך כ-CISCO_WIRELESS. שרשור של השדות facility, cisco_severity ו-mnemonic. הערך הזה מחולץ מהודעת היומן אם הוא זמין. מגדירים את הערך כ-CISCO_WIRELESS. הערך נלקח מהשדה version אם הוא זמין. ההגדרה היא CISCO. הערך הוא DHCP אם האירוע קשור ל-DHCP. הערך צריך להיות BROADCAST לאירועים של רשתות שידור. מגדירים את הערך UDP לאירועים ברשת UDP. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. ממופה מהשדות wlc_controller או hostname, בהתאם לפורמט היומן. הערך הזה מחולץ מהתיאור או מהמאפיין MessageSourceAddress אם הם זמינים. ממופה מהשדות wlc_controller או hostname, בהתאם לפורמט היומן. הערך הזה מחולץ מהתיאור או מהמאפיין MessageSourceAddress אם הם זמינים. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. נוצר מהשדות SourceModuleName ו-SourceModuleType כשהם זמינים. ממופה מ-read_only_udm.principal.user.userid כשמזהה המשתמש נראה כמו כתובת אימייל. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. נקבע על סמך סוג האירוע והתיאור שלו. נקבע על סמך סוג האירוע והתיאור שלו. נוצר משדות ספציפיים בתיאור, אם יש כאלה. המידע הזה נלקח מהתיאור, אם יש כזה. לפעמים משלב מידע מכמה שדות. נקבע על סמך השדה cisco_severity וסוג האירוע. הערך נגזר מהשדה read_only_udm.security_result.severity. סיכום תמציתי של תוצאת האבטחה, שמבוסס על התיאור וסוג האירוע. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. המידע הזה נלקח מהתיאור, אם יש כזה. הערך הוא SETTING לאירועים של שינוי הגדרה. המידע הזה נלקח מהתיאור, אם יש כזה.
event_data read_only_udm.metadata.product_event_type ממופה ישירות מהשדה event_data.
event_id read_only_udm.metadata.product_log_id ממופה ישירות מהשדה event_id.
event_ts read_only_udm.metadata.event_timestamp ממופה ישירות מהשדה event_ts.
facility read_only_udm.metadata.product_event_type ממופה ישירות מהשדה facility.
hostname read_only_udm.principal.hostname ממופה ישירות מהשדה hostname.
hostname read_only_udm.target.hostname ממופה ישירות מהשדה hostname.
inter_mac read_only_udm.intermediary.mac ממופה ישירות מהשדה inter_mac.
intermediary_hostname read_only_udm.intermediary.hostname ממופה ישירות מהשדה intermediary_hostname.
kv_data read_only_udm.principal.resource.attribute.labels הערך הזה מנותח כצמדי מפתח/ערך ומשמש לאכלוס תוויות.
log_message read_only_udm.security_result.description ממופה ישירות מהשדה log_message.
MessageSourceAddress read_only_udm.principal.asset.ip ממופה ישירות מהשדה MessageSourceAddress.
MessageSourceAddress read_only_udm.principal.ip ממופה ישירות מהשדה MessageSourceAddress.
messageToProcess read_only_udm.metadata.description ממופה ישירות מהשדה messageToProcess אחרי עיבוד מסוים.
mnemonic read_only_udm.metadata.event_type השדה הזה משמש בשילוב עם שדות אחרים כדי לקבוע את סוג האירוע.
mnemonic read_only_udm.metadata.product_event_type ממופה ישירות מהשדה mnemonic.
severity_data read_only_udm.security_result.severity ממופה מהשדה severity_data אחרי המרה לערך enum.
SourceModuleName read_only_udm.principal.resource.attribute.labels ממופה ישירות מהשדה SourceModuleName.
SourceModuleType read_only_udm.principal.resource.attribute.labels ממופה ישירות מהשדה SourceModuleType.
timestamp read_only_udm.metadata.event_timestamp ממופה ישירות מהשדה timestamp.
version read_only_udm.metadata.product_version ממופה ישירות מהשדה version.
wlc_controller read_only_udm.principal.hostname ממופה ישירות מהשדה wlc_controller.
wlc_controller read_only_udm.target.hostname ממופה ישירות מהשדה wlc_controller.
mnemonic event.idm.read_only_udm.metadata.product_event_type מופה מיומן השינויים
urlHolder event.idm.read_only_udm.target.url מופה מיומן השינויים
syslog_sequence event.idm.read_only_udm.additional.fields מופה מיומן השינויים
userid event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים
principal_mac event.idm.read_only_udm.principal.mac מופה מיומן השינויים
obs_host event.idm.read_only_udm.observer.hostname מופה מיומן השינויים
obs_desc event.idm.read_only_udm.observer.labels מופה מיומן השינויים
addr event.idm.read_only_udm.additional.fields מופה מיומן השינויים
component_status event.idm.read_only_udm.additional.fields מופה מיומן השינויים
ecc event.idm.read_only_udm.additional.fields מופה מיומן השינויים
multipleErrorsDetected event.idm.read_only_udm.additional.fields מופה מיומן השינויים
rep[0] event.idm.read_only_udm.additional.fields מופה מיומן השינויים
rep[1] event.idm.read_only_udm.additional.fields מופה מיומן השינויים
rep[2] event.idm.read_only_udm.additional.fields מופה מיומן השינויים
suppressed_times event.idm.read_only_udm.additional.fields מופה מיומן השינויים
valid event.idm.read_only_udm.additional.fields מופה מיומן השינויים
interface event.idm.read_only_udm.additional.fields מופה מיומן השינויים
event_id event.idm.read_only_udm.metadata.product_log_id מופה מיומן השינויים
principal_hostname event.idm.read_only_udm.principal.hostname וגם event.idm.read_only_udm.principal.asset.hostname מופה מיומן השינויים
wlc_controller event.idm.read_only_udm.principal.hostname וגם event.idm.read_only_udm.principal.asset.hostname מופה מיומן השינויים
src_ip_1 event.idm.read_only_udm.principal.ip מופה מיומן השינויים
src_ip_2 event.idm.read_only_udm.principal.ip מופה מיומן השינויים
mac1 event.idm.read_only_udm.principal.mac מופה מיומן השינויים
mac2 event.idm.read_only_udm.principal.mac מופה מיומן השינויים
slot event.idm.read_only_udm.security_result.detection_fields מופה מיומן השינויים
username event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים
src_ip event.idm.read_only_udm.principal.ip וגם event.idm.read_only_udm.principal.asset.ip מופה מיומן השינויים
ssid event.idm.read_only_udm.security_result.detection_fields מופה מיומן השינויים
SourceModuleName" and "SourceModuleType principal.resource.attribute.labels מופה מיומן השינויים
client_host", and "hostname principal.hostname מופה מיומן השינויים
client_ip principal.ip מופה מיומן השינויים
client_mac principal.mac מופה מיומן השינויים
ap_ip target.ip מופה מיומן השינויים
ap_mac target.mac מופה מיומן השינויים
messageToProcess" and "description metadata.description מופה מיומן השינויים
inter_url intermediary.url מופה מיומן השינויים
inter_ip intermediary.ip מופה מיומן השינויים
sec_desc security_result.description מופה מיומן השינויים
latest_version", "current_version", "certificate", "expiry_date", "clostest_sensor", "ssid", "client", "xid", "failure_reason", "auth_failure_reason", and "interface security_result.detection_fields מופה מיומן השינויים
action_data security_result.acion_details מופה מיומן השינויים
username principal.user.userid מופה מיומן השינויים
vendor", and "RSSI principal.resource.attribute.labels מופה מיומן השינויים
vendor", "security_setting", "channel", "protocol", and "RSSI target.resource.attribute.labels מופה מיומן השינויים
msg1 metadata.description מופה מיומן השינויים
wlc_controller event.idm.read_only_udm.principal.hostname מופה מיומן השינויים
event.idm.read_only_udm.metadata.event_type USER_RESOURCE_ACCESS מופה מיומן השינויים

יומן שינויים

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

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