Recopila registros de auditoría de Cisco Umbrella

Compatible con:

En este documento, se explica cómo recopilar registros de auditoría de Cisco Umbrella en un feed de Google Security Operations con un bucket de AWS S3. El analizador normaliza los datos de registro CSV sin procesar, controlando diferentes delimitadores y posibles inconsistencias de formato. Luego, según el tipo de registro (DNS o auditoría), asigna los campos extraídos al esquema de UDM correspondiente, lo que enriquece los datos con contexto adicional y estandariza la representación para su posterior análisis.

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • Asegúrate de tener acceso con privilegios a AWS IAM y S3.
  • Asegúrate de tener acceso con privilegios a Cisco Umbrella.

Configura un bucket de Amazon S3 administrado por Cisco

  1. Accede al panel de Cisco Umbrella.
  2. Ve a Administrador > Administración de registros.
  3. Selecciona la opción Usar un bucket de Amazon S3 administrado por Cisco.
  4. Proporciona los siguientes detalles de configuración:
    • Selecciona una región: Elige una región más cercana a tu ubicación para reducir la latencia.
    • Selecciona una duración de retención: Selecciona el período. La duración de la retención es de 7, 14 o 30 días. Después del período seleccionado, los datos se borran y no se pueden recuperar. Si tu ciclo de transferencia es regular, usa un período más corto. Puedes cambiar la duración de la retención más adelante.
  5. Haz clic en Guardar.
  6. Haz clic en Continuar para confirmar tus selecciones y recibir la notificación de activación.
    En la ventana Activation complete que aparece, se muestran los valores de Access key y Secret key.
  7. Copia los valores de Clave de acceso y Clave secreta. Si pierdes estas claves, debes volver a generarlas.
  8. Haz clic en Entendido > Continuar.
  9. En una página de resumen, se muestran la configuración y el nombre del bucket. Puedes activar o desactivar el registro según lo requiera tu organización. Sin embargo, los registros se borran según la duración de la retención, independientemente de que se agreguen datos nuevos.

Opcional: Configura las claves de acceso del usuario para el bucket de AWS S3 autoadministrado

  1. Accede a la consola de administración de AWS.
  2. Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
  3. Selecciona el usuario creado.
  4. Selecciona la pestaña Credenciales de seguridad.
  5. Haz clic en Crear clave de acceso en la sección Claves de acceso.
  6. Selecciona Servicio de terceros como el Caso de uso.
  7. Haz clic en Siguiente.
  8. Opcional: Agrega una etiqueta de descripción.
  9. Haz clic en Crear clave de acceso.
  10. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
  11. Haz clic en Listo.
  12. Selecciona la pestaña Permisos.
  13. Haz clic en Agregar permisos en la sección Políticas de permisos.
  14. Selecciona Agregar permisos.
  15. Selecciona Adjuntar políticas directamente.
  16. Busca y selecciona la política AmazonS3FullAccess.
  17. Haz clic en Siguiente.
  18. Haz clic en Agregar permisos.

Opcional: Configura un bucket de Amazon S3 autoadministrado

  1. Accede a la consola de administración de AWS.

  2. Ve a S3.

  3. Haz clic en Crear bucket.

  4. Proporciona los siguientes detalles de configuración:

    • Nombre del bucket: Proporciona un nombre para el bucket de Amazon S3.
    • Región: Selecciona una región.
  5. Haz clic en Crear.

Opcional: Configura una política de bucket para el bucket de AWS S3 autoadministrado

  1. Haz clic en el bucket recién creado para abrirlo.
  2. Selecciona Propiedades > Permisos.
  3. En la lista Permisos, haz clic en Agregar política de bucket.
  4. Ingresa la política del bucket preconfigurada de la siguiente manera:

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        },
        {
          "Sid": "",
          "Effect": "Deny",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"},
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetBucketLocation",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        },
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        }
      ]
    }
    
    • Reemplaza BUCKET_NAME por el nombre del bucket de Amazon S3 que proporcionaste.
  5. Haz clic en Guardar.

Opcional: Verificación obligatoria para el bucket de Amazon S3 autoadministrado

  1. En el panel de Cisco Umbrella, selecciona Admin > Log management > Amazon S3.
  2. En el campo Nombre del bucket, especifica el nombre exacto de tu bucket de Amazon S3 y, luego, haz clic en Verificar.
  3. Como parte del proceso de verificación, se sube un archivo llamado README_FROM_UMBRELLA.txt desde Cisco Umbrella a tu bucket de Amazon S3. Es posible que debas actualizar el navegador para ver el archivo README cuando se suba.
  4. Descarga el archivo README_FROM_UMBRELLA.txt y ábrelo con un editor de texto.
  5. Copia y guarda el token único de Cisco Umbrella del archivo.
  6. Ve al panel de Cisco Umbrella.
  7. En el campo Número de token, especifica el token y haz clic en Guardar.
  8. Si se realiza correctamente, recibirás un mensaje de confirmación en tu panel que indica que el bucket se verificó correctamente. Si recibes un error que indica que no se puede verificar tu bucket, vuelve a verificar la sintaxis del nombre del bucket y revisa la configuración.

