איסוף יומני FTP של FileZilla

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

נתמך ב:

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

‫FileZilla הוא שרת ולקוח FTP בקוד פתוח שיוצר קובצי יומן שמכילים פרטי חיבור, פעולות העברת קבצים, אירועי אימות ופעילות של סשנים. הכלי לניתוח מחלץ שדות מנתוני יומן באמצעות דפוסי grok וממפה אותם למודל הנתונים המאוחד (UDM).

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

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

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

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

איתור קובץ ההגדרות

  • ‫Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • ‫Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

עריכת קובץ ההגדרות

  • מחליפים את כל התוכן של config.yaml בהגדרה הבאה:

    receivers:
        filelog:
            file_path: '<PATH_TO>/filezilla-logs.log'
            log_type: 'file'
    
    exporters:
        chronicle/filezilla_ftp:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: FILEZILLA_FTP
            raw_log_field: body
    
    service:
        pipelines:
            logs/filezilla_ftp_to_chronicle:
                receivers:
                    - filelog
                exporters:
                    - chronicle/filezilla_ftp
    

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

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

  • הגדרת מקלט:

    • ‫file_path: הנתיב המלא לקובץ היומן של FileZilla:
      • ‫Linux: לדוגמה, /var/log/filezilla/filezilla-logs.log
      • Windows: לדוגמה, C:\Users\<username>\AppData\Local\FileZilla\filezilla-logs.log
      • הנתיב המדויק תלוי בשם הקובץ ובמיקום שהוגדרו ב-FileZilla (ראו הגדרת רישום ביומן ב-FileZilla)
  • הגדרת כלי הייצוא:

    • ‫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"
        

הגדרת רישום ביומן ב-FileZilla

  1. נכנסים לשרת באמצעות FileZilla.
  2. פותחים את תוכנת FileZilla.
  3. עוברים אל עריכה > הגדרות.
  4. בתפריט, בוחרים באפשרות Logging (רישום ביומן).
  5. מספקים את פרטי ההגדרה הבאים:
    • מסמנים את תיבת הסימון הצגת חותמות זמן בתיבת ההודעה.
    • מסמנים את תיבת הסימון Log to file (רישום ביומן לקובץ).
    • שם הקובץ: מזינים שם לקובץ ובוחרים את נתיב האחסון (לדוגמה, filezilla-logs).
    • אופציונלי: הגבלת הגודל של קובץ היומן: מסמנים את התיבה הזו כדי להגביל את נפח האחסון שקובץ היומן יכול לתפוס.
    • אופציונלי: הגבלה: מזינים את הגודל המקסימלי של קובץ היומן במגה-בייט.
  6. לוחצים על OK.
  7. מפעילים מחדש את FileZilla.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
נתונים read_only_udm.metadata.description תוכן השדה data ביומן הגולמי.
נתונים read_only_udm.metadata.event_timestamp.seconds הערך חולץ מהשדה data באמצעות תבנית grok והומר לשניות מאז תקופת ה-epoch.
נתונים read_only_udm.network.http.response_code הערך חולץ מהשדה data באמצעות תבנית grok.
נתונים read_only_udm.principal.hostname הערך חולץ מהשדה data באמצעות תבנית grok.
נתונים read_only_udm.principal.port הערך חולץ מהשדה data באמצעות תבנית grok.
נתונים read_only_udm.principal.user.userid הערך מחולץ מהשדה data באמצעות תבנית grok, רק אם הערך הוא לא not logged in.
נתונים read_only_udm.target.ip הערך חולץ מהשדה data באמצעות תבנית grok.
נתונים read_only_udm.target.process.pid הערך חולץ מהשדה data באמצעות תבנית grok.
read_only_udm.metadata.event_type הערך NETWORK_FTP אם target.ip קיים, אחרת הערך GENERIC_EVENT.
read_only_udm.metadata.log_type הערך שהוגדר הוא FILEZILLA_FTP.
read_only_udm.metadata.product_name הערך שהוגדר הוא FILEZILLA.
read_only_udm.metadata.vendor_name הערך שהוגדר הוא FILEZILLA.

יומן שינויים

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

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