En esta guía se explica a los profesionales de seguridad cómo incorporar Google Cloud registros para usarlos en analíticas de seguridad. Al realizar análisis de seguridad, puedes ayudar a tu organización a prevenir, detectar y responder a amenazas como malware, phishing, ransomware y recursos mal configurados.
En esta guía se explica cómo hacer lo siguiente:
- Habilita los registros para que se analicen.
- Dirige esos registros a un único destino en función de la herramienta de analíticas de seguridad que elijas, como Analíticas de registros, BigQuery, Google Security Operations o una tecnología de gestión de eventos e información de seguridad (SIEM) de terceros.
- Analiza esos registros para auditar tu uso de la nube y detectar posibles amenazas para tus datos y cargas de trabajo. Para ello, puedes usar consultas de ejemplo del proyecto Community Security Analytics (CSA).
La información de esta guía forma parte de Google Cloud Autonomic Security Operations, que incluye la transformación de las prácticas de detección y respuesta y las analíticas de seguridad dirigidas por ingenieros para mejorar tus capacidades de detección de amenazas.
En esta guía, los registros proporcionan la fuente de datos que se va a analizar. Sin embargo, puedes aplicar los conceptos de esta guía al análisis de otros datos complementarios relacionados con la seguridad de Google Cloud, como los resultados de seguridad de Security Command Center. Security Command Center Premium ofrece una lista de detectores gestionados que se actualiza periódicamente y que se ha diseñado para identificar amenazas, vulnerabilidades y errores de configuración en tus sistemas casi en tiempo real. Si analizas estas señales de Security Command Center y las correlacionas con los registros ingeridos en tu herramienta de analíticas de seguridad, tal como se describe en esta guía, puedes obtener una perspectiva más amplia de las posibles amenazas de seguridad.
En el siguiente diagrama se muestra cómo interactúan las fuentes de datos de seguridad, las herramientas de analíticas de seguridad y las consultas de CSA.
El diagrama empieza con las siguientes fuentes de datos de seguridad: registros de Cloud Logging, cambios en los recursos de Cloud Asset Inventory y resultados de seguridad de Security Command Center. A continuación, el diagrama muestra cómo se enrutan estas fuentes de datos de seguridad a la herramienta de analíticas de seguridad que elijas: Analíticas de registros en Cloud Logging, BigQuery, Google Security Operations o un SIEM de terceros. Por último, el diagrama muestra cómo usar las consultas de CSA con tu herramienta de analíticas para analizar los datos de seguridad recopilados.
Flujo de trabajo de analíticas de registros de seguridad
En esta sección se describen los pasos para configurar las analíticas de registros de seguridad enGoogle Cloud. El flujo de trabajo consta de los tres pasos que se muestran en el siguiente diagrama y se describen en los párrafos siguientes:
Habilita los registros: hay muchos registros de seguridad disponibles en Google Cloud. Cada registro contiene información diferente que puede ser útil para responder a preguntas de seguridad específicas. Algunos registros, como los de auditoría de actividad de administración, están habilitados de forma predeterminada. Otros deben habilitarse manualmente porque generan costes de ingestión adicionales en Cloud Logging. Por lo tanto, el primer paso del flujo de trabajo es priorizar los registros de seguridad que sean más relevantes para tus necesidades de análisis de seguridad y habilitar esos registros específicos de forma individual.
Para ayudarte a evaluar los registros en términos de la visibilidad y la cobertura de detección de amenazas que proporcionan, esta guía incluye una herramienta de alcance de registros. Esta herramienta asigna cada registro a las tácticas y técnicas de amenazas relevantes de la matriz MITRE ATT&CK® para empresas. La herramienta también asigna las reglas de Event Threat Detection de Security Command Center a los registros en los que se basan. Puedes usar la herramienta de acotación de registros para evaluar los registros independientemente de la herramienta de analíticas que utilices.
Registros de ruta: después de identificar y habilitar los registros que se van a analizar, el siguiente paso es enrutar y agregar los registros de su organización, incluidas las carpetas, los proyectos y las cuentas de facturación que contenga. La forma de enrutar los registros depende de la herramienta de analíticas que utilices.
En esta guía se describen los destinos de enrutamiento de registros habituales y se explica cómo usar un receptor agregado de Cloud Logging para enrutar registros de toda la organización a un segmento de registro de Cloud Logging o a un conjunto de datos de BigQuery, en función de si elige usar Analíticas de registros o BigQuery para las analíticas.
Analizar los registros: después de enrutar los registros a una herramienta de analíticas, el siguiente paso es analizar estos registros para identificar posibles amenazas de seguridad. La forma de analizar los registros depende de la herramienta de analíticas que utilices. Si usas Analíticas de registros o BigQuery, puedes analizar los registros con consultas SQL. Si usas Google Security Operations, puedes analizar los registros con reglas YARA-L. Si usas una herramienta SIEM de terceros, debes usar el lenguaje de consulta especificado por esa herramienta.
En esta guía, encontrarás consultas de SQL que puedes usar para analizar los registros en Analíticas de registros o en BigQuery. Las consultas SQL que se proporcionan en esta guía proceden del proyecto Community Security Analytics (CSA). CSA es un conjunto de código abierto de analíticas de seguridad básicas diseñado para proporcionarte una base de consultas y reglas predefinidas que puedes reutilizar para empezar a analizar tus registros de Google Cloud .
En las secciones siguientes se proporciona información detallada sobre cómo configurar y aplicar cada paso del flujo de trabajo de analíticas de registros de seguridad.
Habilitar registros
Para habilitar los registros, sigue estos pasos:
- Identifica los registros que necesitas con la herramienta de acotación de registros de esta guía.
- Anota el filtro de registro generado por la herramienta de ámbito de registro para usarlo más adelante al configurar el sumidero de registro.
- Habilita el registro de cada tipo de registro o servicio identificado. Google Cloud En función del servicio, es posible que también tengas que habilitar los registros de auditoría de acceso a los datos correspondientes, como se detalla más adelante en esta sección.
Identificar registros con la herramienta de acotación de registros
Para ayudarte a identificar los registros que cumplen tus requisitos de seguridad y cumplimiento, puedes usar la herramienta de acotación de registros que se muestra en esta sección. Esta herramienta proporciona una tabla interactiva que muestra registros valiosos relacionados con la seguridad enGoogle Cloud , incluidos los registros de auditoría de Cloud, los registros de Transparencia de acceso, los registros de red y varios registros de plataforma. Esta herramienta asigna cada tipo de registro a las siguientes áreas:
- Tácticas y técnicas de amenazas de MITRE ATT&CK que se pueden monitorizar con ese registro.
- Infracciones de cumplimiento de la plataforma de computación CIS que se pueden detectar en ese registro. Google Cloud
- Reglas de Event Threat Detection que dependen de ese registro.
La herramienta de acotación de registros también genera un filtro de registros que aparece inmediatamente después de la tabla. Cuando identifiques los registros que necesitas, selecciónalos en la herramienta para actualizar automáticamente ese filtro de registros.
En los siguientes procedimientos breves se explica cómo usar la herramienta de acotación de registros:
- Para seleccionar o quitar un registro en la herramienta de ámbito de registro, haz clic en el interruptor situado junto al nombre del registro.
- Para seleccionar o quitar todos los registros, haz clic en el interruptor situado junto al encabezado Tipo de registro.
- Para ver qué técnicas de MITRE ATT&CK se pueden monitorizar con cada tipo de registro, haga clic en junto al encabezado Tácticas y técnicas de MITRE ATT&CK.
Herramienta de acotación de registros
Registrar el filtro de registro
El filtro de registro que genera automáticamente la herramienta de acotación de registros contiene todos los registros que has seleccionado en la herramienta. Puedes usar el filtro tal cual o acotarlo más en función de tus necesidades. Por ejemplo, puede incluir (o excluir) recursos solo en uno o varios proyectos específicos. Una vez que tengas un filtro de registro que cumpla tus requisitos de registro, debes guardarlo para usarlo al enrutar los registros. Por ejemplo, puedes guardar el filtro en un editor de texto o en una variable de entorno de la siguiente manera:
- En la sección "Filtro de registro generado automáticamente" que aparece después de la herramienta, copie el código del filtro de registro.
- Opcional: Edita el código copiado para acotar el filtro.
En Cloud Shell, crea una variable para guardar el filtro de registro:
export LOG_FILTER='LOG_FILTER'
Sustituye
LOG_FILTER
por el código del filtro de registro.
Habilitar registros de plataforma específicos de un servicio
Para cada uno de los registros de plataforma que selecciones en la herramienta de acotación de registros, esos registros deben estar habilitados (normalmente a nivel de recurso) en cada servicio. Por ejemplo, los registros de Cloud DNS están habilitados a nivel de red de VPC. Del mismo modo, los registros de flujo de VPC se habilitan a nivel de subred para todas las máquinas virtuales de la subred, y los registros de reglas de cortafuegos se habilitan a nivel de regla de cortafuegos individual.
Cada registro de plataforma tiene sus propias instrucciones sobre cómo habilitar el registro. Sin embargo, puedes usar la herramienta de acotación de registros para abrir rápidamente las instrucciones correspondientes a cada registro de plataforma.
Para saber cómo habilitar el registro de un registro de plataforma específico, sigue estos pasos:
- En la herramienta de acotación de registros, busca el registro de plataforma que quieras habilitar.
- En la columna Habilitado de forma predeterminada, haga clic en el enlace Habilitar correspondiente al registro. El enlace te lleva a instrucciones detalladas sobre cómo habilitar el registro de ese servicio.
Habilitar los registros de auditoría de acceso a datos
Como puedes ver en la herramienta de ámbito de registros, los registros de auditoría de acceso a datos de los registros de auditoría de Cloud ofrecen una amplia cobertura de detección de amenazas. Sin embargo, su volumen puede ser bastante grande. Por lo tanto, habilitar estos registros de auditoría de acceso a datos puede conllevar cargos adicionales relacionados con la ingesta, el almacenamiento, la exportación y el procesamiento de estos registros. En esta sección se explica cómo habilitar estos registros y se presentan algunas prácticas recomendadas para ayudarte a encontrar el equilibrio entre el valor y el coste.
Los registros de auditoría de acceso a los datos (excepto los de BigQuery) están inhabilitados de forma predeterminada. Para configurar los registros de auditoría de acceso a datos de Google Cloud servicios distintos de BigQuery, debes habilitarlos explícitamente mediante la consola Google Cloud o la CLI de Google Cloud para editar los objetos de política de gestión de identidades y accesos (IAM). Cuando habilitas los registros de auditoría de acceso a los datos, también puedes configurar qué tipos de operaciones se registran. Hay tres tipos de registros de auditoría de acceso a datos:
ADMIN_READ
: registra las operaciones que leen metadatos o información de configuración.DATA_READ
: registra las operaciones que leen datos proporcionados por los usuarios.DATA_WRITE
: registra las operaciones que escriben datos proporcionados por los usuarios.
Ten en cuenta que no puedes configurar la grabación de operaciones ADMIN_WRITE
, que son operaciones que escriben metadatos o información de configuración. Las operaciones de ADMIN_WRITE
se incluyen en los registros de auditoría de actividad de administración de Cloud Audit Logs
y, por lo tanto, no se pueden inhabilitar.
Gestionar el volumen de registros de auditoría de acceso a datos
Al habilitar los registros de auditoría de acceso a datos, el objetivo es maximizar su valor en términos de visibilidad de seguridad y, al mismo tiempo, limitar su coste y la sobrecarga de gestión. Para ayudarte a conseguir ese objetivo, te recomendamos que hagas lo siguiente para filtrar los registros de poco valor y gran volumen:
- Prioriza los servicios relevantes, como los que alojan cargas de trabajo, claves y datos sensibles. Para ver ejemplos concretos de servicios a los que puedes dar prioridad, consulta Ejemplo de configuración de registros de auditoría de acceso a datos.
Prioriza los proyectos relevantes, como los que alojan cargas de trabajo de producción, en lugar de los que alojan entornos de desarrollo y de staging. Para excluir todos los registros de un proyecto concreto, añade la siguiente expresión al filtro de registro del receptor: Sustituye PROJECT_ID por el ID del proyecto del que quieras excluir todos los registros:
Proyecto Expresión de filtro de registro Excluir todos los registros de un proyecto determinado NOT logName =~ "^projects/PROJECT_ID"
Prioriza un subconjunto de operaciones de acceso a datos, como
ADMIN_READ
,DATA_READ
oDATA_WRITE
, para un conjunto mínimo de operaciones registradas. Por ejemplo, algunos servicios, como Cloud DNS, escriben los tres tipos de operaciones, pero puedes habilitar el registro solo para las operacionesADMIN_READ
. Una vez que haya configurado una o varias de estas tres operaciones de acceso a datos, puede que quiera excluir operaciones específicas que tengan un volumen especialmente alto. Puede excluir estas operaciones de gran volumen modificando el filtro de registro del receptor. Por ejemplo, decides habilitar el registro de auditoría de acceso a datos completo, incluidas las operacionesDATA_READ
en algunos servicios de almacenamiento críticos. Para excluir operaciones de lectura de datos de alto tráfico específicas en esta situación, puede añadir las siguientes expresiones de filtro de registro recomendadas al filtro de registro de su receptor:Servicio Expresión de filtro de registro Excluir registros de gran volumen de Cloud Storage NOT (resource.type="gcs_bucket" AND (protoPayload.methodName="storage.buckets.get" OR protoPayload.methodName="storage.buckets.list"))
Excluir registros de gran volumen de Cloud SQL NOT (resource.type="cloudsql_database" AND protoPayload.request.cmd="select")
Prioriza los recursos pertinentes, como los que alojan tus cargas de trabajo y datos más sensibles. Puedes clasificar tus recursos en función del valor de los datos que procesan y de su riesgo de seguridad, por ejemplo, si son accesibles externamente o no. Aunque los registros de auditoría de acceso a datos se habilitan por servicio, puedes excluir recursos o tipos de recursos específicos mediante el filtro de registro.
Excluir a determinados principales para que no se registren sus accesos a datos. Por ejemplo, puedes eximir a tus cuentas de pruebas internas de que se registren sus operaciones. Para obtener más información, consulta el artículo sobre cómo definir exenciones en la documentación de registros de auditoría de acceso a datos.
Ejemplo de configuración de registro de auditoría de acceso a datos
En la siguiente tabla se muestra una configuración básica de los registros de auditoría de acceso a los datos que puedes usar en los Google Cloud proyectos para limitar los volúmenes de registros y, al mismo tiempo, obtener información valiosa sobre la seguridad:
Nivel | Servicios | Tipos de registros de auditoría de acceso a datos | Tácticas de MITRE ATT&CK |
---|---|---|---|
Servicios de autenticación y autorización | IAM Identity-Aware Proxy (IAP)1 Cloud KMS Secret Manager Resource Manager |
ADMIN_READ DATA_READ |
Detección Acceso a credenciales Apropiación de privilegios |
Servicios de almacenamiento | BigQuery (habilitado de forma predeterminada) Cloud Storage1, 2 |
DATA_READ DATA_WRITE |
Recogida Filtración externa |
Servicios de infraestructura | Compute Engine Política de organización |
ADMIN_READ | Discovery |
1 Habilitar los registros de auditoría de acceso a datos de IAP o Cloud Storage puede generar grandes volúmenes de registros cuando hay mucho tráfico a recursos web protegidos por IAP o a objetos de Cloud Storage.
2 Si habilitas los registros de auditoría de acceso a datos de Cloud Storage, es posible que se interrumpa el uso de descargas autenticadas del navegador para objetos no públicos. Para obtener más información y soluciones alternativas sugeridas para este problema, consulta la guía de solución de problemas de Cloud Storage.
En la configuración de ejemplo, observa cómo se agrupan los servicios en niveles de sensibilidad en función de sus datos, metadatos o configuración subyacentes. Estos niveles muestran la granularidad recomendada de los registros de auditoría de acceso a datos:
- Servicios de autenticación y autorización: en este nivel de servicios, recomendamos auditar todas las operaciones de acceso a datos. Este nivel de auditoría te ayuda a monitorizar el acceso a tus claves, secretos y políticas de gestión de identidades y accesos sensibles. Monitorizar este acceso puede ayudarte a detectar tácticas de MITRE ATT&CK, como Descubrimiento, Acceso a credenciales y Elevación de privilegios.
- Servicios de almacenamiento: en este nivel de servicios, recomendamos auditar las operaciones de acceso a datos que impliquen datos proporcionados por los usuarios. Este nivel de auditoría te ayuda a monitorizar el acceso a tus datos valiosos y sensibles. Monitorizar este acceso puede ayudarte a detectar tácticas de MITRE ATT&CK, como Recogida y Exfiltración, contra tus datos.
- Servicios de infraestructura: en este nivel de servicios, recomendamos auditar las operaciones de acceso a datos que impliquen metadatos o información de configuración. Este nivel de auditoría te ayuda a monitorizar el escaneo de la configuración de la infraestructura. Monitorizar este acceso puede ayudarte a detectar tácticas de MITRE ATT&CK, como Descubrimiento, contra tus cargas de trabajo.
Registros de rutas
Una vez que se hayan identificado y habilitado los registros, el siguiente paso es enrutar los registros a un único destino. El destino, la ruta y la complejidad del enrutamiento varían en función de las herramientas de analíticas que utilice, tal como se muestra en el siguiente diagrama.
En el diagrama se muestran las siguientes opciones de enrutamiento:
Si usas Log Analytics, necesitas un receptor agregado para agregar los registros de toda tu Google Cloud organización en un solo bucket de Cloud Logging.
Si usas BigQuery, necesitas un receptor agregado para agregar los registros de toda tu organización en un único conjunto de datos de BigQuery. Google Cloud
Si usas Google Security Operations y este subconjunto de registros predefinido satisface tus necesidades de análisis de seguridad, puedes agregar automáticamente estos registros a tu cuenta de Google Security Operations mediante la ingesta integrada de Google Security Operations. También puedes ver este conjunto de registros predefinido en la columna Exportable directly to Google Security Operations (Exportable directamente a Google Security Operations) de la herramienta de ámbito de registro. Para obtener más información sobre cómo exportar estos registros predefinidos, consulta el artículo Ingerir registros en Google Security Operations Google Cloud .
Si usas BigQuery o un SIEM de terceros, o bien quieres exportar un conjunto ampliado de registros a Google Security Operations, el diagrama muestra que se necesita un paso adicional entre habilitar los registros y analizarlos. Este paso adicional consiste en configurar un sumidero agregado que enrute los registros seleccionados correctamente. Si usas BigQuery, este receptor es todo lo que necesitas para enrutar los registros a BigQuery. Si usas un SIEM de terceros, debes hacer que el receptor agregue los registros seleccionados en Pub/Sub o Cloud Storage para que se puedan extraer en tu herramienta de analíticas.
Las opciones de enrutamiento a Google Security Operations y a un SIEM de terceros no se incluyen en esta guía. Sin embargo, en las siguientes secciones se detallan los pasos para enrutar registros a Log Analytics o BigQuery:
- Configurar un único destino
- Crea un sumidero de registros agregados.
- Concede acceso al receptor.
- Configura el acceso de lectura al destino.
- Verifica que los registros se hayan enviado al destino.
Configurar un único destino
Analíticas de registros
Abre la consola Google Cloud en el proyecto Google Cloud en el que quieras agregar los registros.
En un terminal de Cloud Shell, ejecuta el siguiente comando
gcloud
para crear un segmento de registro:gcloud logging buckets create BUCKET_NAME \ --location=BUCKET_LOCATION \ --project=PROJECT_ID
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto Google Cloud en el que se almacenarán los registros agregados.BUCKET_NAME
: el nombre del nuevo bucket de registro.BUCKET_LOCATION
: la ubicación geográfica del nuevo contenedor de registro. Las ubicaciones admitidas songlobal
,us
oeu
. Para obtener más información sobre estas regiones de almacenamiento, consulta Regiones admitidas. Si no especifica ninguna ubicación, se usará la regiónglobal
, lo que significa que los registros podrían estar ubicados físicamente en cualquiera de las regiones.
Comprueba que se ha creado el segmento:
gcloud logging buckets list --project=PROJECT_ID
(Opcional) Define el periodo de conservación de los registros en el segmento. En el siguiente ejemplo se amplía la conservación de los registros almacenados en el segmento a 365 días:
gcloud logging buckets update BUCKET_NAME \ --location=BUCKET_LOCATION \ --project=PROJECT_ID \ --retention-days=365
Actualiza el nuevo contenedor para usar Analíticas de registros siguiendo estos pasos.
BigQuery
Abre la consola Google Cloud en el proyecto Google Cloud en el que quieras agregar los registros.
En un terminal de Cloud Shell, ejecuta el siguiente comando
bq mk
para crear un conjunto de datos:bq --location=DATASET_LOCATION mk \ --dataset \ --default_partition_expiration=PARTITION_EXPIRATION \ PROJECT_ID:DATASET_ID
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto Google Cloud en el que se almacenarán los registros agregados.DATASET_ID
: el ID del nuevo conjunto de datos de BigQuery.DATASET_LOCATION
: la ubicación geográfica del conjunto de datos. Una vez creado un conjunto de datos, no se puede cambiar su ubicación.PARTITION_EXPIRATION
: la duración predeterminada (en segundos) de las particiones de las tablas con particiones que crea el receptor de registro. Configura el receptor de registro en la siguiente sección. El receptor de registro que configures usará tablas particionadas por día en función de la marca de tiempo de la entrada de registro. Las particiones (incluidas las entradas de registro asociadas) se eliminanPARTITION_EXPIRATION
segundos después de la fecha de la partición.
Crear un sumidero de registros agregado
Para enrutar los registros de tu organización a tu destino, crea un receptor agregado a nivel de organización. Para incluir todos los registros que ha seleccionado en la herramienta de acotación de registros, configure el sumidero con el filtro de registros generado por la herramienta.
Analíticas de registros
En un terminal de Cloud Shell, ejecuta el siguiente comando
gcloud
para crear un receptor agregado a nivel de organización:gcloud logging sinks create SINK_NAME \ logging.googleapis.com/projects/PROJECT_ID/locations/BUCKET_LOCATION/buckets/BUCKET_NAME \ --log-filter="LOG_FILTER" \ --organization=ORGANIZATION_ID \ --include-children
Haz los cambios siguientes:
SINK_NAME
: el nombre del receptor que enruta los registros.PROJECT_ID
: el ID del proyecto Google Cloud en el que se almacenarán los registros agregados.BUCKET_LOCATION
: la ubicación del bucket de registro que has creado para almacenar los registros.BUCKET_NAME
: el nombre del segmento de Logging que has creado para almacenar los registros.LOG_FILTER
: el filtro de registro que has guardado en la herramienta de acotación de registros.ORGANIZATION_ID
: el ID de recurso de tu organización.
La marca
--include-children
es importante para que también se incluyan los registros de todos los proyectos de tu organización.Google Cloud Para obtener más información, consulta el artículo Recopilar y enrutar registros a nivel de organización a destinos admitidos.Comprueba que se ha creado el sumidero:
gcloud logging sinks list --organization=ORGANIZATION_ID
Obtén el nombre de la cuenta de servicio asociada al receptor que acabas de crear:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
El resultado es similar al siguiente:
writerIdentity: serviceAccount:p1234567890-12345@logging-o1234567890.iam.gserviceaccount.com`
Copia toda la cadena de
writerIdentity
que empieza por serviceAccount:. Este identificador es la cuenta de servicio del receptor. Hasta que no concedas acceso de escritura a esta cuenta de servicio al segmento de registros, se producirá un error en el enrutamiento de registros desde este sumidero. En la siguiente sección, se explica cómo conceder acceso de escritura a la identidad de escritura del sumidero.
BigQuery
En un terminal de Cloud Shell, ejecuta el siguiente comando
gcloud
para crear un receptor agregado a nivel de organización:gcloud logging sinks create SINK_NAME \ bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID \ --log-filter="LOG_FILTER" \ --organization=ORGANIZATION_ID \ --use-partitioned-tables \ --include-children
Haz los cambios siguientes:
SINK_NAME
: el nombre del receptor que enruta los registros.PROJECT_ID
: el ID del proyecto Google Cloud en el que quieres agregar los registros.DATASET_ID
: el ID del conjunto de datos de BigQuery que has creado.LOG_FILTER
: el filtro de registro que has guardado en la herramienta de acotación de registros.ORGANIZATION_ID
: el ID de recurso de tu organización.
La marca
--include-children
es importante para que también se incluyan los registros de todos los proyectos de tu organización.Google Cloud Para obtener más información, consulta el artículo Recopilar y enrutar registros a nivel de organización a destinos admitidos.La marca
--use-partitioned-tables
es importante para que los datos se particionen por día en función del campotimestamp
de la entrada de registro. De esta forma, se simplifican las consultas de datos y se reducen los costes de las consultas, ya que se reduce la cantidad de datos que escanean las consultas. Otra ventaja de las tablas con particiones es que puedes definir una fecha de caducidad de partición predeterminada a nivel de conjunto de datos para cumplir los requisitos de conservación de registros. Ya has definido una caducidad de partición predeterminada al crear el destino del conjunto de datos en la sección anterior. También puedes definir una caducidad de partición a nivel de tabla individual, lo que te proporciona controles de conservación de datos pormenorizados basados en el tipo de registro.Comprueba que se ha creado el sumidero:
gcloud logging sinks list --organization=ORGANIZATION_ID
Obtén el nombre de la cuenta de servicio asociada al receptor que acabas de crear:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
El resultado es similar al siguiente:
writerIdentity: serviceAccount:p1234567890-12345@logging-o1234567890.iam.gserviceaccount.com`
Copia toda la cadena de
writerIdentity
que empieza por serviceAccount:. Este identificador es la cuenta de servicio del receptor. Hasta que no concedas a esta cuenta de servicio acceso de escritura al conjunto de datos de BigQuery, se producirá un error en el enrutamiento de registros desde este receptor. En la siguiente sección, se explica cómo conceder acceso de escritura a la identidad de escritor del sumidero.
Conceder acceso al receptor
Después de crear el receptor de registro, debes concederle acceso de escritura a su destino, ya sea el segmento de Logging o el conjunto de datos de BigQuery.
Analíticas de registros
Para añadir los permisos a la cuenta de servicio del receptor, sigue estos pasos:
En la consola de Google Cloud , ve a la página Gestión de identidades y accesos:
Asegúrate de haber seleccionado el proyecto de destino Google Cloud que contiene el segmento de Logging que has creado para el almacenamiento centralizado de registros.
Haz clic en person_add Conceder acceso.
En el campo Nuevos principales, introduce la cuenta de servicio del receptor sin el prefijo
serviceAccount:
. Recuerde que esta identidad procede del campowriterIdentity
que ha obtenido en la sección anterior después de crear el receptor.En el menú desplegable Seleccionar un rol, selecciona Escritor de cubos de registros.
Haz clic en Añadir condición de IAM para restringir el acceso de la cuenta de servicio únicamente al segmento de registro que has creado.
Escribe un título y una descripción para la condición.
En el menú desplegable Tipo de condición, selecciona Recurso > Nombre.
En el menú desplegable Operador, selecciona Termina por.
En el campo Valor, introduzca la ubicación y el nombre del contenedor de la siguiente manera:
locations/BUCKET_LOCATION/buckets/BUCKET_NAME
Haz clic en Guardar para añadir la condición.
Haz clic en Guardar para definir los permisos.
BigQuery
Para añadir los permisos a la cuenta de servicio del receptor, sigue estos pasos:
En la Google Cloud consola, ve a BigQuery:
Abre el conjunto de datos de BigQuery que has creado para el almacenamiento central de registros.
En la pestaña Información del conjunto de datos, haz clic en el menú desplegable Compartirkeyboard_arrow_down y, a continuación, en Permisos.
En el panel lateral Permisos del conjunto de datos, haz clic en Añadir principal.
En el campo Nuevos principales, introduce la cuenta de servicio del receptor sin el prefijo
serviceAccount:
. Recuerde que esta identidad procede del campowriterIdentity
que ha obtenido en la sección anterior después de crear el receptor.En el menú desplegable Rol, selecciona Editor de datos de BigQuery.
Haz clic en Guardar.
Después de conceder acceso al receptor, las entradas de registro empiezan a rellenar el destino del receptor: el bucket de Logging o el conjunto de datos de BigQuery.
Configurar el acceso de lectura al destino
Ahora que tu sumidero de registros enruta los registros de toda tu organización a un único destino, puedes buscar en todos estos registros. Usa los permisos de gestión de identidades y accesos para gestionar los permisos y conceder acceso según sea necesario.
Analíticas de registros
Para conceder acceso para ver y consultar los registros de tu nuevo bucket de registro, sigue estos pasos.
En la consola de Google Cloud , ve a la página Gestión de identidades y accesos:
Ir a la página de gestión de identidades y accesos
Asegúrate de haber seleccionado el Google Cloud proyecto que vas a usar para agregar los registros.
Haz clic en person_add Añadir.
En el campo Nuevo principal, añade tu cuenta de correo.
En el menú desplegable Seleccionar un rol, selecciona Accessor de vistas de registros.
Este rol proporciona al nuevo principal acceso de lectura a todas las vistas de los segmentos del proyecto. Google Cloud Para limitar el acceso de un usuario, añade una condición que le permita leer solo desde tu nuevo contenedor.
Haz clic en Añadir condición.
Escribe un título y una descripción para la condición.
En el menú desplegable Tipo de condición, selecciona Recurso > Nombre.
En el menú desplegable Operador, selecciona Termina por.
En el campo Valor, introduce la ubicación y el nombre del contenedor, así como la vista de registro predeterminada
_AllLogs
, de la siguiente manera: .locations/BUCKET_LOCATION/buckets/BUCKET_NAME/views/_AllLogs
Haz clic en Guardar para añadir la condición.
Haz clic en Guardar para definir los permisos.
BigQuery
Para conceder acceso para ver y consultar los registros de tu conjunto de datos de BigQuery, sigue los pasos que se indican en la sección Conceder acceso a un conjunto de datos de la documentación de BigQuery.
Verificar que los registros se enrutan al destino
Analíticas de registros
Cuando enrutes los registros a un contenedor de registro actualizado a Analíticas de registros, podrás ver y consultar todas las entradas de registro a través de una única vista de registro con un esquema unificado para todos los tipos de registro. Sigue estos pasos para verificar que los registros se hayan enrutado correctamente.
En la Google Cloud consola, ve a la página Analíticas de registros:
Asegúrate de haber seleccionado el Google Cloud proyecto que vas a usar para agregar los registros.
Haz clic en la pestaña Vistas de registro.
Despliega las vistas de registro del segmento de registro que has creado (
BUCKET_NAME
) si aún no lo has hecho.Selecciona la vista de registro predeterminada
_AllLogs
. Ahora puede inspeccionar todo el esquema del registro en el panel de la derecha, como se muestra en la siguiente captura de pantalla:Junto a
_AllLogs
, haz clic en Consulta . De esta forma, se rellena el editor Consulta con una consulta SQL de ejemplo para obtener las entradas de registro que se han enrutado recientemente.Haz clic en Ejecutar consulta para ver las entradas de registro enrutadas recientemente.
En función del nivel de actividad de los proyectos de tu organización, es posible que tengas que esperar unos minutos hasta que se generen algunos registros y, a continuación, se enruten a tu segmento de registros. Google Cloud
BigQuery
Cuando enruta registros a un conjunto de datos de BigQuery, Cloud Logging crea tablas de BigQuery para contener las entradas de registro, tal como se muestra en la siguiente captura de pantalla:
En la captura de pantalla se muestra cómo Cloud Logging asigna un nombre a cada tabla de BigQuery en función del nombre del registro al que pertenece una entrada de registro. Por ejemplo, la tabla cloudaudit_googleapis_com_data_access
seleccionada en la captura de pantalla contiene registros de auditoría de acceso a datos cuyo ID de registro es cloudaudit.googleapis.com%2Fdata_access
. Además de recibir el nombre de la entrada de registro correspondiente, cada tabla también se particiona en función de las marcas de tiempo de cada entrada de registro.
En función del nivel de actividad de los Google Cloud proyectos de tu organización, puede que tengas que esperar unos minutos hasta que se generen algunos registros y, a continuación, se enruten a tu conjunto de datos de BigQuery.
Analizar registros
Puedes ejecutar una amplia gama de consultas en tus registros de auditoría y de plataforma. En la siguiente lista se proporciona un conjunto de preguntas de seguridad de ejemplo que puede hacer sobre sus propios registros. En cada pregunta de esta lista, hay dos versiones de la consulta de CSA correspondiente: una para usar con Log Analytics y otra para usar con BigQuery. Usa la versión de la consulta que coincida con el destino del receptor que hayas configurado anteriormente.
Analíticas de registros
Antes de usar cualquiera de las consultas SQL que se indican a continuación, sustituye MY_PROJECT_ID
por el ID del proyecto Google Cloud en el que has creado el contenedor de registro (es decir, PROJECT_ID)
) y MY_DATASET_ID
por la región y el nombre de ese contenedor de registro (es decir, BUCKET_LOCATION.BUCKET_NAME
).
BigQuery
Antes de usar cualquiera de las consultas de SQL que se muestran a continuación, sustituye MY_PROJECT_ID
por el ID del Google Cloud proyecto en el que has creado el conjunto de datos de BigQuery (es decir, PROJECT_ID)
) y MY_DATASET_ID
por el nombre de ese conjunto de datos (es decir, DATASET_ID
).
- Preguntas sobre inicio de sesión y acceso
- ¿Se ha marcado algún intento de inicio de sesión sospechoso en Google Workspace?
- ¿Se han producido demasiados errores de inicio de sesión desde alguna identidad de usuario?
- ¿Se ha intentado acceder de alguna forma que infrinja Controles de Servicio de VPC?
- ¿Hay algún intento de acceso que infrinja los controles de acceso de Identity-Aware Proxy?
- Preguntas sobre los cambios en los permisos
- Preguntas sobre la actividad de aprovisionamiento
- Preguntas sobre el uso de las cargas de trabajo
- Preguntas sobre el acceso a los datos
- ¿Qué usuarios accedieron con mayor frecuencia a los datos durante la última semana?
- ¿Qué usuarios accedieron a los datos de la tabla "accounts" el mes pasado?
- ¿A qué tablas se accede con más frecuencia y quién lo hace?
- ¿Cuáles son las 10 consultas principales en BigQuery de la última semana?
- ¿Cuáles son las acciones más habituales registradas en el registro de acceso a datos durante el último mes?
- Preguntas sobre seguridad de la red
Preguntas sobre el inicio de sesión y el acceso
Estas consultas de ejemplo realizan análisis para detectar intentos de inicio de sesión sospechosos o intentos de acceso inicial a tu entorno de Google Cloud .
.¿Google Workspace ha detectado algún intento de inicio de sesión sospechoso?
Al buscar en los registros de Cloud Identity que forman parte de Auditoría de inicio de sesión de Google Workspace, la siguiente consulta detecta intentos de inicio de sesión sospechosos marcados por Google Workspace. Estos intentos de inicio de sesión pueden proceder de la Google Cloud consola, la consola de administración o la CLI de gcloud.
Analíticas de registros
BigQuery
¿Se han producido demasiados errores al intentar iniciar sesión con alguna identidad de usuario?
Al buscar en los registros de Cloud Identity que forman parte de Auditoría de inicio de sesión de Google Workspace, la siguiente consulta detecta a los usuarios que han tenido tres o más fallos de inicio de sesión sucesivos en las últimas 24 horas.
Analíticas de registros
BigQuery
¿Se ha intentado acceder de forma que se infrinjan los Controles de Servicio de VPC?
Al analizar los registros de auditoría de denegación de acceso por infracción de las políticas de Cloud Audit Logs, la siguiente consulta detecta los intentos de acceso bloqueados por Controles de Servicio de VPC. Los resultados de las consultas pueden indicar una actividad maliciosa potencial, como intentos de acceso desde redes no autorizadas con credenciales robadas.
Analíticas de registros
BigQuery
¿Se ha intentado acceder de alguna forma que infrinja los controles de acceso de IAP?
Al analizar los registros del balanceador de carga de aplicación externo, la siguiente consulta detecta los intentos de acceso bloqueados por IAP. Los resultados de las consultas pueden indicar un intento de acceso inicial o un intento de aprovechar una vulnerabilidad.
Analíticas de registros
BigQuery
Preguntas sobre cambios en los permisos
Estas consultas de ejemplo analizan la actividad de los administradores que cambia los permisos, incluidos los cambios en las políticas de gestión de identidades y accesos, los grupos y las pertenencias a grupos, las cuentas de servicio y las claves asociadas. Estos cambios en los permisos pueden proporcionar un nivel de acceso alto a datos o entornos sensibles.
.¿Se ha añadido algún usuario a grupos con privilegios elevados?
Al analizar los registros de auditoría del administrador de Google Workspace, la siguiente consulta detecta a los usuarios que se han añadido a cualquiera de los grupos con privilegios elevados que se indican en la consulta. Usa la expresión regular de la consulta para definir qué grupos (como admin@example.com
o prod@example.com
) quieres monitorizar. Los resultados de las consultas pueden indicar una elevación de privilegios malintencionada o accidental.
Analíticas de registros
BigQuery
¿Hay algún permiso concedido a una cuenta de servicio?
Al analizar los registros de auditoría de actividad de administración de Registros de auditoría de Cloud, la siguiente consulta detecta los permisos que se han concedido a cualquier principal en una cuenta de servicio. Por ejemplo, se puede conceder permiso para suplantar la identidad de esa cuenta de servicio o para crear claves de cuenta de servicio. Los resultados de cualquier consulta pueden indicar una instancia de escalada de privilegios o un riesgo de filtración de credenciales.
Analíticas de registros
BigQuery
¿Hay alguna cuenta de servicio o clave creada por una identidad no aprobada?
Al analizar los registros de auditoría de actividad de administrador, la siguiente consulta detecta cualquier cuenta de servicio o clave que haya creado un usuario manualmente. Por ejemplo, puedes seguir una práctica recomendada para permitir que solo una cuenta de servicio aprobada cree cuentas de servicio como parte de un flujo de trabajo automatizado. Por lo tanto, cualquier cuenta de servicio que se cree fuera de ese flujo de trabajo se considera que no cumple los requisitos y que puede ser maliciosa.
Analíticas de registros
BigQuery
¿Se ha añadido o quitado algún usuario de una política de gestión de identidades y accesos sensible?
Al buscar en los registros de auditoría de actividad de administrador, la siguiente consulta detecta cualquier cambio en el acceso de un usuario o un grupo a un recurso protegido por IAP, como un servicio de backend de Compute Engine. La siguiente consulta busca todas las actualizaciones de políticas de gestión de identidades y accesos de recursos de IAP que impliquen el rol de gestión de identidades y accesos roles/iap.httpsResourceAccessor
. Este rol proporciona permisos para acceder al recurso HTTPS o al servicio de backend. Los resultados de las consultas pueden indicar intentos de eludir las defensas de un servicio backend que podría estar expuesto a Internet.
Analíticas de registros
BigQuery
Preguntas sobre la actividad de aprovisionamiento
Estas consultas de ejemplo realizan análisis para detectar actividad de administrador sospechosa o anómala, como el aprovisionamiento y la configuración de recursos.
¿Se ha hecho algún cambio en la configuración de registro?
Al buscar en los registros de auditoría de actividad de administración, la siguiente consulta detecta cualquier cambio que se haya hecho en la configuración de registro. Monitorizar la configuración de los registros le ayuda a detectar la inhabilitación accidental o malintencionada de los registros de auditoría y técnicas similares de elusión de defensas.
Analíticas de registros
BigQuery
¿Hay algún registro de flujo de VPC inhabilitado?
Al buscar en los registros de auditoría de actividad de administración, la siguiente consulta detecta cualquier subred cuyos registros de flujo de VPC se hayan inhabilitado de forma activa . Monitorizar los ajustes de los registros de flujo de VPC te ayuda a detectar si se han inhabilitado de forma accidental o malintencionada, así como otras técnicas de elusión de defensas similares.
Analíticas de registros
BigQuery
¿Se ha modificado un número inusualmente alto de reglas de cortafuegos en la última semana?
Al buscar en los registros de auditoría de actividad de administración, la siguiente consulta detecta cualquier número inusualmente alto de cambios en las reglas de cortafuegos en un día concreto de la semana pasada. Para determinar si hay un valor atípico, la consulta realiza un análisis estadístico de los recuentos diarios de cambios en las reglas de cortafuegos. Las medias y las desviaciones estándar se calculan cada día teniendo en cuenta los recuentos diarios anteriores con una ventana retrospectiva de 90 días. Se considera un valor atípico cuando el recuento diario es más de dos desviaciones estándar por encima de la media. La consulta, incluido el factor de desviación estándar y las ventanas retrospectivas, se puede configurar para que se ajuste a tu perfil de actividad de aprovisionamiento en la nube y para minimizar los falsos positivos.
Analíticas de registros
BigQuery
¿Se ha eliminado alguna máquina virtual en la última semana?
Al buscar en los registros de auditoría de actividad de administración, la siguiente consulta muestra todas las instancias de Compute Engine que se han eliminado en la última semana. Esta consulta puede ayudarte a auditar las eliminaciones de recursos y detectar posibles actividades maliciosas.
Analíticas de registros
BigQuery
Preguntas sobre el uso de cargas de trabajo
Estas consultas de ejemplo realizan análisis para saber quién y qué consume tus cargas de trabajo y APIs en la nube, y te ayudan a detectar posibles comportamientos maliciosos internos o externos.
¿Ha habido un uso inusualmente alto de la API por parte de alguna identidad de usuario en la última semana?
Al analizar todos los registros de auditoría de Cloud, la siguiente consulta detecta un uso inusualmente alto de la API por parte de cualquier identidad de usuario en cualquier día de la semana pasada. Un uso inusualmente alto de este tipo puede ser un indicador de un posible abuso de la API, una amenaza interna o credenciales filtradas. Para determinar si hay un valor atípico, esta consulta realiza un análisis estadístico del recuento diario de acciones por principal. Las medias y las desviaciones estándar se calculan para cada día y para cada principal. Para ello, se tienen en cuenta los recuentos diarios anteriores con una ventana retrospectiva de 60 días. Se considera un valor atípico cuando el recuento diario de un usuario supera en más de tres desviaciones estándar su media. La consulta, incluido el factor de desviación estándar y las ventanas retrospectivas, se pueden configurar para que se ajusten a su perfil de actividad de aprovisionamiento en la nube y para minimizar los falsos positivos.
Analíticas de registros
BigQuery
¿Cuál ha sido el uso de escalado automático por día durante el último mes?
Al analizar los registros de auditoría de actividad de administrador, la siguiente consulta informa del uso de escalado automático por día durante el último mes. Esta consulta se puede usar para identificar patrones o anomalías que requieran una investigación de seguridad más exhaustiva.
Analíticas de registros
BigQuery
Preguntas sobre el acceso a los datos
Estas consultas de ejemplo realizan análisis para saber quién accede o modifica datos en Google Cloud.
¿Qué usuarios accedieron con mayor frecuencia a los datos durante la última semana?
La siguiente consulta usa los registros de auditoría de acceso a datos para buscar las identidades de usuario que han accedido con mayor frecuencia a los datos de las tablas de BigQuery durante la última semana.
Analíticas de registros
BigQuery
¿Qué usuarios accedieron a los datos de la tabla "accounts" el mes pasado?
La siguiente consulta usa los registros de auditoría de acceso a datos para buscar las identidades de usuario que con más frecuencia han consultado una tabla accounts
determinada durante el último mes.
Además de los marcadores de posición MY_DATASET_ID
y MY_PROJECT_ID
para el destino de exportación de BigQuery, la siguiente consulta usa los marcadores de posición DATASET_ID
y PROJECT_ID
. Debes sustituir los marcadores de posición DATASET_ID
y PROJECT_ID
para especificar la tabla de destino cuyo acceso se está analizando, como la tabla accounts
de este ejemplo.
Analíticas de registros
BigQuery
¿A qué tablas se accede con más frecuencia y quién lo hace?
La siguiente consulta usa los registros de auditoría de acceso a datos para encontrar las tablas de BigQuery con los datos que se han leído y modificado con mayor frecuencia durante el último mes. Muestra la identidad de usuario asociada junto con el desglose del número total de veces que se han leído los datos en comparación con las veces que se han modificado.
Analíticas de registros
BigQuery
¿Cuáles son las 10 consultas principales en BigQuery de la semana pasada?
La siguiente consulta usa los registros de auditoría de acceso a datos para encontrar las consultas más habituales de la última semana. También se indican los usuarios correspondientes y las tablas a las que se hace referencia.
Analíticas de registros
BigQuery
¿Cuáles son las acciones más habituales registradas en el registro de acceso a datos durante el último mes?
La siguiente consulta usa todos los registros de auditoría de Cloud para encontrar las 100 acciones más frecuentes registradas durante el último mes.
Analíticas de registros
BigQuery
Preguntas sobre la seguridad de la red
Estas consultas de ejemplo analizan la actividad de tu red en Google Cloud.
¿Hay alguna conexión desde una dirección IP nueva a una subred específica?
La siguiente consulta detecta conexiones de cualquier dirección IP de origen nueva a una subred determinada analizando los registros de flujo de VPC. En este ejemplo, una dirección IP de origen se considera nueva si se ha visto por primera vez en las últimas 24 horas en un periodo de 60 días. Puede que quieras usar y ajustar esta consulta en una subred que esté incluida en el ámbito de un requisito de cumplimiento concreto, como PCI.
Analíticas de registros
BigQuery
¿Hay alguna conexión bloqueada por Google Cloud Armor?
La siguiente consulta ayuda a detectar posibles intentos de explotación analizando los registros de balanceadores de carga de aplicaciones externos para encontrar cualquier conexión bloqueada por la política de seguridad configurada en Google Cloud Armor. Esta consulta presupone que tienes una política de seguridad de Google Cloud Armor configurada en tu balanceador de carga de aplicaciones externo. Esta consulta también presupone que has habilitado el registro de Application Load Balancer externo, tal como se describe en las instrucciones que se proporcionan en el enlace Habilitar de la herramienta de ámbito de registro.
Analíticas de registros
BigQuery
¿Cloud IDS ha detectado algún virus o malware de gravedad alta?
La siguiente consulta muestra cualquier virus o malware de gravedad alta detectado por Cloud IDS buscando en los registros de amenazas de Cloud IDS. Esta consulta supone que tienes un punto final de Cloud IDS configurado.
Analíticas de registros
BigQuery
¿Cuáles son los principales dominios consultados de Cloud DNS desde tu red de VPC?
La siguiente consulta muestra los 10 dominios más consultados de Cloud DNS de tus redes de VPC durante los últimos 60 días. Esta consulta presupone que has habilitado el registro de Cloud DNS en tus redes de VPC, tal como se describe en las instrucciones que se proporcionan en el enlace Habilitar de la herramienta de definición del ámbito de los registros.
Analíticas de registros
BigQuery
Siguientes pasos
Consulta cómo transmitir registros de Google Cloud a Splunk.
Ingestión Google Cloud de registros en Google Security Operations.
Exportar datos de seguridad a tu sistema SIEM. Google Cloud
Consulta arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Centro de arquitectura de Cloud.