应用身份识别

数据库审计服务提供的审计功能,只能审计访问源的IP信息,无法溯源访问应用的具体访问源信息(例如:用户名)。如果您需要在审计日志中查看具体访问源的信息,您可以使用应用身份识别功能。本文介绍如何使用应用身份识别功能。

前提条件

已在服务器中安装Agent。具体操作,请参见安装Agent

功能介绍

应用身份识别又称为三层关联。通过在您的数据库服务器或与数据库服务器相连的服务器中安装具备应用身份识别功能的插件,实现将URL、用户名和客户端IP以注释方式插入到对应的SQL语句中,数据库审计可以根据注释信息对用户信息和SQL语句进行关联分析。以下是使用应用身份识别后的SQL语句示例(其中/**/中的内容为该功能在审计到的SQL语句中插入的信息):

/*SIP:127.16.XX.XX; URL:http://127.16.XX.XX:8080/ssm-login/user/login.do; USERNANME:admin; sql:*/ 
select * from ssm_user where userName= 'admin' and password= 'e10adc3949ba59abbe56e057f20f****'

应用身份识别功能根据您应用的模式,可分为以下两种:

名称

生效原理

应用场景

B/S(Browser/Server,浏览器/服务器模式)应用身份识别

管理员添加应用身份识别后,系统会自动生成JAR包,之后下载该JAR包并安装到应用服务器。当有用户对应用的数据库进行操作时,系统会审计到用户、访问应用的URL以及使用的IP。

B/S结构的应用需要在审计日志中记录数据访问者的真实信息。

您的业务为B/S结构时,用户通过访问您的Web应用,Web应用再发起对数据库的访问,来完成一次数据请求。这种情况下,数据库审计系统审计到的请求均为Web应用发起的请求,无法溯源到真实用户的操作记录。用户的非法操作也无法被审计记录。使用应用身份识别功能,可以在审计日志中插入用户真实的访问信息,便于您溯源。

C/S(Client/Server,客户端/服务器模式)应用身份识别

管理员通过已审计到的登录语句SQL审计日志,配置C/S应用用户名提取规则,指定配置后的SQL模板来判断用户名是否相同。后续,数据库审计系统审计到相同的SQL模板,会直接关联出用户名并显示在审计日志中。

C/S结构的应用需要在审计日志中插入访问者的用户名信息。

B/S应用身份识别

您需要配置B/S应用身份识别规则,并将生成的JAR包上传到您的应用服务器中,才能使用B/S应用身份识别功能。

使用限制

  • Web应用必须是Java语言开发的应用,不支持PHP或者.NET开发的应用。

  • 支持的数据连接源:DBCP、C3P0、Driud、Hikari、Tomcat-Jdbc-pool。

  • 数据库连接配置中的driverClassNameurl信息支持修改(您需按照说明文档中的操作指导修改这两个参数)。

  • 应用需具备web.xml文件。

  • 支持数据库的类型:Oracle、MySQL、SQLServer、MariaDB、PostgreSQL、DB2、Informix。

配置步骤

  1. 登录数据库审计系统。具体操作,请参见登录数据库审计系统
  2. 在左侧导航栏,选择系统管理 > 辅助功能
  3. 辅助功能页面,单击应用身份识别页签。
  4. B/S应用身份识别页签,单击添加

  5. 新增B/S应用身份识别配置面板,完成参数配置,并单击保存

    数据库审计系统会根据您的配置匹配对应的审计日志,并在审计日志中插入相应的访问源信息。

    配置项

    说明

    应用名称

    配置Web应用的名称。长度为1~64个字符,支持中文字符、字母、数字、半角句号(.)、下划线(_)和短划线(-)。

    中间件类型

    选择中间件类型,可选项:WeblogicTomcatJboss

    中间件版本

    选择中间件的版本。根据您选择的中间件类型,控制台会显示可选的中间件版本供您选择。

    JDK版本

    选择JDK(Java语言软件开发工具包)版本。

    数据库类型

    选择数据库类型,请根据数据库的实际情况选择。可选项:

    • Oracle

    • MySQL

    • SQLServer

    • PostgreSQL

    • DB2

    登录URL关键字

    用户登录应用服务器的URL关键字。

    登录用户关键字

    用户登录应用服务器的用户名关键字。

    客户端IP提取方式

    该配置项为非必填项。根据您的Web应用类型选择客户端IP提取方式。可选项:

    • x-forwarded-for:普通Web应用选择该方式。

    • proxy:使用多层代理的Web应用选择该方式。

    操作完成后,数据库审计系统会根据您的配置自动生成JAR包。

  6. 单击应用身份识别配置操作列的下载,下载生成的JAR包。

    操作完成后,应用身份识别的JAR包会被保存在您浏览器的默认下载路径下。

  7. 单击下载说明文档并选择您需要的中间件类型,参考已下载的说明文档将应用身份识别的JAR包安装到您的应用服务器中。

操作完成后,您可以在审计日志中查看用户的详细信息。

重要

修改了B/S应用身份识别配置后,您需要重新下载并将新生成的JRA包上传到您的应用服务器中(覆盖原有的JAR包)。

C/S应用身份识别

通过在审计日志页面完成C/S应用用户名的配置,使用C/S应用身份识别功能。

配置C/S应用身份识别

  1. 登录数据库审计系统。具体操作,请参见登录数据库审计系统
  2. 在左侧导航栏,选择查询分析 > 审计日志
  3. 找到客户端访问数据库时产生的登录行为SQL语句的审计日志,单击操作列的详情

  4. 审计日志对话框,单击C/S应用用户名提取

  5. 编辑C/S应用身份识别配置对话框,选择应用用户名的参数位置,并单击确定

    C/S应用身份配置将立即生效,并自动添加到C/S应用身份识别配置列表中。

查看已添加的C/S应用身份识别配置

  1. 登录数据库审计系统。具体操作,请参见登录数据库审计系统
  2. 在左侧导航栏,选择系统管理 > 辅助功能
  3. 辅助功能页面,单击应用身份识别页签。
  4. 单击C/S应用身份识别页签。

  5. C/S应用身份识别页签下,查看已添加的C/S应用身份识别配置。

    您可以根据需要编辑或删除C/S应用身份识别配置。