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');

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

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

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

相关推荐
伏虎山真人11 分钟前
开源数据库 - mysql - mysql-server-8.4(gtid主主同步+ keepalived热切换)部署方案
数据库·mysql·开源
FIN技术铺3 小时前
Redis集群模式之Redis Sentinel vs. Redis Cluster
数据库·redis·sentinel
CodingBrother4 小时前
MySQL 中的 `IN`、`EXISTS` 区别与性能分析
数据库·mysql
代码小鑫5 小时前
A027-基于Spring Boot的农事管理系统
java·开发语言·数据库·spring boot·后端·毕业设计
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
甄臻9245 小时前
Windows下mysql数据库备份策略
数据库·mysql
内蒙深海大鲨鱼5 小时前
qt之ui开发
数据库·qt·ui
不爱学习的YY酱5 小时前
【计网不挂科】计算机网络第一章< 概述 >习题库(含答案)
java·数据库·计算机网络
这样の我5 小时前
hbase集成phoenix
大数据·数据库·hbase
安静读书6 小时前
MongoDB 详解:深入理解与探索
数据库·mongodb