写点什么

AntDB-M 的审计功能

  • 2023-08-25
    浙江
  • 本文字数:1172 字

    阅读完需:约 4 分钟

数据库的审计功能是指对数据库访问行为进行监管,记录数据库里面发生了什么操作,是数据库系统安全功能的组成部分。


AntDB-M 的审计功能关注客户端的连接信息,比如:用户名和主机地址、客户端发送的 SQL 语句、SQL 执行访问的对象、修改的服务端变量。这些信息都会写入到审计日志文件中,通过分析审计日志,可以在发生数据库安全事件后为事件的追责定责提供依据,也可以对数据库操作的风险行为进行及时告警。


AntDB-M 的审计功能是通过插件来实现的。插件是一个单独的文件,文件格式是动态库,插件在使用的时候,使用 SQL 命令进行安装;不使用的时候,使用 SQL 命令进行卸载。


AntDB-M 的审计功能支持配置,通过不同的配置项,可以灵活控制审计功能的开启、审计的事件、审计的用户、审计日志文件的路径和大小等。


表 1:AntDB-M 审计功能配置项



AntDB-M 的审计功能中的事件(events),是指数据库内部的操作行为,包括:连接、查询、表、数据定义行为、数据操作行为、数据控制行为,这些操作都支持记录到审计日志中,也可以通过配置项 audit_logging_events 配置部分要关注的事件。


表 2:AntDB-M 审计功能事件



日志文件不能无限地增长,不然会把硬盘占满,导致服务无法正常运行,或者日志文件过大导致检索要花费很多时间来寻找匹配的日志内容。AntDB-M 的审计日志支持设置单个日志文件的大小,支持设置开启日志文件转档。开启日志文件转档后,日志文件大小达到转档阈值就会产生一个新的日志文件,审计日志信息会写到新的日志文件中,待转档日志文件数达到文件数上限,就会覆盖最老的日志文件。


AntDB-M 审计功能的配置项可以配置要审计的用户或者要排除的用户。并不是所有的用户都需要进行审计,这样灵活的配置,使得审计更加高效,只记录关注的用户和事件,减少审计日志信息,降低对数据库性能的影响。


下面通过一个场景演示审计功能:


创建 1 个远程用户 allow_user,审计配置项配置为要审计的用户是 allow_user,要审计的事件是数据操作行为,也就是 DML 语句要写入到审计日志中。远程用户 allow_user 登录数据库执行如下操作:


图 1:测试 SQL 语句


命令执行结束后,查看审计日志的内容:


图 2:审计日志内容


审计日志记录的格式:



图 3:审计日志格式


按照日志的格式分析审计日志的最后一行:

时间戳:20230721 10:14:56

数据库主机名:adb05

客户端用户名:allow_user

客户端地址:127.0.0.1

连接 ID:12105

查询 ID:12236

操作类型:QUERY

数据库名:customer

数据库对象名:对于查询事件,记录的是 SQL 语句

操作返回值:1054,SQL 语句执行的返回值。因为 customer 表中没有字段 c2,所以返回错误码 1054


关于 AntDB 数据库


AntDB 数据库始于 2008 年,在运营商的核心系统上,为全国 24 个省份的 10 亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

用户头像

企业数据库创新实践者 2021-07-26 加入

AntDB数据库始于2008年,服务于全国20多个省份的10亿多用户提供在线服务;具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔电信核心交易,并保障系统持续0故障运行近十年。 官网:asiainfoah.com

评论

发布
暂无评论
AntDB-M的审计功能_AntDB_亚信AntDB数据库_InfoQ写作社区