使用自定义SQL检测规则分析非标准日志

更新时间:
复制为 MD 格式

Agentic SOC支持通过自定义SQL检测规则对非标准日志进行安全分析。本文以阿里云RDS SQL审计日志为例,介绍如何通过添加扩展字段、配置标准化规则和数据接入,将非标准日志转换为可识别格式,再基于规则模板创建自定义SQL检测规则,实现对非标准日志的安全分析和威胁检测。

方案概述

Agentic SOC默认支持采集和分析阿里云标准安全日志。若需要分析非标准日志,需要通过添加扩展字段和数据接入配置后,才能被自定义SQL检测规则消费。本文以RDS SQL审计日志为例,整体配置流程如下:

  1. 添加扩展字段:在标准化字段中为关系型数据库审计日志添加扩展字段,使非标准字段可被检测规则引用。

  2. 修改标准化规则:修改已有的关系型数据库审计日志标准化规则,将扩展字段的映射方式设置为原样保留。

  3. 开启数据源:开启RDS SQL审计日志数据源。

  4. 开启产品接入:开启云数据库RDS的接入策略,使日志能够被Agentic SOC接收。

  5. 创建自定义SQL检测规则:基于规则模板创建自定义SQL检测规则。

  6. 查看和处理告警:查看检测规则生成的告警或事件,并进行处理。

适用范围

步骤1:添加扩展字段

在标准化字段中为关系型数据库审计日志添加扩展字段,使这些非标准字段可以在自定义SQL检测规则中被引用和查询。更多信息,请参见管理扩展字段

  1. 访问云安全中心控制台-Agentic SOC-管理-接入设置,在页面左侧顶部,选择需防护资产所在的区域:中国内地非中国内地

  2. 标准化字段页签,在标准字段列表区域,展开日志活动分类,选择审计日志下的关系型数据库审计日志

  3. 在右侧面板中的扩展字段页签,单击字段管理,依次添加以下扩展字段(仅供参考,请以实际业务为准):

    扩展字段名

    字段类型

    说明

    APP_NAME

    text

    应用名称

    application_name

    text

    应用程序名称

    backend_type

    text

    后端类型

    command_tag

    text

    命令标签

    connection_from

    text

    连接来源

    context

    text

    上下文信息

    database_name

    text

    数据库名称

    detail

    text

    详细信息

    env

    text

    环境信息

    error_severity

    text

    错误严重级别

步骤2:修改标准化规则

修改已有的关系型数据库审计日志标准化规则,将步骤1中添加的扩展字段映射方式设置为原样保留,使日志中的扩展字段数据能被解析接入。

  1. 接入设置页面,单击标准化规则页签。

  2. 规则名称搜索框中,搜索关系型数据库审计日志标准化规则。

  3. 在该规则行的扩展字段接入列,单击下拉菜单,选择原样保留

步骤3:开启数据源

配置RDS SQL审计日志数据源的日志库信息,使Agentic SOC能够发现并接收日志数据。

  1. 接入设置页面,单击数据源页签。

  2. 数据源名称搜索框中,搜索RDS SQL审计日志,单击其操作列的编辑

  3. 在编辑数据源页面,单击新增实例,并选择RDS SQL审计日志所在地域及日志库。

  4. 单击确定数据源更新成功后,关闭编辑页面。刷新连接状态,确认状态为正常。

  5. 开启自动发现(可选):开启后,若有新增实例,系统将自动同步。

步骤4:开启产品接入

开启云数据库RDS的接入策略,使RDS SQL审计日志能够被Agentic SOC接收和处理。

  1. 接入设置页面,单击产品接入页签。

  2. 搜索云数据库 RDS,单击操作列的接入设置

  3. 接入策略页签,开启RDS SQL审计日志关系型数据库审计日志标准化规则对应的接入策略。

步骤5:创建自定义SQL检测规则

基于规则模板创建自定义SQL检测规则。

  1. 访问云安全中心控制台-Agentic SOC-管理-检测规则,在页面左侧顶部,选择需防护资产所在的区域:中国内地非中国内地

  2. 规则模板页签,搜索数据库执行异常查询语句模板。单击其操作列的创建规则

  3. 在规则配置页面,参考如下说明完成配置:

    说明

    其余配置保持默认即可,若有需要请参检测规则进行修改。

    • 规则体:选择SQL语法

    • 日志范围:选择审计日志 > 关系型数据库审计日志

    • SQL查询语句:根据业务需求修改SQL语句。模板默认的SQL语句如下:

      说明

      其中APP_NAMEdatabase_name为上文配置接入的扩展字段。

      * |set session mode=scan;select distinct
      user_id,
      start_time,
      src_ip,
      db,
      user,
      table_name,
      sql,
      affect_rows
      from log
      where schema='RDS_DATABASE_AUDIT_ACTIVITY'
      and regexp_like(sql, '''\s*and\s+updatexml\s*\(') and APP_NAME='测试' and database_name='测试数据库'

步骤6:查看和处理告警

规则配置完成后,系统将根据检测规则自动生成告警或事件。

  1. Agentic SOC页面,单击安全事件告警

  2. 查看由自定义SQL检测规则触发的告警或事件,并根据实际情况进行处理。

常见问题

  • 为什么检测规则没有触发告警?

    请按以下顺序排查:

    1. 产品接入:确认步骤4中的接入策略已开启。

    2. 数据源状态:在数据源页签确认RDS SQL审计日志的连接状态为正常。

    3. 标准化规则:确认关系型数据库审计日志标准化规则中扩展字段的映射方式为原样保留

    4. 检测规则:确认检测规则已开启,且日志范围选择了关系型数据库审计日志。

  • 扩展字段和标准字段有什么区别?

    标准字段Agentic SOC标准化Schema中预定义的通用字段(如src_ip、user_id等),适用于所有日志类型。扩展字段是用户自定义添加的字段,用于存储特定日志类型的非标准信息(如database_name、command_tag等)。两者在检测规则的SQL查询中均可直接引用。