Recopila registros de firewall de Azion
Descripción general
Este analizador extrae campos de los registros JSON del firewall de Azion, realiza conversiones y enriquecimientos de tipos de datos (por ejemplo, el análisis del usuario-agente) y asigna los campos extraídos a la UDM. Genera eventos NETWORK_HTTP, SCAN_UNCATEGORIZED o GENERIC_EVENT según la presencia de máquinas principales y de destino. También controla los campos y las acciones relacionados con la WAF, y los asigna a los campos de resultados de seguridad de la AUA.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener acceso con privilegios a AWS IAM y S3.
- Asegúrate de tener acceso con privilegios a una cuenta de Azion activa.
Configura el bucket de Amazon S3
- Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket.
- Guarda el Nombre y la Región del bucket para usarlos como referencia en el futuro.
- Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
- Selecciona el Usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- Haz clic en Crear clave de acceso en la sección Claves de acceso.
- Selecciona Servicio de terceros como Caso de uso.
- Haz clic en Siguiente.
- Opcional: Agrega una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo .csv. (Guarda la Clave de acceso y la Clave de acceso secreta para usarlas como referencia en el futuro).
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- Haz clic en Agregar permisos en la sección Políticas de permisos.
- Selecciona Agregar permisos.
- Selecciona Adjuntar políticas directamente.
- Busca la política AmazonS3FullAccess.
- Selecciona la política.
- Haz clic en Siguiente.
- Haz clic en Agregar permisos.
Configura Azion para la entrega continua de registros a Amazon S3
- En la consola de Azion, ve a la sección DataStream.
- Haz clic en + Transmitir.
- Especifica valores para los siguientes parámetros:
- Nombre: Proporciona un nombre único y descriptivo para identificar el flujo de datos.
- Fuente: Selecciona la fuente de la que deseas recopilar los datos.
- Plantilla: Es un conjunto predeterminado de variables para fuentes específicas o una plantilla abierta para elegir variables. Tienes la opción de filtrar dominios.
- En la sección Destino, haz clic en Conector > Servicio de almacenamiento simple (S3).
- URL: Es el URI del bucket.
s3:/BUCKET_NAME
. Reemplaza lo siguiente:BUCKET_NAME
: el nombre del bucket.
- Nombre del bucket: Es el nombre del bucket al que se enviará el objeto.
- Región: Es la región en la que se encuentra tu bucket.
- Clave de acceso: Clave de acceso del usuario con acceso al bucket de S3.
- Clave secreta: Clave secreta del usuario con acceso al bucket de S3.
- Tipo de contenido: Selecciona texto sin formato.
- URL: Es el URI del bucket.
- Haz clic en Guardar.
Para obtener más información, consulta Cómo usar Amazon S3 para recibir datos de Data Stream.
Configura un feed en Google SecOps para transferir los registros de Azion
- 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 Azion).
- Selecciona Amazon S3 como el Tipo de fuente.
- Selecciona Azion como el Tipo de registro.
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket.
s3:/BUCKET_NAME
. Reemplaza lo siguiente:BUCKET_NAME
: el nombre del bucket.
- URI is a: 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 fuentes: Selecciona la opción de eliminación según tus preferencias.
- ID de clave de acceso: Es la clave de acceso del usuario con acceso al bucket de S3.
- Clave de acceso secreta: Es la clave secreta del usuario con acceso al bucket de S3.
- Espacio de nombres de activos: Es el espacio de nombres de activos.
- Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
- Haz clic en Siguiente.
- Revisa la configuración de tu nuevo feed en la pantalla Finalizar y, luego, haz 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 asignan directamente desde el campo asn . |
bytes_sent |
read_only_udm.network.sent_bytes |
Se asigna directamente desde el campo bytes_sent y se convierte en un número entero sin signo. |
country |
read_only_udm.principal.location.country_or_region |
Se asignan directamente desde el campo country . |
host |
read_only_udm.principal.hostname |
Se asignan directamente desde el campo host . |
http_referer |
read_only_udm.network.http.referral_url |
Se asignan directamente desde el campo http_referer . |
http_user_agent |
read_only_udm.network.http.user_agent |
Se asignan directamente desde el campo http_user_agent . |
http_user_agent |
read_only_udm.network.http.parsed_user_agent |
Se analiza desde el campo http_user_agent con el filtro parseduseragent . |
read_only_udm.event_type |
El analizador lo determina en función de la presencia de información principal y target . Puede ser NETWORK_HTTP, SCAN_UNCATEGORIZED o GENERIC_EVENT. |
|
read_only_udm.metadata.product_name |
Está codificado en "AZION". | |
read_only_udm.metadata.vendor_name |
Está codificado en "AZION". | |
read_only_udm.metadata.product_version |
Está codificado en "AZION". | |
remote_addr |
read_only_udm.principal.ip |
Se asignan directamente desde el campo remote_addr . |
remote_port |
read_only_udm.principal.port |
Se asigna directamente desde el campo remote_port y se convierte en número entero. |
requestPath |
read_only_udm.target.url |
Se asigna directamente desde el campo requestPath si no está presente request_uri . |
request_method |
read_only_udm.network.http.method |
Se asigna directamente desde el campo request_method , convertido a mayúsculas. |
request_time |
read_only_udm.additional.fields |
Se agrega como un par clave-valor al array 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 asignan directamente desde el campo server_addr . |
server_port |
read_only_udm.target.port |
Se asigna directamente desde el campo server_port y se convierte en número entero. |
ssl_cipher |
read_only_udm.network.tls.cipher |
Se asignan directamente desde el campo ssl_cipher . |
ssl_protocol |
read_only_udm.network.tls.version_protocol |
Se asignan directamente desde el campo ssl_protocol . |
ssl_server_name |
read_only_udm.network.tls.client.server_name |
Se asignan directamente desde el campo ssl_server_name . |
state |
read_only_udm.principal.location.state |
Se asignan directamente desde el campo state . |
status |
read_only_udm.network.http.response_code |
Se asigna directamente desde el campo status y se convierte en número entero. |
time |
read_only_udm.metadata.event_timestamp |
Se analiza a partir del campo time con 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 con grok y se divide en IP y puerto. |
upstream_status |
read_only_udm.additional.fields |
Se agregó como un par clave-valor al array additional.fields , con la clave "upstream_status" y el valor del campo upstream_status . |
waf_args |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_attack_action |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_attack_family |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_headers |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_learning |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_match |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_score |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_server |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_total_blocked |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_total_processed |
read_only_udm.security_result.detection_fields |
Se agregó como un par clave-valor al array security_result.detection_fields . |
waf_uri |
read_only_udm.security_result.detection_fields |
Se agregó 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 . Establece la opción en PERMITIR o BLOQUEAR. |
Cambios
2023-09-30
- Sin embargo, el analizador se creó recientemente.