IMPORTANTE:
Asegúrate de completar este lab práctico únicamente en una computadora de escritorio o laptop.
Se permiten solo 5 intentos por lab.
A modo de recordatorio, es habitual no responder de forma correcta a todas las preguntas en el primer intento o incluso tener que volver a realizar una tarea; esto forma parte del proceso de aprendizaje.
Una vez comenzado el lab, no se puede detener el cronómetro. Después de 1 hora y 30 minutos, el lab terminará y tendrás que volver a empezar.
Para obtener más información, consulta la lectura Sugerencias técnicas para el lab.
Descripción general de la actividad
Los servicios de Google Cloud escriben registros de auditoría que dejan constancia de las actividades administrativas y los accesos dentro de tus recursos de Google Cloud. Las entradas de registro de auditoría te ayudan a responder las preguntas “¿Quién hizo qué, dónde y cuándo?” en tus proyectos de Google Cloud. Habilitar registros de auditoría ayuda a las entidades de seguridad, auditoría y cumplimiento a supervisar los datos y sistemas de Google Cloud en busca de posibles vulnerabilidades o el uso inadecuado de datos externos.
En este lab, investigarás registros de auditoría para identificar patrones de actividad sospechosa que involucren recursos de nube.
Situación
Cymbal Bank oficialmente migró sus recursos a su solución de nube híbrida e implementó con éxito sus flujos de trabajo en el nuevo entorno de nube. Desafortunadamente, se notificó al equipo de Ingeniería de Seguridad sobre una alerta de gravedad alta que involucra el acceso no autorizado a varios de sus recursos de nube. Esto es alarmante, puesto que los agentes maliciosos pueden usar recursos de nube vulnerados para exfiltrar datos y lanzar ataques contra otros sistemas. Es la primera vez que te enfrentas a un incidente de seguridad. Chloe, la líder de tu equipo, reconoce que esta es una valiosa oportunidad para que aprendas los procesos y procedimientos relacionados con la respuesta ante incidentes. Te pidieron que fueras aprendiz de Ana, quien forma parte del Equipo de Respuesta ante Incidentes, una unidad del departamento de Ingeniería de Seguridad. Ana te proporcionó acceso a los registros de la alerta, que usarás para investigar la actividad maliciosa. Para obtener una mejor comprensión del incidente de seguridad, configuras un entorno de pruebas para recrear el incidente y analizar los artefactos. Usarás dos cuentas de usuario separadas: una generará la actividad maliciosa y la otra se usará para investigar la actividad.
A continuación, se detalla cómo harás esta tarea. Primero, generarás actividad desde la primera cuenta de usuario para recrear el incidente de seguridad. A continuación, exportarás los registros para ahondar en el análisis. Luego, seguirás recreando el incidente y generarás actividad de usuario adicional. Finalmente, utilizarás BigQuery para analizar los registros.
Configuración
Antes de hacer clic en Comenzar lab
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
En este lab práctico, puedes realizar las actividades por tu cuenta en un entorno de nube real, en lugar de una simulación o un entorno de demostración. Para ello, se te proporcionan credenciales temporales nuevas que usarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana del navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- Tiempo restante
- El botón Abrir la consola de Google
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
Nota: Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
-
Haz clic en Abrir la consola de Google (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito) si ejecutas el navegador Chrome. La página Acceder se abre en una pestaña del navegador nueva.
Sugerencia: Puedes organizar las pestañas de manera independiente (una ventana al lado de la otra) para alternar fácilmente entre ellas.
Nota: Si aparece el diálogo Elige una cuenta, haz clic en Usar otra cuenta.
-
Si es necesario, copia el nombre de usuario de Google Cloud a continuación, y pégalo en el diálogo Ingresar. Haz clic en Siguiente.
{{{user_0.username | "nombre de usuario de Google Cloud"}}}
También puedes encontrar el nombre de usuario de Google Cloud en el panel Detalles del lab.
- Copia la contraseña de Google Cloud a continuación y pégala en el diálogo te damos la bienvenida. Haz clic en Siguiente.
{{{user_0.password | "contraseña de Google Cloud"}}}
También puedes encontrar la contraseña de Google Cloud en el panel Detalles del lab.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud podría generar cargos adicionales.
- Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para las pruebas gratuitas.
Después de un momento, se abrirá la consola de Cloud en esta pestaña.
Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda de la pantalla.
Activa Cloud Shell
Cloud Shell es un entorno de desarrollo y operaciones en línea al que puedes acceder desde cualquier lugar con tu navegador. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
- Haz clic en Activar Cloud Shell (
) en la esquina superior derecha de la consola de Google Cloud. Es posible que debas hacer clic en Continuar.
Luego de que se inicie Cloud Shell, verás un mensaje en el ID del proyecto de Google Cloud para esta sesión:
Your Cloud Platform project in this session is set to YOUR_PROJECT_ID
La herramienta de línea de comandos de Google Cloud, gcloud, está preinstalada en Cloud Shell y es compatible con la función de completado de línea de comando. Para acceder a Google Cloud, primero deberás autorizar gcloud.
- Solicita el nombre de la cuenta activa con este comando:
gcloud auth list
-
Aparecerá una ventana emergente en la que se te pedirá que selecciones Autoriza Cloud Shell. Haz clic en Autorizar.
-
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Solicita el ID del proyecto con este comando:
gcloud config list project
Resultado de ejemplo:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1: Genera actividad de la cuenta
Nota: Asegúrate de estar en la cuenta username 1: en la consola de Google Cloud.
En esta tarea, crearás y borrarás recursos de nube para generar actividad de la cuenta, a la que accederás en forma de Registros de auditoría de Cloud.
- Copia los siguientes comandos en la terminal de Cloud Shell:
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID
echo "this is a sample file" > sample.txt
gcloud storage cp sample.txt gs://$DEVSHELL_PROJECT_ID
gcloud compute networks create mynetwork --subnet-mode=auto
export ZONE=$(gcloud compute project-info describe \
--format="value(commonInstanceMetadata.items[google-compute-default-zone])")
gcloud compute instances create default-us-vm \
--machine-type=e2-micro \
--zone=$ZONE --network=mynetwork
gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID
- Presiona INTRO.
Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.
Generar actividad de la cuenta
Tarea 2: Exporta los registros de auditoría
Nota: Asegúrate de estar en la cuenta username 1: en la consola de Google Cloud.
La actividad que generaste en la tarea anterior se asentó como registros de auditoría. En esta tarea exportarás estos registros a un conjunto de datos de BigQuery para ahondar en el análisis.
- En la barra de título de la consola de Google Cloud, escribe Explorador de registros en el campo Buscar y, luego, haz clic en Explorador de registros en los resultados de la búsqueda. Se abrirá la página Explorador de registros.
- Haz clic en Fijar junto a Observability Logging.
- Cuando exportas registros, el filtro actual se aplicará a lo que se exporte. Copia la siguiente consulta en el compilador de Consultas:
logName = ("projects/{{{project_0.project_id | Project ID}}}/logs/cloudaudit.googleapis.com%2Factivity")
- Haz clic en Ejecutar consulta. Los resultados de la consulta se mostrarán en el panel Resultados de la consulta. Esta consulta filtra los Registros de auditoría de Cloud en tu proyecto.
- En el campo Editor de consultas, haz clic en Más acciones > Crear receptor. Se abrirá el diálogo Crear receptor de enrutamiento de registros.
Nota: Si la ventana de tu navegador es estrecha, la IU podría mostrar Más en lugar de Más acciones.
- En el diálogo Crear receptor de enrutamiento de registros, especifica los siguientes valores y deja lo demás en su configuración predeterminada:
Sección |
Campo: valores |
Detalles del receptor |
Nombre del receptor: AuditLogsExport Haz clic en Siguiente.
|
Destino del receptor |
Selecciona el servicio del receptor: Conjunto de datos de BigQuery Selecciona un conjunto de datos de BigQuery: Crear nuevo conjunto de datos de BigQuery. Se abrirá el diálogo Crear un conjunto de datos. |
Crea un conjunto de datos |
ID de conjunto de datos: auditlogs_dataset Haz clic en Crear conjunto de datos. Se cerrará el diálogo Crear conjunto de datos y regresarás al diálogo Destino del receptor. |
Destino del receptor |
Haz clic en Siguiente. Desmarca la casilla de verificación Usar tablas particionadas, si ya está seleccionada, y haz clic en Siguiente. |
Elige registros para incluirlos en el receptor |
Observa el campo Crea un filtro de inclusión prellenado: logName=("projects/[ID DE PROYECTO]/logs/cloudaudit.googleapis.com%2Factivity") Haz clic en Siguiente. Haz clic en Crear un receptor. Regresa a la página Explorador de registros. |
- En el panel de navegación Logging, haz clic en Enrutador de registros para ver el receptor AuditLogsExport en la lista Receptores de enrutadores de registros.
- Intercalado con el receptor AuditLogsExport, haz clic en Más acciones (
) > Ver detalles del receptor para ver información sobre el receptor AuditLogsExport que creaste. Se abrirá el diálogo Detalles del receptor.
- Haz clic en Cancelar para cerrar el diálogo Detalles del receptor cuando termines de ver la información correspondiente.
Todos los registros futuros se exportarán ahora a BigQuery y las herramientas de BigQuery podrán usarse para realizar análisis de los datos del registro de auditoría. La exportación no exporta las entradas de registro existentes.
Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.
Exportar los registros de auditoría
Tarea 3: Genera más actividad de la cuenta
Nota: Asegúrate de estar en la cuenta username 1: en la consola de Google Cloud.
En esta tarea, crearás y borrarás recursos de nube para generar actividad adicional de la cuenta, a la que luego accederás en BigQuery para extraer estadísticas adicionales a partir de los registros.
- Copia los siguientes comandos en la terminal de Cloud Shell:
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID-test
echo "this is another sample file" > sample2.txt
gcloud storage cp sample.txt gs://$DEVSHELL_PROJECT_ID-test
export ZONE=$(gcloud compute project-info describe \
--format="value(commonInstanceMetadata.items[google-compute-default-zone])")
gcloud compute instances delete --zone=$ZONE \
--delete-disks=all default-us-vm
Estos comandos generan más actividad para ver en los registros de auditoría exportados a BigQuery.
- Presiona INTRO.
Cuando se te solicite, escribe Y; luego, presiona INTRO. Observa que creaste dos buckets y borraste una instancia de Compute Engine.
- Cuando aparezca el prompt después de unos minutos, ingresa los siguientes comandos en la terminal de Cloud Shell:
gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID
gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID-test
- Presiona INTRO.
Observa que borraste ambos buckets.
Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.
Generar más actividad de la cuenta
Tarea 4: Accede como el segundo usuario
Tendrás que alternar cuentas de Google Cloud; para ello, accederás a la consola de Google Cloud con la segunda cuenta de usuario que se proporciona en el panel Detalles del lab. Usarás esta cuenta de usuario para analizar los registros.
- En la consola de Google Cloud, haz clic en el ícono de usuario ubicado en la esquina superior derecha de la pantalla y, a continuación, haz clic en Agregar cuenta.
- Regresa al panel Detalles del lab, copia el nombre de usuario 2 de Google Cloud: y la contraseña. Luego, pega el nombre de usuario y la contraseña en el diálogo Acceder de la consola de Google Cloud.
Tarea 5: Analiza los registros de actividad del administrador
Nota: Asegúrate de estar en la cuenta username 2: en la consola de Google Cloud.
En esta tarea, revisarás los registros de actividad del administrador que generaste en la tarea anterior. Tu objetivo es identificar y aplicar filtros para aislar registros que podrían indicar actividad sospechosa. Esto te permitirá exportar este subconjunto de registros y agilizar el proceso de análisis en busca de problemas potenciales.
Los registros de actividad del administrador contienen las entradas de registro de las llamadas a la API o las otras acciones administrativas que modifican la configuración o los metadatos de los recursos. Por ejemplo, los registros inspeccionan cuándo se crean las instancias de VM y las aplicaciones de App Engine cuando se cambian los permisos.
Nota: Puedes ver las entradas de registro de auditoría en el visor de registros, en Cloud Logging y en el SDK de Cloud. También puedes exportar las entradas de registro de auditoría a Pub/Sub, BigQuery o Cloud Storage.
- En la barra de título de la consola de Google Cloud, escribe Explorador de registros en el campo Buscar y, luego, haz clic en Explorador de registros en los resultados de la búsqueda. Se abrirá la página Explorador de registros.
- Haz clic en Fijar junto a Observability Logging.
- Asegúrate de que el botón Mostrar consulta esté activado. Esto abrirá el campo Compilador de consultas.
- Copia y pega el siguiente comando en el campo Compilador de consultas. Observa el ID de tu proyecto de Google Cloud, que aparece como “PROJECT_ID” en el comando.
logName = ("projects/{{{project_0.project_id | "PROJECT_ID"}}}/logs/cloudaudit.googleapis.com%2Factivity")
- Haz clic en Ejecutar consulta.
- En Resultados de la consulta, localiza la entrada de registro que indica que se borró un bucket de Cloud Storage, el cual contiene el campo de resumen storage.buckets.delete. Los campos de resumen se incluyen en los resultados del registro para destacar información importante acerca de la entrada de registro.
Esta entrada se refiere a storage.googleapis.com, que llama al método storage.buckets.delete para borrar un bucket. El nombre del bucket es el mismo que tu ID del proyecto: .
- En esta entrada, haz clic en el texto storage.googleapis.com y selecciona Mostrar las entradas coincidentes. Los resultados de la consulta ahora deberían mostrar solo seis entradas relacionadas con buckets de Cloud Storage creados y borrados.
- En el campo Editor de consultas, observa que se agregó la línea protoPayload.serviceName="storage.googleapis.com" al Compilador de consultas. Esto filtra tu consulta según entradas que coincidan con storage.googleapis.com.
- En esos resultados de la consulta, haz clic en storage.buckets.delete en una de las entradas y selecciona Mostrar entradas coincidentes.
Observa que se agregó otra línea al texto del Compilador de consultas:
logName = ("projects/{{{project_0.project_id | "PROJECT_ID"}}}/logs/cloudaudit.googleapis.com%2Factivity")
protoPayload.serviceName="storage.googleapis.com"
protoPayload.methodName="storage.buckets.delete"
Los resultados de la consulta ahora deberían mostrar todas las entradas relacionadas con buckets de Cloud Storage borrados. Puedes usar esta técnica para localizar eventos específicos con facilidad.
- En los resultados de la consulta, expande un evento storage.buckets.delete haciendo clic en la flecha > junto a la línea:

