Recoger registros de cortafuegos de Azion
Información general
Este analizador extrae campos de los registros JSON del cortafuegos de Azion, realiza conversiones de tipos de datos y enriquecimiento (por ejemplo, el análisis de user-agent) y asigna los campos extraídos al UDM. Genera eventos NETWORK_HTTP, SCAN_UNCATEGORIZED o GENERIC_EVENT en función de la presencia de máquinas principales y de destino. También gestiona los campos y las acciones relacionados con el WAF, y los asigna a los campos de resultados de seguridad de UDM.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Instancia de Google SecOps.
- Acceso privilegiado a AWS IAM y S3.
- Acceso privilegiado a una cuenta de Azion activa.
Configurar un segmento de Amazon S3
- Crea un segmento de Amazon S3 siguiendo esta guía de usuario: Crear un segmento.
- Guarda el nombre y la región del bucket para consultarlos más adelante.
- Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
- Selecciona el usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- En la sección Claves de acceso, haz clic en Crear clave de acceso.
- Selecciona Servicio de terceros como Caso práctico.
- Haz clic en Siguiente.
- Opcional: añade una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo .csv. Guarda Clave de acceso y Clave de acceso secreta para consultarlas más adelante.
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- Haz clic en Añadir permisos en la sección Políticas de permisos.
- Selecciona Añadir permisos.
- Seleccione Adjuntar políticas directamente.
- Busca la política AmazonS3FullAccess.
- Selecciona la política.
- Haz clic en Siguiente.
- Haz clic en Añadir permisos.
Configurar Azion para la entrega continua de registros a Amazon S3
- En la consola de Azion, ve a la sección DataStream.
- Haz clic en + Stream (+ Emisión).
- Especifique los valores de los siguientes parámetros:
- Nombre: proporcione un nombre único y descriptivo para identificar el flujo de datos.
- Fuente: selecciona la fuente de la que se recogerán los datos.
- Plantilla: un conjunto predefinido de variables para fuentes específicas o una plantilla abierta para elegir variables. Puede filtrar los dominios.
- En la sección Destino, haga clic en Conector > Simple Storage Service (S3).
- URL: el URI del segmento.
s3:/BUCKET_NAME
. Sustituye lo siguiente:BUCKET_NAME
: el nombre del segmento.
- Nombre del segmento: nombre del segmento al que se enviará el objeto.
- Región: la región en la que se encuentra el segmento.
- Clave de acceso: clave de acceso de usuario con acceso al segmento de S3.
- Clave secreta: clave secreta del usuario con acceso al segmento de S3.
- Tipo de contenido: selecciona texto sin formato.
- URL: el URI del segmento.
- Haz clic en Guardar.
Para obtener más información, consulta el artículo Cómo usar Amazon S3 para recibir datos de Data Stream.
Configurar feeds
Para configurar un feed, sigue estos pasos:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- En la página siguiente, haga clic en Configurar un solo feed.
- En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Registros de Azion).
- Selecciona Amazon S3 V2 como Tipo de fuente.
- Seleccione Azion como Tipo de registro.
- Haz clic en Siguiente.
Especifique los valores de los siguientes parámetros de entrada:
URI de S3: el URI del segmento.
s3:/BUCKET_NAME
. Haz los cambios siguientes:BUCKET_NAME
: el nombre del segmento.
Opciones de eliminación de la fuente: selecciona la opción de eliminación que prefieras.
Antigüedad máxima del archivo: incluye los archivos modificados en los últimos días. El valor predeterminado es de 180 días. Nota: Si seleccionas la opción Eliminar archivos transferidos o Eliminar archivos transferidos y directorios vacíos, asegúrate de haber concedido los permisos adecuados a la cuenta de servicio.
ID de clave de acceso: la clave de acceso del usuario con acceso al segmento de S3.
Clave de acceso secreta: la clave secreta del usuario con acceso al segmento de S3.
Espacio de nombres de recursos: el espacio de nombres de recursos.
Etiquetas de ingestión: etiqueta que se aplicará a los eventos de este feed.
Haz clic en Siguiente.
Revise la configuración de la nueva fuente en la pantalla Finalizar y, a continuación, haga clic en Enviar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
asn |
read_only_udm.network.asn |
Se asigna directamente desde el campo asn . |
bytes_sent |
read_only_udm.network.sent_bytes |
Se ha asignado directamente desde el campo bytes_sent y se ha convertido en un entero sin signo. |
country |
read_only_udm.principal.location.country_or_region |
Se asigna directamente desde el campo country . |
host |
read_only_udm.principal.hostname |
Se asigna directamente desde el campo host . |
http_referer |
read_only_udm.network.http.referral_url |
Se asigna directamente desde el campo http_referer . |
http_user_agent |
read_only_udm.network.http.user_agent |
Se asigna directamente desde el campo http_user_agent . |
http_user_agent |
read_only_udm.network.http.parsed_user_agent |
Se analiza a partir del campo http_user_agent mediante el filtro parseduseragent . |
read_only_udm.event_type |
El analizador lo determina en función de la presencia de información de principal y target . Puede ser NETWORK_HTTP, SCAN_UNCATEGORIZED o GENERIC_EVENT. |
|
read_only_udm.metadata.product_name |
Codificado como "AZION". | |
read_only_udm.metadata.vendor_name |
Codificado como "AZION". | |
read_only_udm.metadata.product_version |
Codificado como "AZION". | |
remote_addr |
read_only_udm.principal.ip |
Se asigna directamente desde el campo remote_addr . |
remote_port |
read_only_udm.principal.port |
Se asigna directamente desde el campo remote_port , convertido en entero. |
requestPath |
read_only_udm.target.url |
Se asigna directamente desde el campo requestPath si request_uri no está presente. |
request_method |
read_only_udm.network.http.method |
Se asigna directamente desde el campo request_method y se convierte a mayúsculas. |
request_time |
read_only_udm.additional.fields |
Se añade como par clave-valor a la matriz additional.fields , con la clave "request_time" y el valor del campo request_time . |
request_uri |
read_only_udm.target.url |
Se asigna directamente desde el campo request_uri , si está presente. |
server_addr |
read_only_udm.target.ip |
Se asigna directamente desde el campo server_addr . |
server_port |
read_only_udm.target.port |
Se asigna directamente desde el campo server_port , convertido en entero. |
ssl_cipher |
read_only_udm.network.tls.cipher |
Se asigna directamente desde el campo ssl_cipher . |
ssl_protocol |
read_only_udm.network.tls.version_protocol |
Se asigna directamente desde el campo ssl_protocol . |
ssl_server_name |
read_only_udm.network.tls.client.server_name |
Se asigna directamente desde el campo ssl_server_name . |
state |
read_only_udm.principal.location.state |
Se asigna directamente desde el campo state . |
status |
read_only_udm.network.http.response_code |
Se asigna directamente desde el campo status , convertido en entero. |
time |
read_only_udm.metadata.event_timestamp |
Se analiza a partir del campo time mediante el filtro de fecha y varios formatos de fecha. |
upstream_addr |
read_only_udm.intermediary.ip , read_only_udm.intermediary.port |
Se extrae del campo upstream_addr mediante grok y se divide en IP y puerto. |
upstream_status |
read_only_udm.additional.fields |
Se añade como par clave-valor a la matriz additional.fields , con la clave "upstream_status" y el valor del campo upstream_status . |
waf_args |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_attack_action |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_attack_family |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_headers |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_learning |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_match |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_score |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_server |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_total_blocked |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_total_processed |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
waf_uri |
read_only_udm.security_result.detection_fields |
Se añade como un par clave-valor al array security_result.detection_fields . |
read_only_udm.security_result.action |
El analizador lo determina en función de los campos waf_block o blocked . Su valor debe ser ALLOW o BLOCK. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.