Recopila registros del Firewall de Azure
En este documento, se explica cómo exportar registros de Firewall de Azure a Google Security Operations con una cuenta de almacenamiento de Azure. Primero, el analizador intenta procesar la entrada como JSON y extraer datos del campo Records. Si el campo Record está vacío, el analizador usa una serie de patrones de Grok y sentencias condicionales para extraer los campos pertinentes del mensaje, y controla diferentes formatos y variaciones en los registros del Firewall de Azure.
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 clave en una ubicación segura 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 firewalls de Azure
- Accede al portal de Azure con tu cuenta con privilegios.
- Ve a Firewalls y selecciona el firewall requerido.
- Selecciona Monitoring > Diagnostic Services.
- Haz clic en + Agregar parámetro de configuración de diagnóstico.
- Ingresa un nombre descriptivo para el parámetro de configuración de diagnóstico.
- Selecciona allLogs.
- Selecciona la casilla de verificación Archivar en una cuenta de almacenamiento como destino.
- Especifica la Suscripción y la Cuenta de almacenamiento.
- 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 > Agregar un feed nuevo
- Centro de contenido > Paquetes de contenido > Comenzar
Cómo configurar el feed del firewall de Azure
- Haz clic en el paquete Azure Platform.
- Ubica el tipo de registro Firewall de Azure y haz clic en Agregar nuevo feed.
Especifica valores para los siguientes campos:
- Tipo de fuente: Microsoft Azure Blob Storage V2
- 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:
Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días más reciente. El valor predeterminado es de 180 días.
Clave compartida: Es la clave compartida (una cadena aleatoria de 512 bits en codificación base-64) que se usa para acceder a los recursos de Azure.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- 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.
Haz clic en Crear feed.
Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Configura feeds por producto.
Asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
@timestamp | metadata.event_timestamp | Convierte el campo de registro sin procesar @timestamp al formato de UDM. |
category | security_result.rule_type | Asigna el campo de registro sin procesar category al UDM. |
operationName | metadata.product_event_type | Asigna el campo de registro sin procesar operationName al UDM. |
properties.Action | security_result.action | Asigna el campo de registro sin procesar properties.Action al UDM, convirtiendo ALLOW en ALLOW , DENY en BLOCK y cualquier otro valor en UNKNOWN_ACTION . |
properties.DestinationIp | target.ip | Asigna el campo de registro sin procesar properties.DestinationIp al UDM. |
properties.DestinationPort | target.port | Asigna el campo de registro sin procesar properties.DestinationPort al UDM. |
properties.DnssecOkBit | additional.fields.value.bool_value | Asigna el campo de registro sin procesar properties.DnssecOkBit al UDM. |
properties.EDNS0BufferSize | additional.fields.value.number_value | Asigna el campo de registro sin procesar properties.EDNS0BufferSize al UDM. |
properties.ErrorMessage | additional.fields.value.string_value | Asigna el campo de registro sin procesar properties.ErrorMessage al UDM. |
properties.ErrorNumber | additional.fields.value.number_value | Asigna el campo de registro sin procesar properties.ErrorNumber al UDM. |
properties.Policy | security_result.detection_fields.value | Asigna el campo de registro sin procesar properties.Policy al UDM. |
properties.Protocol | network.ip_protocol | Asigna el campo de registro sin procesar properties.Protocol al UDM si no es HTTPS o HTTP . |
properties.Protocol | network.application_protocol | Asigna el campo de registro sin procesar properties.Protocol al UDM si es HTTPS o HTTP . |
properties.QueryClass | network.dns.questions.class | Asigna el campo de registro sin procesar properties.QueryClass al UDM con una tabla de búsqueda para asignar clases de consultas de DNS. |
properties.QueryId | network.dns.id | Asigna el campo de registro sin procesar properties.QueryId al UDM. |
properties.QueryName | network.dns.questions.name | Asigna el campo de registro sin procesar properties.QueryName al UDM. |
properties.QueryType | network.dns.questions.type | Asigna el campo de registro sin procesar properties.QueryType al UDM con una tabla de búsqueda para asignar tipos de registros DNS. |
properties.RequestSize | network.sent_bytes | Asigna el campo de registro sin procesar properties.RequestSize al UDM. |
properties.ResponseCode | network.dns.response_code | Asigna el campo de registro sin procesar properties.ResponseCode al UDM con una tabla de búsqueda para asignar códigos de respuesta de DNS. |
properties.ResponseFlags | additional.fields.value.string_value | Asigna el campo de registro sin procesar properties.ResponseFlags al UDM. |
properties.ResponseSize | network.received_bytes | Asigna el campo de registro sin procesar properties.ResponseSize al UDM. |
properties.Rule | security_result.rule_name | Asigna el campo de registro sin procesar properties.Rule al UDM. |
properties.RuleCollection | security_result.detection_fields.value | Asigna el campo de registro sin procesar properties.RuleCollection al UDM. |
properties.RuleCollectionGroup | security_result.detection_fields.value | Asigna el campo de registro sin procesar properties.RuleCollectionGroup al UDM. |
properties.SourceIp | principal.ip | Asigna el campo de registro sin procesar properties.SourceIp al UDM. |
properties.SourcePort | principal.port | Asigna el campo de registro sin procesar properties.SourcePort al UDM. |
properties.msg | security_result.description | Asigna el campo de registro sin procesar properties.msg al UDM después de extraer otros campos de él. |
records.category | security_result.rule_type | Asigna el campo de registro sin procesar records.category al UDM. |
records.operationName | metadata.product_event_type | Asigna el campo de registro sin procesar records.operationName al UDM. |
records.properties.msg | Este campo se usa para extraer varios campos con patrones de Grok y no tiene una asignación directa a UDM. | |
records.resourceId | metadata.product_log_id | Asigna el campo de registro sin procesar records.resourceId al UDM. |
resourceId | metadata.product_log_id | Asigna el campo de registro sin procesar resourceId al UDM. |
hora | metadata.event_timestamp | Convierte el campo de registro sin procesar time al formato de UDM. |
metadata.vendor_name | El analizador completa este campo con el valor Microsoft Inc. . |
|
metadata.product_name | El analizador completa este campo con el valor Azure Firewall Application Rule . |
|
metadata.log_type | El analizador completa este campo con el valor AZURE_FIREWALL . |
|
additional.fields.key | El analizador completa este campo con la clave del campo adicional. | |
security_result.detection_fields.key | El analizador propaga este campo con la clave del campo de detección. | |
network.application_protocol | El analizador completa este campo con el valor DNS para los registros de DNS. |
|
metadata.event_type | El analizador completa este campo en función del mensaje de registro. Puede ser NETWORK_CONNECTION , GENERIC_EVENT , STATUS_UPDATE o NETWORK_DNS . |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.