- Expande el campo authenticationInfo haciendo clic en la flecha > junto a la línea:

Observa el campo principalEmail, que muestra la dirección de correo electrónico de la cuenta de usuario que realizó esta acción, que es la cuenta de usuario 1 que usaste para generar la actividad del usuario.
Tarea 6: Usa BigQuery para analizar los registros de auditoría
Nota: Asegúrate de estar en la cuenta username 2: en la consola de Google Cloud.
Generaste y exportaste registros al conjunto de datos de BigQuery. En esta tarea, analizarás los registros usando el Editor de consultas.
Nota: Cuando exportas registros a un conjunto de datos de BigQuery, Cloud Logging crea tablas con fecha para contener las entradas de registro exportadas. Las entradas de registro se ubican en tablas cuyos nombres se basan en los nombres de registro de las entradas.
Cómo abrir BigQuery en la consola
-
En el menú de navegación de la consola de Google Cloud, haz clic en BigQuery.
Se abrirá el diálogo Te damos la bienvenida a BigQuery en la consola de Cloud que proporciona un vínculo a la guía de inicio rápido y enumera las actualizaciones de la IU.
-
Haz clic en Listo para cerrar el diálogo.
- En el panel Explorador, haz clic en la flecha de expandir junto a tu proyecto, . Se mostrará el conjunto de datos auditlogs_dataset.
Nota: Si no se muestra auditlogs_dataset, vuelve a cargar la ventana de tu navegador.
A continuación, verifica que el conjunto de datos de BigQuery tenga los permisos adecuados para permitir que el escritor de exportación almacene entradas de registro.
-
Haz clic en el conjunto de datos auditlogs_dataset.
-
En la barra de herramientas de auditlogs_dataset, haz clic en el menú desplegable Uso compartido y selecciona Permisos.
-
En la página Permiso para compartir "auditlogs_dataset", expande la sección Editor de datos de BigQuery.
-
Confirma que la cuenta de servicio usada para las exportaciones de registros tenga permiso. La cuenta de servicio es similar a: service-xxxxxxxx@gcp-sa-logging.iam.gserviceaccount.com
Este permiso se asigna automáticamente cuando están configuradas las exportaciones de registros, por lo que es una manera útil de verificar que se hayan configurado las exportaciones de registro.
-
Haz clic en Cerrar para cerrar la ventana Compartir conjunto de datos.
-
En el panel Explorador, haz clic en la flecha de expandir junto al conjunto de datos auditlogs_dataset para ver la tabla cloudaudit_googleapis_com_activity. Esta tabla contiene tus registros exportados.
-
Selecciona la tabla cloudaudit_googleapis_com_activity. Se mostrará el esquema de la tabla. Dedica un momento a revisar el esquema y los detalles de la tabla.
-
Expande el menú desplegable Abrir en y selecciona Consulta SQL > Pestaña nueva.

