Raccogli i log di Skyhigh Secure Web Gateway (on-premise)

Supportato in:

Questo documento spiega come importare i log di Skyhigh Secure Web Gateway (on-premise) in Google SecOps utilizzando Google Cloud Storage.

Skyhigh Secure Web Gateway (in precedenza McAfee Web Gateway) è una soluzione di sicurezza web on-premise che fornisce rilevamento di malware, filtro URL, controllo delle applicazioni, prevenzione della perdita di dati e ispezione HTTPS per proteggere le organizzazioni dalle minacce basate sul web e applicare policy di utilizzo accettabile.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Accesso privilegiato alla console di gestione di Skyhigh Secure Web Gateway
  • Un progetto GCP con l'API Cloud Storage abilitata
  • Un server di raccolta basato su Linux con accesso alla rete all'appliance Skyhigh Secure Web Gateway e accesso in uscita a Google Cloud Storage
  • Skyhigh Secure Web Gateway versione 7.x o successive

Configura il formato del log di accesso di Skyhigh Secure Web Gateway

Configura il set di regole del gestore log per generare voci di log di accesso in formato JSON.

  1. Accedi alla console di gestione di Skyhigh Secure Web Gateway.
  2. Vai a Norme > Set di regole.
  3. Fai clic su Gestore log nel riquadro di navigazione a sinistra.
  4. Espandi il set di regole Predefinito.
  5. Seleziona il set di regole nidificato Access Log.
  6. Fai clic su Aggiungi > Regola per creare una nuova regola.
  7. Configura la regola con le seguenti impostazioni:
    • Nome: inserisci Write access log data for collection
    • Criteri: seleziona Sempre.
    • Azione: seleziona Continua.
    • Evento: fai clic su Aggiungi > Evento.
  8. Nella finestra di dialogo Aggiungi evento:
    1. Seleziona Imposta User-Defined.logLine.
    2. Fai clic su Parametri.
    3. Crea il valore della riga di log combinando le proprietà richieste. Utilizza la proprietà User-Defined.logLine per concatenare i campi nel formato desiderato.
    4. Fai clic su OK.
  9. Aggiungi un secondo evento per scrivere la riga di log nel file di log di accesso:
    1. Fai clic su Aggiungi > Evento.
    2. Seleziona Registrazione nel file system.
    3. Fai clic su Parametri.
    4. Per il parametro message, seleziona User-Defined.logLine.
    5. Fai clic su OK.
  10. Fai clic su Fine per salvare la regola.
  11. Fai clic su Salva modifiche nella parte superiore della pagina.

Configura il push automatico del logging del file system

Configura Skyhigh Secure Web Gateway per eseguire il push automatico dei file di log degli accessi al server di raccolta.

  1. Nella console Skyhigh Secure Web Gateway, vai a Policy > Settings > Engines > File System Logging.
  2. Seleziona le impostazioni di Configurazione log di accesso.
  3. Espandi Impostazioni per rotazione, push ed eliminazione.
  4. Nella sezione Push automatico:
    1. Seleziona la casella di controllo Abilita push automatico.
    2. Nel campo Destinazione, inserisci l'URL FTP o HTTP del server di raccolta:
      • Esempio FTP: ftp://COLLECTION_SERVER_IP:21/swg-logs/
      • Esempio HTTP: http://COLLECTION_SERVER_IP:9111/logloader/
    3. Nel campo Nome utente, inserisci il nome utente per il server di raccolta.
    4. Nel campo Password, inserisci la password per il server di raccolta.
  5. Nella sezione Rotazione, configura l'intervallo di rotazione in base al volume dei log:
    • Per gli ambienti con volumi elevati, imposta la rotazione ogni 5-15 minuti
    • Per gli ambienti standard, imposta la rotazione ogni 30-60 minuti
  6. Fai clic su Salva modifiche.

Verifica il prefisso del log

  1. Nella console Skyhigh Secure Web Gateway, vai a Configuration > Appliances > Syslog > Log Prefix.
  2. Verifica che il prefisso sia impostato su mwg.
  3. Se il prefisso è diverso, modificalo in mwg e fai clic su Salva modifiche.

Crea un bucket Google Cloud Storage

  1. Vai alla console Google Cloud.
  2. Seleziona il tuo progetto o creane uno nuovo.
  3. Nel menu di navigazione, vai a Cloud Storage > Bucket.
  4. Fai clic su Crea bucket.
  5. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Assegna un nome al bucket Inserisci un nome univoco globale (ad esempio skyhigh-swg-logs).
    Tipo di località Scegli in base alle tue esigenze (regione singola, a due regioni, multiregionale)
    Località Seleziona la posizione (ad esempio, us-central1).
    Classe di archiviazione Standard (consigliato per i log a cui si accede di frequente)
    Controllo degli accessi Uniforme (consigliato)
    Strumenti di protezione (Facoltativo) Abilita il controllo delle versioni degli oggetti o la policy di conservazione
  6. Fai clic su Crea.

Configura il server di raccolta per caricare i log in GCS

Configura un server di raccolta per ricevere i file di log inviati da Skyhigh Secure Web Gateway e caricali nel bucket GCS.

Installa gcloud CLI

  1. Sul server di raccolta, installa gcloud CLI:

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

    gcloud init
    
  3. Autenticati con un account di servizio o un account utente:

    gcloud auth login
    
  4. Imposta il progetto predefinito:

    gcloud config set project PROJECT_ID
    

Configurare un server FTP per ricevere i log push

  1. Installa un server FTP sul server di raccolta (ad esempio vsftpd):

    sudo apt-get install vsftpd -y
    
  2. Crea una directory dedicata per i file di log pushati:

    sudo mkdir -p /var/log/swg-logs
    sudo chown ftp:ftp /var/log/swg-logs
    
  3. Configura il server FTP per consentire l'accesso in scrittura alla directory dei log.

  4. Avvia il servizio FTP:

    sudo systemctl enable vsftpd
    sudo systemctl start vsftpd
    

