Recopila registros de Skyhigh Secure Web Gateway (local)

Se admite en los siguientes sistemas operativos:

En este documento, se explica cómo puedes transferir registros de Skyhigh Secure Web Gateway (local) a Google SecOps con Google Cloud Storage.

Skyhigh Secure Web Gateway (anteriormente McAfee Web Gateway) es una solución de seguridad web local que proporciona detección de software malicioso, filtrado de URLs, control de aplicaciones, prevención de pérdida de datos y la inspección de HTTPS para proteger a las organizaciones de las amenazas basadas en la Web y aplicar políticas de uso aceptable.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Acceso con privilegios a la consola de administración de Skyhigh Secure Web Gateway
  • Un proyecto de GCP con la API de Cloud Storage habilitada
  • Un servidor de recopilación basado en Linux con acceso a la red del dispositivo de puerta de enlace web segura de Skyhigh y acceso saliente a Google Cloud Storage
  • Versión 7.x o posterior de Skyhigh Secure Web Gateway

Configura el formato de registro de acceso de Skyhigh Secure Web Gateway

Configura el conjunto de reglas del controlador de registros para generar entradas de registro de acceso en formato JSON.

  1. Accede a la consola de administración de Skyhigh Secure Web Gateway.
  2. Ve a Política > Conjuntos de reglas.
  3. Haz clic en Log Handler en el menú de navegación izquierdo.
  4. Expande el conjunto de reglas Predeterminado.
  5. Selecciona el conjunto de reglas anidado Access Log.
  6. Haz clic en Agregar > Regla para crear una regla nueva.
  7. Configura la regla con los siguientes parámetros:
    • Nombre: Ingresa Write access log data for collection.
    • Criterios: Selecciona Siempre.
    • Acción: Selecciona Continuar.
    • Evento: Haz clic en Agregar > Evento.
  8. En el diálogo Agregar evento, haz lo siguiente:
    1. Selecciona Set User-Defined.logLine.
    2. Haz clic en Parámetros.
    3. Crea el valor de la línea de registro combinando las propiedades requeridas. Usa la propiedad User-Defined.logLine para concatenar los campos en el formato deseado.
    4. Haz clic en Aceptar.
  9. Agrega un segundo evento para escribir la línea de registro en el archivo de registro de acceso:
    1. Haz clic en Agregar > Evento.
    2. Selecciona Registro del sistema de archivos.
    3. Haz clic en Parámetros.
    4. Para el parámetro message, selecciona User-Defined.logLine.
    5. Haz clic en Aceptar.
  10. Haz clic en Finalizar para guardar la regla.
  11. Haz clic en Guardar cambios en la parte superior de la página.

Configura el envío automático de registros del sistema de archivos

Configura Skyhigh Secure Web Gateway para enviar automáticamente los archivos de registro de acceso al servidor de recopilación.

  1. En la consola de Skyhigh Secure Web Gateway, ve a Policy > Settings > Engines > File System Logging.
  2. Selecciona la configuración de Registro de acceso.
  3. Expande Configuración para rotación, envío y eliminación.
  4. En la sección Envío automático, haz lo siguiente:
    1. Selecciona la casilla de verificación Habilitar la transferencia automática.
    2. En el campo Destino, ingresa la URL de FTP o HTTP del servidor de recopilación:
      • Ejemplo de FTP: ftp://COLLECTION_SERVER_IP:21/swg-logs/
      • Ejemplo de HTTP: http://COLLECTION_SERVER_IP:9111/logloader/
    3. En el campo Nombre de usuario, ingresa el nombre de usuario del servidor de recopilación.
    4. En el campo Contraseña, ingresa la contraseña del servidor de recopilación.
  5. En la sección Rotation, configura el intervalo de rotación según el volumen de registros:
    • En entornos de gran volumen, establece la rotación cada 5 a 15 minutos.
    • Para los entornos estándar, establece la rotación cada 30 a 60 minutos.
  6. Haz clic en Guardar cambios.

Verifica el prefijo del registro

  1. En la consola de Skyhigh Secure Web Gateway, ve a Configuration > Appliances > Syslog > Log Prefix.
  2. Verifica que el prefijo esté establecido en mwg.
  3. Si el prefijo es diferente, cámbialo a mwg y haz clic en Guardar cambios.

