Recopila registros de Elastic Load Balancing de AWS

Compatible con:

En este documento, se explica cómo recopilar registros de AWS Elastic Load Balancing configurando un feed de Google Security Operations. El analizador convierte los registros al formato UDM. Utiliza patrones de Grok para extraer campos de mensajes con formato CEF y sin formato CEF, los asigna a campos del UDM y controla varias transformaciones de datos, incluida la lógica específica para los campos relacionados con HTTP, TLS y la seguridad. También realiza un procesamiento condicional según la presencia o el formato de ciertos campos para garantizar una representación precisa del UDM.

Antes de comenzar {: #before-you-begin }

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Acceso privilegiado a AWS

Configura AWS Elastic Load Balancing

  • Habilita el registro de acceso para enviar registros de acceso a un bucket de almacenamiento de S3
  • Crea un Amazon Simple Queue Service (SQS) y adjúntalo a un bucket de almacenamiento de S3.

Configura el bucket de Amazon S3

  1. Accede a la consola de AWS.
  2. Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket
  3. Guarda el Nombre (por ejemplo, elb-logs) y la Región del bucket para usarlos más adelante.
  4. Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
  5. Selecciona el usuario creado.
  6. Selecciona la pestaña Credenciales de seguridad.
  7. Haz clic en Crear clave de acceso en la sección Claves de acceso.
  8. Selecciona Servicio de terceros como el Caso de uso.
  9. Haz clic en Siguiente.
  10. Opcional: Agrega una etiqueta de descripción.
  11. Haz clic en Crear clave de acceso.
  12. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
  13. Haz clic en Listo.
  14. Selecciona la pestaña Permisos.
  15. Haz clic en Agregar permisos en la sección Políticas de permisos.
  16. Selecciona Agregar permisos.
  17. Selecciona Adjuntar políticas directamente.
  18. Busca y selecciona la política AmazonS3FullAccess.
  19. Haz clic en Siguiente.
  20. Haz clic en Agregar permisos.

Cómo configurar el balanceador de cargas elástico de AWS para habilitar los registros de acceso

  1. Accede a la consola de administración de AWS.
  2. Busca y selecciona EC2.
  3. En el menú de navegación, selecciona Balanceadores de cargas.
  4. Selecciona el balanceador de cargas para el que deseas habilitar el registro.
  5. En la pestaña Descripción, desplázate hasta Atributos.
  6. Haz clic en Editar atributos.
  7. Selecciona Habilitar para habilitar los registros de acceso.
  8. Selecciona el bucket de S3 que creaste antes (por ejemplo, elb-logs).
  9. Opcional: Establece el prefijo de registro para identificar los registros con mayor facilidad (por ejemplo, elb/access-logs/).
  10. 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:

  1. Ve a SIEM Settings > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. En la siguiente página, haz clic en Configurar un solo feed.
  4. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros del balanceador de cargas elástico de AWS).
  5. Selecciona Amazon S3 como el Tipo de fuente.
  6. Selecciona AWS Elastic Load Balancer como el Tipo de registro.
  7. Haz clic en Siguiente.
  8. 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 BUCKET_NAME por el nombre real de tu bucket de S3.
    • URI is a: Selecciona el TIPO de URI según la configuración del flujo de registros (Single file | Directory | Directory which includes subdirectories).
    • Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
    • ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.

    • Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.

    • 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.

  9. Haz clic en Siguiente.

  10. 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:

  • 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 BUCKET_NAME por el nombre real de tu bucket de S3.
  • URI is a: Selecciona el TIPO de URI según la configuración del flujo de registros (Single file | Directory | Directory which includes subdirectories).
  • Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
  • ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.

  • Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.

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
actions_executed security_result.action Si actions_executed es "waf,forward" o "waf,redirect", se debe establecer en "ALLOW". Si actions_executed es "waf", se establece en "BLOCK".
chosen_cert_arn principal.user.attribute.labels Si chosen_cert_arn contiene "session", asigna su valor a security_result.description. De lo contrario, crea una etiqueta con la clave "ARN" y el valor como chosen_cert_arn, y agrégala al array principal.user.attribute.labels.
chosen_cert_arn security_result.description Si chosen_cert_arn contiene "session", asigna su valor a este campo.
client_ip principal.asset.ip Se asigna directamente.
client_ip principal.ip Se asigna directamente.
client_port principal.port Se asigna directamente.
classification security_result.rule_name Se asigna directamente si no está vacío o es “-”.
classification_reason security_result.summary Se asigna directamente si no está vacío o es “-”.
Customer (CEF) principal.user.user_display_name Se asigna directamente desde el campo CEF.
data Varios Se analizan con patrones de Grok para extraer varios campos. Consulta otras filas para ver las asignaciones específicas.
data.act (CEF) security_result.action_details Se asigna directamente desde el campo CEF.
data.app (CEF) principal.application Se asigna directamente desde el campo CEF.
data.ccode (CEF) principal.location.country Se asigna directamente desde el campo CEF.
data.cicode (CEF) principal.location.city Se asigna directamente desde el campo CEF.
data.cn1 (CEF) network.http.response_code Se asigna directamente desde el campo CEF.
data.cpt (CEF) principal.port Se asigna directamente desde el campo CEF.
data.cs1Label (CEF) additional.fields Crea un par clave-valor con la clave "Cap Support" y el valor de cs1Label.
data.cs2Label (CEF) additional.fields Crea un par clave-valor con la clave "Javascript Support" y el valor de cs2Label.
data.cs3Label (CEF) additional.fields Crea un par clave-valor con la clave "CO Support" y el valor de cs3Label.
data.cs4Label (CEF) additional.fields Crea un par clave-valor con la clave "VID" y el valor de cs4Label.
data.cs5Label (CEF) additional.fields Crea un par clave-valor con la clave "clappsig" y el valor de cs5Label.
data.cs6Label (CEF) additional.fields Crea un par clave-valor con la clave "clapp" y el valor de cs6Label.
data.cs7Label (CEF) additional.fields Crea un par clave-valor con la clave "latitude" y el valor de cs7Label.
data.deviceExternalId (CEF) about.asset.asset_id Se usa como parte del ID del activo: Incapsula.SIEMintegration:deviceExternalId.
data.deviceFacility (CEF) principal.location.region Se asigna directamente desde el campo CEF.
data.dproc (CEF) target.process.command_line Se asigna directamente desde el campo CEF.
data.dst_ip target.asset.ip Se asigna directamente.
data.dst_ip target.ip Se asigna directamente.
data.dst_port target.port Se asigna directamente.
data.elb target.resource.id Se asigna directamente.
data.fileId (CEF) security_result.detection_fields Crea un par clave-valor con la clave "fileId" y el valor de fileId.
data.in (CEF) network.received_bytes Se asigna directamente desde el campo CEF.
data.request (CEF) target.url Se asigna directamente desde el campo CEF.
data.requestClientApplication (CEF) network.http.user_agent Se asigna directamente desde el campo CEF.
data.requestMethod (CEF) network.http.method Se asigna directamente desde el campo CEF.
data.severity (CEF) security_result.severity Se asigna a LOW si la gravedad es 0.
data.sip (CEF) principal.asset.ip Se asigna directamente desde el campo CEF.
data.sip (CEF) principal.ip Se asigna directamente desde el campo CEF.
data.siteid (CEF) security_result.detection_fields Crea un par clave-valor con la clave "siteid" y el valor de siteid.
data.sourceServiceName (CEF) principal.application Se asigna directamente desde el campo CEF.
data.spt (CEF) principal.port Se asigna directamente desde el campo CEF.
data.src (CEF) principal.ip Se asigna directamente desde el campo CEF.
data.suid (CEF) principal.user.userid Se asigna directamente desde el campo CEF.
data.ver (CEF) network.tls.version La parte de la versión se extrae con grok y se asigna.
data.ver (CEF) network.tls.cipher La parte de la cifra se extrae con grok y se asigna.
data.xff (CEF) principal.ip Se asigna directamente desde el campo CEF.
domain_name principal.administrative_domain Se asigna directamente.
http_method network.http.method Se asigna directamente.
log_type metadata.log_type Se asigna directamente.
message Varios Se analizan con patrones de Grok para extraer varios campos. Consulta otras filas para ver las asignaciones específicas.
received_bytes network.received_bytes Se asigna directamente.
redirect_url network.application_protocol Si redirect_url comienza con "http", se extrae y se asigna el protocolo.
redirect_url target.asset.hostname Si redirect_url comienza con "http", se extrae y se asigna el nombre de host.
redirect_url target.hostname Si redirect_url comienza con "http", se extrae y se asigna el nombre de host.
redirect_url target.port Si redirect_url comienza con "http", se extrae y se asigna el puerto.
request_creation_time metadata.collected_timestamp Se asigna directamente después del análisis de la fecha.
request_processing_time security_result.detection_fields Crea un par clave-valor con la clave "request_processing_time" y el valor de este campo.
response_processing_time security_result.detection_fields Crea un par clave-valor con la clave "response_processing_time" y el valor de este campo.
sent_bytes network.sent_bytes Se asigna directamente.
ssl_cipher network.tls.cipher Se asigna directamente.
ssl_protocol network.tls.version Se asigna directamente.
target_group_arn target.group.group_display_name Se asigna directamente.
target_processing_time security_result.detection_fields Crea un par clave-valor con la clave "target_processing_time" y el valor de este campo.
target_status_code target.labels Crea una etiqueta con la clave "target_status_code" y el valor de este campo, y la agrega al array target.labels.
time metadata.event_timestamp Se asigna directamente después del análisis de la fecha.
trace_id metadata.product_log_id Se asigna directamente después de quitar "Root=".
url network.http.referral_url Se asigna directamente.
user_agent network.http.user_agent Se asigna directamente.
(Analizador) metadata.event_type Se establece en "NETWORK_HTTP" si están presentes el ID de la máquina principal y el de destino, en "STATUS_UPDATE" si solo está presente el ID de la máquina principal, en "GENERIC_EVENT" si no hay una IP, un nombre de host o una IP de destino, y en "NETWORK_HTTP" en los demás casos.
(Analizador) metadata.product_name Se debe establecer en "AWS Elastic Load Balancer".
(Analizador) metadata.vendor_name Se debe establecer en "AMAZON".

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.