收集 Skyhigh Secure Web Gateway (On-Premises) 記錄

支援的國家/地區:

本文說明如何使用 Google Cloud Storage,將 Skyhigh Secure Web Gateway (內部部署) 記錄檔擷取至 Google SecOps。

Skyhigh Secure Web Gateway (前身為 McAfee Web Gateway) 是地端部署的網路安全解決方案,可提供惡意軟體偵測、網址篩選、應用程式控管、資料遺失防護和 HTTPS 檢查功能,協助機構防範網路威脅,並強制執行合理使用政策。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Skyhigh Secure Web Gateway 管理控制台的特殊存取權
  • 已啟用 Cloud Storage API 的 GCP 專案
  • 以 Linux 為基礎的收集伺服器,可透過網路存取 Skyhigh Secure Web Gateway 設備,並可連出至 Google Cloud Storage
  • Skyhigh Secure Web Gateway 7.x 以上版本

設定 Skyhigh Secure Web Gateway 存取記錄格式

設定記錄處理常式規則集,以 JSON 格式產生存取記錄項目。

  1. 登入 Skyhigh Secure Web Gateway 管理控制台。
  2. 前往「政策」>「規則集」
  3. 按一下左側導覽列中的「記錄處理常式」
  4. 展開「預設」規則集。
  5. 選取巢狀的「Access Log」規則集。
  6. 按一下「新增」>「規則」,即可建立新規則。
  7. 使用下列設定配置規則:
    • 「Name」(名稱):輸入 Write access log data for collection
    • 條件:選取「一律」
    • 操作:選取「繼續」
    • 活動:依序點選「新增」>「活動」
  8. 在「新增活動」對話方塊中:
    1. 選取「Set User-Defined.logLine」(設定使用者定義的 logLine)。
    2. 按一下「參數」
    3. 結合必要屬性,建構記錄行值。使用 User-Defined.logLine 屬性,將欄位串連成所需格式。
    4. 按一下 [確定]
  9. 新增第二個事件,將記錄行寫入存取記錄檔:
    1. 依序點選「新增」>「事件」
    2. 選取「檔案系統記錄」
    3. 按一下「參數」
    4. 針對「message」參數,選取「User-Defined.logLine」
    5. 按一下 [確定]
  10. 按一下「完成」即可儲存規則。
  11. 按一下頁面頂端的「儲存變更」

設定自動推送檔案系統記錄

設定 Skyhigh Secure Web Gateway,自動將存取記錄檔推送至收集伺服器。

  1. 在 Skyhigh Secure Web Gateway 控制台中,依序前往「Policy」>「Settings」>「Engines」>「File System Logging」
  2. 選取「存取記錄設定」
  3. 展開「輪替、推送和刪除設定」
  4. 在「Auto Pushing」(自動推送) 部分:
    1. 勾選「Enable auto pushing」(啟用自動推送) 核取方塊。
    2. 在「目的地」欄位中,輸入集合伺服器的 FTP 或 HTTP 網址:
      • FTP 範例:ftp://COLLECTION_SERVER_IP:21/swg-logs/
      • HTTP 範例:http://COLLECTION_SERVER_IP:9111/logloader/
    3. 在「User name」(使用者名稱) 欄位中,輸入集合伺服器的使用者名稱。
    4. 在「Password」(密碼) 欄位中,輸入集合伺服器的密碼。
  5. 在「輪替」部分,根據記錄量設定輪替間隔:
    • 在高流量環境中,請將輪播頻率設為每 5 到 15 分鐘一次
    • 如果是標準環境,請將輪替頻率設為每 30 到 60 分鐘一次
  6. 按一下 [儲存變更]。

驗證記錄前置字串

  1. 在 Skyhigh Secure Web Gateway 控制台中,依序前往「Configuration」>「Appliances」>「Syslog」>「Log Prefix」
  2. 確認前置字元已設為 mwg
  3. 如果前置字串不同,請變更為 mwg,然後按一下「儲存變更」