Configura un feed en Google SecOps para transferir los registros de auditoría de Cisco Umbrella

  1. Ve a SIEM Settings > Feeds.
  2. Haz clic en Agregar nueva.
  3. En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de auditoría de Cisco Umbrella.
  4. Selecciona Amazon S3 V2 como el Tipo de fuente.
  5. Selecciona Cisco Umbrella Audit como el Tipo de registro.
  6. Haz clic en Siguiente.
  7. Especifica valores para los siguientes parámetros de entrada:

    • URI de S3: Es el URI del bucket.
      • s3:/BUCKET_NAME
        • Reemplaza BUCKET_NAME por el nombre real del bucket.
    • Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
  8. Haz clic en Siguiente.

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

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
action_type security_result.action_details Se asigna directamente desde el campo de registro sin procesar action_type.
action_type security_result.action Si action_type contiene allow (sin distinción entre mayúsculas y minúsculas), configúralo como ALLOW. Si action_type contiene block (sin distinción entre mayúsculas y minúsculas), configúralo como BLOCK.
additionalValue additional.fields{}.key Se define en Additional Value.
additionalValue additional.fields{}.value.string_value Se asigna directamente desde el campo de registro sin procesar additionalValue.
blocked_categories additional.fields{}.key Se define en blocked_categories.
blocked_categories additional.fields{}.value.string_value Se asigna directamente desde el campo de registro sin procesar blocked_categories.
categorías security_result.category_details Se asigna directamente desde el campo de registro sin procesar categories, después de dividirse por comas.
column1 metadata.product_log_id Se asigna desde el campo de registro sin procesar column1 si el registro es un registro de auditoría.
column1 date_time Se asigna desde el campo de registro sin procesar column1 si el registro es un registro de DNS.
column10 categorías Se asigna directamente desde el campo de registro sin procesar column10.
column11 most_granular_identity_type Se asigna directamente desde el campo de registro sin procesar column11.
column12 identity_types Se asigna directamente desde el campo de registro sin procesar column12.
column13 blocked_categories Se asigna directamente desde el campo de registro sin procesar column13.
column2 date_time Se asigna desde el campo de registro sin procesar column2 si el registro es un registro de auditoría.
column2 most_granular_identity Se asigna desde el campo de registro sin procesar column2 si el registro es un registro de DNS.
column3 principal.user.email_addresses Se asigna desde el campo de registro sin procesar column3 si el registro es un registro de auditoría.
column3 identities Se asigna desde el campo de registro sin procesar column3 si el registro es un registro de DNS.
column4 principal.user.userid Se asigna desde el campo de registro sin procesar column4 si el registro es un registro de auditoría.
column4 internal_ip Se asigna desde el campo de registro sin procesar column4 si el registro es un registro de DNS.
column5 security_result.rule_name Se asigna desde el campo de registro sin procesar column5 si el registro es un registro de auditoría.
column5 external_ip Se asigna desde el campo de registro sin procesar column5 si el registro es un registro de DNS.
column6 action_type Se asigna directamente desde el campo de registro sin procesar column6.
column7 principal.ip Se asigna desde el campo de registro sin procesar column7 si el registro es un registro de auditoría.
column7 dns_query_type Se asigna desde el campo de registro sin procesar column7 si el registro es un registro de DNS.
column8 additionalValue Se asigna desde el campo de registro sin procesar column8 si el registro es un registro de auditoría.
column8 dns_response_code Se asigna desde el campo de registro sin procesar column8 si el registro es un registro de DNS.
column9 dominio Se asigna directamente desde el campo de registro sin procesar column9.
date_time metadata.event_timestamp.seconds Es la marca de tiempo de época extraída del campo date_time.
dns_query_type network.dns.questions.type Se extrae del campo dns_query_type con una expresión regular y se convierte en un número entero.
dns_response_code network.dns.response_code Se asigna desde el campo dns_response_code y se convierte en un número entero según los valores del código de respuesta de DNS.
dominio network.dns.questions.name Se asigna directamente desde el campo domain.
external_ip principal.ip Se asigna desde el campo external_ip si no está vacío y es diferente de internal_ip.
identities principal.location.name Se asigna desde el campo identities si el campo identity_types correspondiente es Networks.
identities principal.hostname Se asigna desde el campo identities si el campo identity_types correspondiente es AD Computers, Roaming Computers o Anyconnect Roaming Client.
identities principal.asset.hostname Se asigna desde el campo identities si el campo identity_types correspondiente es AD Computers, Roaming Computers o Anyconnect Roaming Client.
identities principal.location.city Se asigna desde el campo identities si el campo identity_types correspondiente es Sites.
identity_types additional.fields{}.key Se define en identities_types.
identity_types additional.fields{}.value.string_value Se asigna directamente desde el campo de registro sin procesar identity_types.
internal_ip principal.ip Se asigna desde el campo internal_ip si no está vacío.
most_granular_identity additional.fields{}.key Se define en most_granular_identity.
most_granular_identity additional.fields{}.value.string_value Se asigna directamente desde el campo de registro sin procesar most_granular_identity.
most_granular_identity_type additional.fields{}.key Se define en most_granular_identity_type.
most_granular_identity_type additional.fields{}.value.string_value Se asigna directamente desde el campo de registro sin procesar most_granular_identity_type.
metadata.event_type Se establece en NETWORK_DNS si el registro es un registro de DNS.
metadata.event_type Se establece en STATUS_UPDATE si el registro es un registro de auditoría y principal_ip no está vacío.
metadata.event_type Se establece en GENERIC_EVENT si el registro es un registro de auditoría y principal_ip está vacío.
metadata.vendor_name Se define en CISCO UMBERLLA.
metadata.product_name Se define en CISCO UMBERLLA.
metadata.log_type Se define en AUDITD.
network.application_protocol Se establece en DNS si el registro es un registro de DNS.

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