openGauss学习笔记-118 openGauss 数据库管理-设置数据库审计-维护审计日志

文章目录

    • [openGauss学习笔记-118 openGauss 数据库管理-设置数据库审计-维护审计日志](#openGauss学习笔记-118 openGauss 数据库管理-设置数据库审计-维护审计日志)
      • [118.1 前提条件](#118.1 前提条件)
      • [118.2 背景信息](#118.2 背景信息)
      • [118.3 操作步骤](#118.3 操作步骤)

openGauss学习笔记-118 openGauss 数据库管理-设置数据库审计-维护审计日志

118.1 前提条件

用户必须拥有审计权限。

118.2 背景信息

  • 与审计日志相关的配置参数及其含义请参见表1

    表 1 审计日志相关配置参数

    配置项 含义 默认值
    audit_directory 审计文件的存储目录。 /var/log/gaussdb/用户名/pg_audit
    audit_resource_policy 审计日志的保存策略。 on(表示使用空间配置策略)
    audit_space_limit 审计文件占用的磁盘空间总量。 1GB
    audit_file_remain_time 审计日志文件的最小保存时间。 90
    audit_file_remain_threshold 审计目录下审计文件的最大数量。 1048576

    说明:

    如果使用gs_om工具部署openGauss,则审计日志路径为 "/var/log/gaussdb/用户名/pg_audit"。

  • 审计日志删除命令为数据库提供的sql函数pg_delete_audit,其原型为:

    sql 复制代码
    pg_delete_audit(timestamp startime,timestamp endtime)

    其中参数startime和endtime分别表示审计记录的开始时间和结束时间。

  • 目前常用的记录审计内容的方式有两种:记录到数据库的表中、记录到OS文件中。这两种方式的优缺点比较如表2所示。

    表 2 审计日志保存方式比较

    方式 优点 缺点
    记录到表中 不需要用户维护审计日志。 由于表是数据库的对象,如果一个数据库用户具有一定的权限,就能够访问到审计表。如果该用户非法操作审计表,审计记录的准确性难以得到保证。
    记录到OS文件中 比较安全,即使一个帐户可以访问数据库,但不一定有访问OS这个文件的权限。 需要用户维护审计日志。

    从数据库安全角度出发,openGauss采用记录到OS文件的方式来保存审计结果,保证了审计结果的可靠性。

118.3 操作步骤

  1. 以操作系统用户omm登录数据库主节点。

  2. 使用如下命令连接数据库。

    css 复制代码
    gsql -d postgres -p 8000

    postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

    连接成功后,系统显示类似如下信息:

    sql 复制代码
    gsql ((openGauss 1.0 build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
    
    openGauss=# 
  3. 选择日志维护方式进行维护。

    • 设置自动删除审计日志

      审计文件占用的磁盘空间或者审计文件的个数超过指定的最大值时,系统将删除最早的审计文件,并记录审计文件删除信息到审计日志中。

      说明:

      审计文件占用的磁盘空间大小默认值为1024MB,用户可以根据磁盘空间大小重新设置参数。

      配置审计文件占用磁盘空间的大小(audit_space_limit)。

      1. 查看已配置的参数。

        sql 复制代码
        openGauss=# SHOW audit_space_limit;
        audit_space_limit
        -------------------
        1GB
        (1 row)

        如果显示结果不为1GB(1024MB),执行"\q"命令退出数据库。

      2. 建议执行如下命令设置成默认值1024MB。

        sql 复制代码
        gs_guc reload -N all -I all -c "audit_space_limit=1024MB"

      配置审计文件个数的最大值(audit_file_remain_threshold)。

      1. 查看已配置的参数。

        sql 复制代码
        openGauss=# SHOW audit_file_remain_threshold;
        audit_file_remain_threshold
        -----------------------------
        1048576
        (1 row)

        如果显示结果不为1048576,执行"\q"命令退出数据库。

      2. 建议执行如下命令设置成默认值1048576。

        sql 复制代码
        gs_guc reload -N all -I all -c "audit_file_remain_threshold=1048576"
    • 手动备份审计文件

      当审计文件占用的磁盘空间或者审计文件的个数超过配置文件指定的值时,系统将会自动删除较早的审计文件,因此建议用户周期性地对比较重要的审计日志进行保存。

      1. 使用show命令获得审计文件所在目录(audit_directory)。

        sql 复制代码
        SHOW audit_directory;
      2. 将审计目录整个拷贝出来进行保存。

    • 手动删除审计日志

      当不再需要某时段的审计记录时,可以使用审计接口命令pg_delete_audit进行手动删除。

      以删除2012/9/20到2012/9/21之间的审计记录为例:

      sql 复制代码
      SELECT pg_delete_audit('2012-09-20 00:00:00','2012-09-21 23:59:59');

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

相关推荐
YOU OU4 小时前
Redis基础常识与命令
数据库·redis·缓存
Database_Cool_6 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森7 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_7 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白8 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面8 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧8 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈8 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy9 小时前
log4net 数据库存日志正确配置
数据库