Recopila registros de Azure App Service
En este documento, se explica cómo exportar registros de Azure App Service a Google Security Operations con una cuenta de almacenamiento de Azure. El analizador transforma los registros sin procesar de Azure App Service con formato JSON en un modelo de datos unificado (UDM) estructurado. Extrae los campos pertinentes de los registros sin procesar, realiza la limpieza y la normalización de los datos, y asigna la información extraída a los campos correspondientes del UDM. Por último, genera un objeto JSON compatible con el UDM para cada entrada de registro.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps
- Un inquilino de Azure activo
- Acceso con privilegios a Azure
Configura la cuenta de Azure Storage
- En la consola de Azure, busca Cuentas de almacenamiento.
- Haz clic en + Crear.
- Especifica valores para los siguientes parámetros de entrada:
- Suscripción: Selecciona la suscripción.
- Grupo de recursos: Selecciona el grupo de recursos.
- Región: Selecciona la región.
- Rendimiento: Selecciona el rendimiento (se recomienda Estándar).
- Redundancia: Selecciona la redundancia (se recomienda GRS o LRS).
- Nombre de la cuenta de almacenamiento: Ingresa un nombre para la nueva cuenta de almacenamiento.
- Haz clic en Revisar + crear.
- Revisa el resumen de la cuenta y haz clic en Crear.
- En la página Información general de la cuenta de almacenamiento, selecciona el submenú Claves de acceso en Seguridad y redes.
- Haz clic en Mostrar junto a key1 o key2.
- Haz clic en Copiar en el portapapeles para copiar la clave.
- Guarda la llave en un lugar seguro para usarla más adelante.
- En la página Información general de la cuenta de almacenamiento, selecciona el submenú Endpoints en Configuración.
- Haz clic en Copiar al portapapeles para copiar la URL del extremo del servicio Blob, por ejemplo,
https://<storageaccountname>.blob.core.windows.net
. - Guarda la URL del extremo en una ubicación segura para usarla más adelante.
Cómo configurar la exportación de registros para los registros de acceso de Azure AD
- Accede al portal de Azure con tu cuenta con privilegios.
- Ve a App Services y selecciona el servicio de aplicación requerido en uso.
- Selecciona Monitoring > App Service Logs.
- Activa Application Logging (blob).
- Selecciona Storage en Web Service Logging.
- Selecciona la Suscripción y la Cuenta de almacenamiento.
- Define el período de retención y la cuota según tus requisitos.
- Activa ON para Mensajes de error detallados.
- Activa Failed request tracing.
- Haz clic en Guardar.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds
- Centro de contenido > Paquetes de contenido
Configura feeds desde Configuración del SIEM > Feeds
Para configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Cómo configurar feeds por producto.
Para configurar un solo feed, sigue estos pasos:
- Ve a SIEM Settings > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros del servicio de aplicaciones de Azure.
- Selecciona Microsoft Azure Blob Storage como el Tipo de fuente.
- Selecciona Azure APP Service como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
- URI de Azure: Es la URL del extremo del blob.
ENDPOINT_URL/BLOB_NAME
- Reemplaza lo siguiente:
ENDPOINT_URL
: URL del extremo del blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: Es el nombre del blob (por ejemplo,<logname>-logs
).
- Reemplaza lo siguiente:
- El URI es un: Selecciona el TIPO de URI según la configuración del flujo de registros (Archivo único | Directorio | Directorio que incluye subdirectorios).
Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
Clave compartida: Es la clave de acceso a Azure Blob Storage.
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.
- URI de Azure: Es la URL del extremo del blob.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
- URI de Azure: Es la URL del extremo del blob.
ENDPOINT_URL/BLOB_NAME
- Reemplaza lo siguiente:
ENDPOINT_URL
: URL del extremo del blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: Es el nombre del blob (por ejemplo,insights-logs-<logname>
).
- Reemplaza lo siguiente:
- El URI es un: Selecciona el TIPO de URI según la configuración del flujo de registros (Archivo único | Directorio | Directorio que incluye subdirectorios).
- Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
- Clave compartida: Es la clave de acceso a Azure Blob Storage.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
- Espacio de nombres del recurso: Espacio de nombres asociado al feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
AppRoleInstance | read_only_udm.principal.resource.product_object_id | Asignación directa |
AppRoleName | read_only_udm.principal.resource.name | Asignación directa |
AppVersion | read_only_udm.principal.resource.attribute.labels.value | Asignación directa |
Categoría | read_only_udm.metadata.product_event_type | Asignación directa |
CIp | read_only_udm.target.asset.ip | Asignación directa |
CIp | read_only_udm.target.ip | Asignación directa |
ClientCity | read_only_udm.principal.location.city | Asignación directa |
ClientCountryOrRegion | read_only_udm.principal.location.country_or_region | Asignación directa |
ClientIP | read_only_udm.principal.asset.ip | Asignación directa |
ClientIP | read_only_udm.principal.ip | Asignación directa |
ClientStateOrProvince | read_only_udm.principal.location.state | Asignación directa |
ClientType | read_only_udm.additional.fields.value.string_value | Asignación directa |
ComputerName | read_only_udm.principal.asset.hostname | Asignación directa |
ComputerName | read_only_udm.principal.hostname | Asignación directa |
Cookie | read_only_udm.principal.resource.attribute.labels.value | Asignación directa |
CsBytes | read_only_udm.network.sent_bytes | Se cambió el nombre de CsBytes |
CsHost | read_only_udm.additional.fields.value.string_value | Asignación directa |
CsMethod | read_only_udm.network.http.method | Asignación directa |
CsUriQuery | read_only_udm.principal.resource.attribute.labels.value | Asignación directa |
CsUriStem | read_only_udm.additional.fields.value.string_value | Asignación directa |
CsUriStem | read_only_udm.target.url | Asignación directa |
CsUsername | read_only_udm.principal.user.user_display_name | Asignación directa |
EventIpAddress | read_only_udm.principal.asset.ip | Asignación directa |
EventIpAddress | read_only_udm.principal.ip | Asignación directa |
EventPrimaryStampName | read_only_udm.additional.fields.value.string_value | Asignación directa |
EventStampName | read_only_udm.additional.fields.value.string_value | Asignación directa |
EventStampType | read_only_udm.additional.fields.value.string_value | Asignación directa |
Host | read_only_udm.principal.asset.hostname | Asignación directa |
Host | read_only_udm.principal.hostname | Asignación directa |
IKey | read_only_udm.target.resource.attribute.labels.value | Asignación directa |
Instancia | read_only_udm.additional.fields.value.string_value | Asignación directa |
Nombre | read_only_udm.additional.fields.value.string_value | Asignación directa |
Protocolo | read_only_udm.additional.fields.value.string_value | Asignación directa |
Protocolo | read_only_udm.network.application_protocol | Se asigna a HTTP si el protocolo es HTTP/1.1 |
Referencia | read_only_udm.network.http.referral_url | Asignación directa |
ResourceGUID | read_only_udm.target.resource.product_object_id | Se cambió el nombre de ResourceGUID. |
SDKVersion | read_only_udm.additional.fields.value.string_value | Asignación directa |
SDKVersion | read_only_udm.principal.resource.attribute.labels.value | Asignación directa |
SPort | read_only_udm.principal.port | Se cambió el nombre de SPort |
ScBytes | read_only_udm.network.received_bytes | Se cambió el nombre de ScBytes |
ScStatus | read_only_udm.network.http.response_code | Se cambió el nombre de ScStatus |
TimeTaken | read_only_udm.additional.fields.value.string_value | Asignación directa |
Tipo | read_only_udm.additional.fields.value.string_value | Asignación directa |
Usuario | read_only_udm.principal.user.userid | Asignación directa |
UserAddress | read_only_udm.principal.asset.ip | Se extrae de UserAddress si es una dirección IP válida. |
UserAddress | read_only_udm.principal.ip | Se extrae de UserAddress si es una dirección IP válida. |
UserAgent | read_only_udm.network.http.user_agent | Asignación directa |
UserDisplayName | read_only_udm.principal.user.user_display_name | Asignación directa |
category | read_only_udm.metadata.product_event_type | Asignación directa |
level | read_only_udm.security_result.severity | Se cambió el nombre y se convirtió a mayúsculas desde level. |
ubicación | read_only_udm.principal.location.name | Asignación directa |
operationName | read_only_udm.additional.fields.value.string_value | Asignación directa |
record.properties.Protocol | read_only_udm.additional.fields.value.string_value | Asignación directa |
record.properties.Result | read_only_udm.security_result.summary | Asignación directa |
record.time | read_only_udm.metadata.event_timestamp | Se analizó como marca de tiempo RFC 3339. |
resourceId | read_only_udm.target.resource.attribute.labels.value | Asignación directa |
resourceId | read_only_udm.target.resource.product_object_id | Se cambió el nombre de resourceId. |
read_only_udm.metadata.event_type | Se determina según la presencia de la principal, el destino y el protocolo. Se establece en NETWORK_HTTP si están presentes la principal, el objetivo y Protocol=HTTP . Se establece en NETWORK_CONNECTION si la principal y el objetivo están presentes. Se establece en STATUS_UPDATE si solo está presente la principal. De lo contrario, configúralo como GENERIC_EVENT . |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.