Crea lo script di caricamento GCS

  1. Crea lo script di caricamento:

    sudo mkdir -p /opt/swg-gcs-uploader
    
  2. Crea il file /opt/swg-gcs-uploader/upload_to_gcs.sh con il seguente contenuto:

    #!/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. Rendi eseguibile lo script:

    sudo chmod +x /opt/swg-gcs-uploader/upload_to_gcs.sh
    
  4. Sostituisci skyhigh-swg-logs con il nome effettivo del bucket GCS.

Pianificare lo script di caricamento

  1. Apri l'editor crontab:

    sudo crontab -e
    
  2. Aggiungi la seguente voce per eseguire il caricamento ogni 10 minuti:

    */10 * * * * /opt/swg-gcs-uploader/upload_to_gcs.sh >> /var/log/swg-gcs-uploader.log 2>&1
    
  3. Salva ed esci.

Verifica il caricamento

  1. Attendi che Skyhigh Secure Web Gateway esegua il push di un file di log nel server di raccolta.
  2. Verifica che il file di log sia presente nella directory dei log:

    ls -la /var/log/swg-logs/
    
  3. Esegui manualmente lo script di caricamento per eseguire il test:

    sudo /opt/swg-gcs-uploader/upload_to_gcs.sh
    
  4. Verifica che il file sia stato caricato su GCS:

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

Applica la configurazione al cluster di gestione centrale

Se esegui più appliance Skyhigh Secure Web Gateway in un cluster di gestione centrale:

  1. Ripeti la configurazione del push automatico della registrazione del file system su ogni appliance del cluster.
  2. La configurazione del set di regole del gestore dei log viene sincronizzata automaticamente nel cluster.

Recuperare il account di servizio Google SecOps

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Skyhigh SWG Logs).
  5. Seleziona Google Cloud Storage V2 come Tipo di origine.
  6. Seleziona McAfee Web Protection come Tipo di log.
  7. Fai clic su Ottieni service account. Verrà visualizzato un indirizzo email del account di servizio univoco, ad esempio:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. Copia questo indirizzo email per utilizzarlo nel passaggio successivo.

  9. Fai clic su Avanti.

  10. Specifica i valori per i seguenti parametri di input:

    • URL del bucket di archiviazione: inserisci l'URI del bucket GCS con il percorso del prefisso:

      gs://skyhigh-swg-logs/swg-access-logs/
      
    • Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze:

      • Mai: non elimina mai i file dopo i trasferimenti (opzione consigliata per i test).
      • Elimina file trasferiti: elimina i file dopo il trasferimento riuscito.
      • Elimina file trasferiti e directory vuote: elimina i file e le directory vuote dopo il trasferimento riuscito.

      • Età massima del file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni)

      • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset

      • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed

  11. Fai clic su Avanti.

  12. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Concedi le autorizzazioni IAM al account di servizio Google SecOps

  1. Vai a Cloud Storage > Bucket.
  2. Fai clic su skyhigh-swg-logs.
  3. Vai alla scheda Autorizzazioni.
  4. Fai clic su Concedi l'accesso.
  5. Fornisci i seguenti dettagli di configurazione:
    • Aggiungi entità: incolla l'email del account di servizio Google SecOps
    • Assegna i ruoli: seleziona Visualizzatore oggetti Storage.
  6. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
mediaType additional.fields Unito alle etichette di mediaType, reputation, Ssl_scanned, av_scanned_up, av_scanned_down, rbi, dlp
reputazione 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 Unito da intermediary_ip1, intermediary_ip2, client_ip
intermediary_ip2 intermediary.ip
client_ip intermediary.ip
intermediary_port intermediary.port Convertito in numero intero
uriScheme metadata.event_type Impostato su "GENERIC_EVENT", sostituito da "NETWORK_HTTP" se uriScheme è in ["http", "https"]
uriScheme network.application_protocol Impostato su "HTTPS" se uriScheme corrisponde a "https", "HTTP" se corrisponde a "http"
http_action network.http.method Valore copiato direttamente
user_agent_comment network.http.parsed_user_agent Convertito in user agent analizzato
httpStatusCode network.http.response_code Convertito in numero intero
user_agent_comment network.http.user_agent Valore copiato direttamente
serverToClientBytes network.received_bytes Convertito in uinteger
clientToServerBytes network.sent_bytes Convertito in uinteger
Nome file principal.file.full_path Valore copiato direttamente
source_ip principal.ip Valore copiato direttamente
country principal.location.country_or_region Valore copiato direttamente
process_name principal.process.command_line Valore copiato direttamente
Ssl_client_prot principal.resource.attribute.labels Unito alle etichette di Ssl_client_prot, Ssl_server_prot
Ssl_server_prot principal.resource.attribute.labels
url principal.url Valore copiato direttamente
nome utente principal.user.userid Valore copiato direttamente
blockReason security_result.action Impostato su "ALLOW", sostituito da "BLOCK" se blockReason non è vuoto
risultato security_result.action_details Valore copiato direttamente
categoria security_result.category_details Valore copiato direttamente
virus security_result.detection_fields Unito alle etichette di virus, Location, lastRule, applicationType, Mw_probablility, Discarded_host, domain_fronting_url
Località 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 Valore copiato direttamente
requested_path target.file.full_path Valore copiato direttamente
requested_host target.hostname Valore copiato direttamente
destination_ip target.ip Valore copiato direttamente
userID target.user.userid Valore copiato direttamente

Log delle modifiche

Visualizza il log delle modifiche per questo parser

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.