Crea un bucket de Google Cloud Storage

  1. Ve a Google Cloud Console.
  2. Selecciona tu proyecto o crea uno nuevo.
  3. En el menú de navegación, ve a Cloud Storage > Buckets.
  4. Haz clic en Crear bucket.
  5. Proporciona los siguientes detalles de configuración:

    Parámetro de configuración Valor
    Asigna un nombre a tu bucket Ingresa un nombre global único (por ejemplo, skyhigh-swg-logs).
    Tipo de ubicación Elige según tus necesidades (región, birregional, multirregional)
    Ubicación Selecciona la ubicación (por ejemplo, us-central1).
    Clase de almacenamiento Estándar (recomendado para los registros a los que se accede con frecuencia)
    Control de acceso Uniforme (recomendado)
    Herramientas de protección Opcional: Habilita el control de versiones de objetos o la política de retención
  6. Haz clic en Crear.

Configura el servidor de recopilación para subir registros a GCS

Configura un servidor de recopilación para recibir los archivos de registro enviados por Skyhigh Secure Web Gateway y súbelos al bucket de GCS.

Instala gcloud CLI

  1. En el servidor de recopilación, instala gcloud CLI:

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

    gcloud init
    
  3. Autentica con una cuenta de servicio o una cuenta de usuario:

    gcloud auth login
    
  4. Configura el proyecto predeterminado:

    gcloud config set project PROJECT_ID
    

Configura un servidor FTP para recibir registros enviados

  1. Instala un servidor FTP en el servidor de recopilación (por ejemplo, vsftpd):

    sudo apt-get install vsftpd -y
    
  2. Crea un directorio dedicado para los archivos de registro enviados:

    sudo mkdir -p /var/log/swg-logs
    sudo chown ftp:ftp /var/log/swg-logs
    
  3. Configura el servidor FTP para permitir el acceso de escritura al directorio de registros.

  4. Inicia el servicio FTP:

    sudo systemctl enable vsftpd
    sudo systemctl start vsftpd
    

Crea la secuencia de comandos de carga de GCS

  1. Crea la secuencia de comandos de carga:

    sudo mkdir -p /opt/swg-gcs-uploader
    
  2. Crea el archivo /opt/swg-gcs-uploader/upload_to_gcs.sh con el siguiente contenido:

    #!/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. Haz que la secuencia de comandos sea ejecutable:

    sudo chmod +x /opt/swg-gcs-uploader/upload_to_gcs.sh
    
  4. Reemplaza skyhigh-swg-logs por el nombre real del bucket de GCS.

Programa la secuencia de comandos de carga

  1. Abre el editor de crontab:

    sudo crontab -e
    
  2. Agrega la siguiente entrada para ejecutar la carga cada 10 minutos:

    */10 * * * * /opt/swg-gcs-uploader/upload_to_gcs.sh >> /var/log/swg-gcs-uploader.log 2>&1
    
  3. Guarda y cierra.

Verifica la carga

  1. Espera a que la puerta de enlace web segura de Skyhigh envíe un archivo de registro al servidor de recopilación.
  2. Verifica que el archivo de registro esté presente en el directorio de registros:

    ls -la /var/log/swg-logs/
    
  3. Ejecuta la secuencia de comandos de carga de forma manual para realizar la prueba:

    sudo /opt/swg-gcs-uploader/upload_to_gcs.sh
    
  4. Verifica que el archivo se haya subido a GCS:

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

Aplica la configuración al clúster de administración central

Si ejecutas varios dispositivos de Skyhigh Secure Web Gateway en un clúster de administración central:

  1. Repite la configuración de envío automático del registro del sistema de archivos en cada dispositivo del clúster.
  2. La configuración del conjunto de reglas del controlador de registros se sincroniza automáticamente en todo el clúster.