建立 Google Cloud Storage bucket

  1. 前往 Google Cloud 控制台
  2. 選取專案或建立新專案。
  3. 在導覽選單中,依序前往「Cloud Storage」>「Bucket」
  4. 按一下「建立值區」
  5. 請提供下列設定詳細資料:

    設定
    為 bucket 命名 輸入全域不重複的名稱 (例如 skyhigh-swg-logs)
    位置類型 根據需求選擇 (區域、雙區域、多區域)
    位置 選取位置 (例如 us-central1)
    儲存空間級別 標準 (建議用於經常存取的記錄)
    存取控管 統一 (建議)
    保護工具 選用:啟用物件版本管理或資料保留政策
  6. 點選「建立」

設定收集伺服器,將記錄檔上傳至 GCS

設定收集伺服器,接收 Skyhigh Secure Web Gateway 推送的記錄檔,並將這些記錄檔上傳至 GCS 值區。

安裝 gcloud CLI

  1. 在收集伺服器上安裝 gcloud CLI:

    curl https://sdk.cloud.google.com | bash
    exec -l $SHELL
    
  2. 初始化 gcloud CLI:

    gcloud init
    
  3. 使用服務帳戶或使用者帳戶進行驗證:

    gcloud auth login
    
  4. 設定預設專案:

    gcloud config set project PROJECT_ID
    

設定 FTP 伺服器,接收推送的記錄檔

  1. 在收集伺服器上安裝 FTP 伺服器 (例如 vsftpd):

    sudo apt-get install vsftpd -y
    
  2. 為推送的記錄檔建立專用目錄:

    sudo mkdir -p /var/log/swg-logs
    sudo chown ftp:ftp /var/log/swg-logs
    
  3. 設定 FTP 伺服器,允許寫入記錄目錄。

  4. 啟動 FTP 服務:

    sudo systemctl enable vsftpd
    sudo systemctl start vsftpd
    

建立 GCS 上傳指令碼

  1. 建立上傳指令碼:

    sudo mkdir -p /opt/swg-gcs-uploader
    
  2. 建立 /opt/swg-gcs-uploader/upload_to_gcs.sh 檔案,並加入以下內容:

    #!/bin/bash
    LOG_DIR="/var/log/swg-logs"
    GCS_BUCKET="gs://skyhigh-swg-logs/swg-access-logs/"
    ARCHIVE_DIR="/var/log/swg-logs/archived"
    
    mkdir -p "$ARCHIVE_DIR"
    
    # Upload new log files to GCS
    for log_file in "$LOG_DIR"/*.log; do
        if [ -f "$log_file" ]; then
            gsutil cp "$log_file" "$GCS_BUCKET"
            if [ $? -eq 0 ]; then
                mv "$log_file" "$ARCHIVE_DIR/"
                echo "$(date): Uploaded and archived $(basename "$log_file")"
            else
                echo "$(date): Failed to upload $(basename "$log_file")"
            fi
        fi
    done
    
    # Clean up archived files older than 7 days
    find "$ARCHIVE_DIR" -type f -mtime +7 -delete
    
  3. 將指令碼設定為可執行檔:

    sudo chmod +x /opt/swg-gcs-uploader/upload_to_gcs.sh
    
  4. 請將 skyhigh-swg-logs 替換為 GCS 值區的實際名稱。

排定上傳指令碼

  1. 開啟 crontab 編輯器:

    sudo crontab -e
    
  2. 新增下列項目,每 10 分鐘執行一次上傳作業:

    */10 * * * * /opt/swg-gcs-uploader/upload_to_gcs.sh >> /var/log/swg-gcs-uploader.log 2>&1
    
  3. 儲存並結束。

驗證上傳作業

  1. 等待 Skyhigh Secure Web Gateway 將記錄檔推送至收集伺服器。
  2. 確認記錄檔位於記錄目錄中:

    ls -la /var/log/swg-logs/
    
  3. 手動執行上傳指令碼進行測試:

    sudo /opt/swg-gcs-uploader/upload_to_gcs.sh
    
  4. 確認檔案已上傳至 GCS:

    gsutil ls gs://skyhigh-swg-logs/swg-access-logs/
    

將設定套用至 Central Management 叢集

如果您在中央管理叢集中執行多個 Skyhigh Secure Web Gateway 設備:

  1. 在叢集中的每個設備上,重複執行檔案系統記錄自動推送設定。
  2. 記錄處理常式規則集設定會自動在叢集間同步。

