Recopila registros de Azure Firewall
En este documento, se explica cómo exportar registros de Azure Firewall a Google Security Operations con la 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 relevantes del mensaje y controlar diferentes formatos y variaciones en los registros de Azure Firewall.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener un inquilino de Azure activo.
- Asegúrate de tener 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:
- Subscription: 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 cuenta de almacenamiento nueva.
- Haz clic en Revisar + crear.
- Revisa la descripción general de la cuenta y haz clic en Crear.
- En la página Descripción general de la cuenta de almacenamiento, selecciona el submenú Llaves de acceso en Seguridad y herramientas de redes.
- Haz clic en Mostrar junto a clave1 o clave2.
- 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 Descripción general de la cuenta de almacenamiento, selecciona el submenú Puntos finales en Configuración.
- Haz clic en Copiar en el portapapeles para copiar la URL del extremo del servicio de Blob (por ejemplo,
https://<storageaccountname>.blob.core.windows.net
). - Guarda la URL del extremo en una ubicación segura para usarla más adelante.
Configura la exportación de registros para los registros de los firewalls de Azure
- Accede al portal de Azure con tu cuenta con privilegios.
- Ve a Firewalls y selecciona el firewall requerido.
- Selecciona Supervisión > Servicios de diagnóstico.
- 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 un feed en Google SecOps para transferir los registros del firewall de Azure
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de firewall de Azure).
- Selecciona Microsoft Azure Blob Storage como el Tipo de fuente.
- Selecciona Azure Firewall 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 de blob.
ENDPOINT_URL/BLOB_NAME
- Reemplaza lo siguiente:
ENDPOINT_URL
: La URL del extremo de blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: Es el nombre del blob (como<logname>-logs
).
- URI is a: Selecciona el TIPO DE URI según la configuración del flujo de registro (Archivo único | Directorio | Directorio que incluye subdirectorios).
Opciones de eliminación de fuentes: Selecciona la opción de eliminación según tu preferencia.
Clave compartida: Es la clave de acceso a Azure Blob Storage.
Espacio de nombres de recursos: Es el espacio de nombres de recursos.
Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
- URI de Azure: Es la URL del extremo de blob.
Haz clic en Siguiente.
Revisa la configuración de tu nuevo feed en la pantalla Finalizar y, luego, haz clic en Enviar.
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 UDM. |
category | security_result.rule_type | Asigna el campo de registro sin procesar category a la UDM. |
operationName | metadata.product_event_type | Asigna el campo de registro sin procesar operationName a la UDM. |
properties.Action | security_result.action | Asigna el campo de registro sin procesar properties.Action a la AUA y convierte ALLOW a ALLOW , DENY a BLOCK y cualquier otro valor a UNKNOWN_ACTION . |
properties.DestinationIp | target.ip | Asigna el campo de registro sin procesar properties.DestinationIp a la UDM. |
properties.DestinationPort | target.port | Asigna el campo de registro sin procesar properties.DestinationPort a la UDM. |
properties.DnssecOkBit | additional.fields.value.bool_value | Asigna el campo de registro sin procesar properties.DnssecOkBit a la UDM. |
properties.EDNS0BufferSize | additional.fields.value.number_value | Asigna el campo de registro sin procesar properties.EDNS0BufferSize a la UDM. |
properties.ErrorMessage | additional.fields.value.string_value | Asigna el campo de registro sin procesar properties.ErrorMessage a la UDM. |
properties.ErrorNumber | additional.fields.value.number_value | Asigna el campo de registro sin procesar properties.ErrorNumber a la UDM. |
properties.Policy | security_result.detection_fields.value | Asigna el campo de registro sin procesar properties.Policy a la UDM. |
properties.Protocol | network.ip_protocol | Asigna el campo de registro sin procesar properties.Protocol a la UDM si no es HTTPS o HTTP . |
properties.Protocol | network.application_protocol | Asigna el campo de registro sin procesar properties.Protocol a la AUA si es HTTPS o HTTP . |
properties.QueryClass | network.dns.questions.class | Asigna el campo de registro sin procesar properties.QueryClass a la UDM con una tabla de búsqueda para asignar clases de consulta de DNS. |
properties.QueryId | network.dns.id | Asigna el campo de registro sin procesar properties.QueryId a la UDM. |
properties.QueryName | network.dns.questions.name | Asigna el campo de registro sin procesar properties.QueryName a la UDM. |
properties.QueryType | network.dns.questions.type | Asigna el campo de registro sin procesar properties.QueryType a la UDM con una tabla de búsqueda para asignar tipos de registro DNS. |
properties.RequestSize | network.sent_bytes | Asigna el campo de registro sin procesar properties.RequestSize a la UDM. |
properties.ResponseCode | network.dns.response_code | Asigna el campo de registro sin procesar properties.ResponseCode a la UDM con una tabla de consulta para asignar códigos de respuesta de DNS. |
properties.ResponseFlags | additional.fields.value.string_value | Asigna el campo de registro sin procesar properties.ResponseFlags a la UDM. |
properties.ResponseSize | network.received_bytes | Asigna el campo de registro sin procesar properties.ResponseSize a la UDM. |
properties.Rule | security_result.rule_name | Asigna el campo de registro sin procesar properties.Rule a la UDM. |
properties.RuleCollection | security_result.detection_fields.value | Asigna el campo de registro sin procesar properties.RuleCollection a la UDM. |
properties.RuleCollectionGroup | security_result.detection_fields.value | Asigna el campo de registro sin procesar properties.RuleCollectionGroup a la UDM. |
properties.SourceIp | principal.ip | Asigna el campo de registro sin procesar properties.SourceIp a la UDM. |
properties.SourcePort | principal.port | Asigna el campo de registro sin procesar properties.SourcePort a la UDM. |
properties.msg | security_result.description | Asigna el campo de registro sin procesar properties.msg a la UDM después de extraer otros campos de él. |
records.category | security_result.rule_type | Asigna el campo de registro sin procesar records.category a la UDM. |
records.operationName | metadata.product_event_type | Asigna el campo de registro sin procesar records.operationName a la UDM. |
records.properties.msg | Este campo se usa para extraer varios campos con patrones de Grok y no tiene una asignación directa a la UDM. | |
records.resourceId | metadata.product_log_id | Asigna el campo de registro sin procesar records.resourceId a la UDM. |
resourceId | metadata.product_log_id | Asigna el campo de registro sin procesar resourceId a la UDM. |
hora | metadata.event_timestamp | Convierte el campo de registro sin procesar time al formato UDM. |
metadata.vendor_name | El analizador propaga este campo con el valor Microsoft Inc. . |
|
metadata.product_name | El analizador propaga este campo con el valor Azure Firewall Application Rule . |
|
metadata.log_type | El analizador propaga este campo con el valor AZURE_FIREWALL . |
|
additional.fields.key | El analizador propaga 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 propaga este campo con el valor DNS para los registros de DNS. |
|
metadata.event_type | El analizador propaga este campo según el mensaje de registro. Puede ser NETWORK_CONNECTION , GENERIC_EVENT , STATUS_UPDATE o NETWORK_DNS . |
Cambios
2024-12-26
Corrección de errores:
- Cuando los registros contienen la palabra clave
Alert
, asignasecurity_result.action
aALLOW
.
2024-11-13
Mejora:
- Se asignó
Action
asecurity_result.detection_fields
. - Se asignó
Signature
asecurity_result.detection_fields
. - Se asignó
IDS
asecurity_result.detection_fields
. - Se asignó
Priority
asecurity_result.priority_details
. - Se asignó
Classification
asecurity_result.detection_fields
.
2024-09-04
Mejora:
- Se asignó
from_ip
adns.questions.name
para los eventos de DNS.
2024-07-02
Mejora:
- Se agregó compatibilidad para controlar un nuevo formato de marca de tiempo.
2024-04-29
Mejora:
- Se agregó compatibilidad para controlar un nuevo formato de registros transferidos.
2024-02-07
Mejora:
- Se asignó
ICMP type
aadditional.fields
. - Se asignaron
Action
yproperties.Action
asecurity_result.action_details
.
2023-06-01
Mejora:
- Se analizan los registros JSON recién transferidos de la categoría
AZFWDnsQuery
. - Se asignó
properties.msg
en los registros JSON recién transferidos de la categoríaAzureFirewallNetworkRule
.
2022-04-29
Corrección de errores:
- Los registros JSON recién transferidos se analizan para aumentar el porcentaje general de análisis.
- operationName asignado a metadata.product_event_type.
- resourceId asignado a metadata.product_log_id.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.