- En la pestaña Sin título del Compilador de consultas, borra el texto existente y pega el siguiente comando:
SELECT
timestamp,
resource.labels.instance_id,
protopayload_auditlog.authenticationInfo.principalEmail,
protopayload_auditlog.resourceName,
protopayload_auditlog.methodName
FROM
`auditlogs_dataset.cloudaudit_googleapis_com_activity_*`
WHERE
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN
DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
CURRENT_DATE()
AND resource.type = "gce_instance"
AND operation.first IS TRUE
AND protopayload_auditlog.methodName = "v1.compute.instances.delete"
ORDER BY
timestamp,
resource.labels.instance_id
LIMIT
1000;
Esta consulta devuelve los usuarios que borraron máquinas virtuales en los últimos 7 días.
- Haz clic en Ejecutar.
Después de un par de segundos, BigQuery devolverá cada ocasión en la que un usuario borró una máquina virtual de Compute Engine en los últimos 7 días. Deberías ver una entrada, que es la actividad que generaste en las tareas anteriores como el usuario 1. Recuerda que BigQuery solo muestra la actividad que ocurrió después de que crearas la exportación.
- Reemplaza la consulta anterior en la pestaña Consulta sin título por lo siguiente:
SELECT
timestamp,
resource.labels.bucket_name,
protopayload_auditlog.authenticationInfo.principalEmail,
protopayload_auditlog.resourceName,
protopayload_auditlog.methodName
FROM
`auditlogs_dataset.cloudaudit_googleapis_com_activity_*`
WHERE
PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN
DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
CURRENT_DATE()
AND resource.type = "gcs_bucket"
AND protopayload_auditlog.methodName = "storage.buckets.delete"
ORDER BY
timestamp,
resource.labels.instance_id
LIMIT
1000;
Esta consulta devuelve los usuarios que borraron buckets de Cloud Storage en los últimos 7 días. Deberías ver dos entradas, que es la actividad que generaste en las tareas anteriores como el usuario 1.
- Haz clic en Ejecutar.
La habilidad para analizar los registros de auditoría en BigQuery es muy poderosa. En esta actividad, viste solo dos ejemplos de consultas de registros de auditoría.
Haz clic en Revisar mi progreso para verificar que completaste esta tarea correctamente.
Usar BigQuery para analizar los registros de auditoría
Conclusión
¡Muy bien! Hiciste consultas correctamente en el Explorador de registros. Luego, exportaste registros y creaste un conjunto de datos que analizaste en BigQuery.
Demostraste cómo puedes usar registros de auditoría y filtrar por tipos de actividad maliciosa para, luego, ahondar en el análisis de esos registros en BigQuery como una manera de estudiar las amenazas.
Finaliza el lab
Antes de que finalices el lab, asegúrate de estar conforme con la forma en que completaste todas las tareas. Cuando estés conforme, haz clic en Finalizar Lab y luego haz clic en Enviar.
Finalizar el lab te quitará el acceso al entorno del lab y no podrás volver a acceder al trabajo que completaste.
Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.