擷取 Google SecOps 服務帳戶

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Skyhigh SWG Logs)。
  5. 選取「Google Cloud Storage V2」做為「來源類型」
  6. 選取「McAfee Web Protection」做為「記錄類型」
  7. 按一下「取得服務帳戶」,系統會顯示專屬服務帳戶電子郵件地址,例如:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. 複製這個電子郵件地址,以便在下一步中使用。

  9. 點選「下一步」

  10. 指定下列輸入參數的值:

    • 儲存空間 bucket URL:輸入 GCS bucket URI,並加上前置路徑:

      gs://skyhigh-swg-logs/swg-access-logs/
      
    • 來源刪除選項:根據偏好設定選取刪除選項:

      • 永不:移轉後一律不刪除任何檔案 (建議用於測試)。
      • 刪除已轉移的檔案:成功轉移檔案後刪除檔案。
      • 刪除已轉移的檔案和空白目錄:成功轉移後刪除檔案和空白目錄。

      • 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)

      • 資產命名空間資產命名空間

      • 擷取標籤:要套用至這個動態饋給事件的標籤

  11. 點選「下一步」

  12. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)

將 IAM 權限授予 Google SecOps 服務帳戶

  1. 依序前往「Cloud Storage」>「Buckets」
  2. 按一下 skyhigh-swg-logs
  3. 前往「權限」分頁標籤。
  4. 按一下「授予存取權」
  5. 請提供下列設定詳細資料:
    • 新增主體:貼上 Google SecOps 服務帳戶電子郵件地址
    • 指派角色:選取「Storage 物件檢視者」
  6. 按一下 [儲存]

UDM 對應表

記錄欄位 UDM 對應 邏輯
mediaType additional.fields 與來自 mediaType、reputation、Ssl_scanned、av_scanned_up、av_scanned_down、rbi、dlp 的標籤合併
信譽 additional.fields
Ssl_scanned additional.fields
av_scanned_up additional.fields
av_scanned_down additional.fields
rbi additional.fields
dlp additional.fields
intermediary_ip1 intermediary.ip 從 intermediary_ip1、intermediary_ip2、client_ip 合併
intermediary_ip2 intermediary.ip
client_ip intermediary.ip
intermediary_port intermediary.port 已轉換為整數
uriScheme metadata.event_type 設為「GENERIC_EVENT」,如果 uriScheme 位於 ["http", "https"] 中,則會覆寫為「NETWORK_HTTP」
uriScheme network.application_protocol 如果 uriScheme 符合「https」,則設為「HTTPS」;如果符合「http」,則設為「HTTP」
http_action network.http.method 直接複製值
user_agent_comment network.http.parsed_user_agent 已轉換為剖析的使用者代理程式
httpStatusCode network.http.response_code 已轉換為整數
user_agent_comment network.http.user_agent 直接複製值
serverToClientBytes network.received_bytes 已轉換為 uinteger
clientToServerBytes network.sent_bytes 已轉換為 uinteger
檔案名稱 principal.file.full_path 直接複製值
source_ip principal.ip 直接複製值
國家/地區 principal.location.country_or_region 直接複製值
process_name principal.process.command_line 直接複製值
Ssl_client_prot principal.resource.attribute.labels 與 Ssl_client_prot、Ssl_server_prot 的標籤合併
Ssl_server_prot principal.resource.attribute.labels
網址 principal.url 直接複製值
使用者名稱 principal.user.userid 直接複製值
blockReason security_result.action 設為「ALLOW」,如果 blockReason 不為空白,則會覆寫為「BLOCK」
result security_result.action_details 直接複製值
category security_result.category_details 直接複製值
病毒 security_result.detection_fields 與病毒、位置、lastRule、applicationType、Mw_probablility、Discarded_host、domain_fronting_url 的標籤合併
位置 security_result.detection_fields
lastRule security_result.detection_fields
applicationType security_result.detection_fields
Mw_probablility security_result.detection_fields
Discarded_host security_result.detection_fields
domain_fronting_url security_result.detection_fields
blockReason security_result.summary 直接複製值
requested_path target.file.full_path 直接複製值
requested_host target.hostname 直接複製值
destination_ip target.ip 直接複製值
userID target.user.userid 直接複製值

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。