Recupera la cuenta de servicio de Google SecOps

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. Haz clic en Configura un feed único.
  4. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Skyhigh SWG Logs).
  5. Selecciona Google Cloud Storage V2 como el Tipo de fuente.
  6. Selecciona Protección web de McAfee como el Tipo de registro.
  7. Haz clic en Obtener cuenta de servicio. Se mostrará un correo electrónico único de la cuenta de servicio, por ejemplo:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. Copia esta dirección de correo electrónico para usarla en el siguiente paso.

  9. Haz clic en Siguiente.

  10. Especifica valores para los siguientes parámetros de entrada:

    • URL del bucket de almacenamiento: Ingresa el URI del bucket de GCS con la ruta de acceso del prefijo:

      gs://skyhigh-swg-logs/swg-access-logs/
      
    • Opción de eliminación del código fuente: Selecciona la opción de eliminación según tu preferencia:

      • Nunca: Nunca borra ningún archivo después de las transferencias (se recomienda para las pruebas).
      • Borrar archivos transferidos: Borra los archivos después de que se transfirieron correctamente.
      • Borrar los archivos transferidos y los directorios vacíos: Borra los archivos y los directorios vacíos después de que se transfirieron correctamente.

      • Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días más reciente (el valor predeterminado es de 180 días).

      • Espacio de nombres del recurso: Es el espacio de nombres del recurso.

      • Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.

  11. Haz clic en Siguiente.

  12. Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Otorga permisos de IAM a la cuenta de servicio de Google SecOps

  1. Ve a Cloud Storage > Buckets.
  2. Haz clic en skyhigh-swg-logs:
  3. Ve a la pestaña Permisos.
  4. Haz clic en Otorgar acceso.
  5. Proporciona los siguientes detalles de configuración:
    • Agregar entidades: Pega el correo electrónico de la cuenta de servicio de Google SecOps.
    • Asignar roles: Selecciona Visualizador de objetos de Storage.
  6. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
mediaType additional.fields Se combinó con etiquetas de mediaType, reputation, Ssl_scanned, av_scanned_up, av_scanned_down, rbi, dlp
reputación additional.fields
Ssl_scanned additional.fields
av_scanned_up additional.fields
av_scanned_down additional.fields
rbi additional.fields
ppd additional.fields
intermediary_ip1 intermediary.ip Se combinó de intermediary_ip1, intermediary_ip2, client_ip
intermediary_ip2 intermediary.ip
client_ip intermediary.ip
intermediary_port intermediary.port Se convirtió a número entero
uriScheme metadata.event_type Se establece en "GENERIC_EVENT" y se anula como "NETWORK_HTTP" si uriScheme está en ["http", "https"]
uriScheme network.application_protocol Se establece en "HTTPS" si uriScheme coincide con "https" y en "HTTP" si coincide con "http".
http_action network.http.method Valor copiado directamente
user_agent_comment network.http.parsed_user_agent Se convirtió en un usuario-agente analizado.
httpStatusCode network.http.response_code Se convirtió a número entero
user_agent_comment network.http.user_agent Valor copiado directamente
serverToClientBytes network.received_bytes Se convirtió en uinteger
clientToServerBytes network.sent_bytes Se convirtió en uinteger
Nombre del archivo principal.file.full_path Valor copiado directamente
source_ip principal.ip Valor copiado directamente
País principal.location.country_or_region Valor copiado directamente
process_name principal.process.command_line Valor copiado directamente
Ssl_client_prot principal.resource.attribute.labels Se combinó con etiquetas de Ssl_client_prot y Ssl_server_prot.
Ssl_server_prot principal.resource.attribute.labels
url principal.url Valor copiado directamente
nombre de usuario principal.user.userid Valor copiado directamente
blockReason security_result.action Se establece en "ALLOW" y se anula a "BLOCK" si blockReason no está vacío.
result security_result.action_details Valor copiado directamente
categoría security_result.category_details Valor copiado directamente
virus security_result.detection_fields Se combinó con etiquetas de virus, ubicación, lastRule, applicationType, Mw_probablility, Discarded_host y domain_fronting_url.
Ubicación 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 Valor copiado directamente
requested_path target.file.full_path Valor copiado directamente
requested_host target.hostname Valor copiado directamente
destination_ip target.ip Valor copiado directamente
userID target.user.userid Valor copiado directamente

Registro de cambios

Consulta el registro de cambios de este analizador

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.