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

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

时间:2023-11-09 22:04:33浏览次数:47  
标签:审计 audit 文件 数据库 openGauss 日志

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

    img 说明: 如果使用gs_om工具部署openGauss,则审计日志路径为 “/var/log/gaussdb/用户名/pg_audit”。

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

    pg_delete_audit(timestamp startime,timestamp endtime)
    

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

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

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

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

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

118.3 操作步骤

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

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

    gsql -d postgres -p 8000
    

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

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

    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. 选择日志维护方式进行维护。

    • 设置自动删除审计日志

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

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

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

      1. 查看已配置的参数。

        openGauss=# SHOW audit_space_limit;
        audit_space_limit
        -------------------
        1GB
        (1 row)
        

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

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

        gs_guc reload -N all -I all -c "audit_space_limit=1024MB"
        

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

      1. 查看已配置的参数。

        openGauss=# SHOW audit_file_remain_threshold;
        audit_file_remain_threshold
        -----------------------------
        1048576
        (1 row)
        

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

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

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

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

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

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

    • 手动删除审计日志

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

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

      SELECT pg_delete_audit('2012-09-20 00:00:00','2012-09-21 23:59:59');
      

标签:审计,audit,文件,数据库,openGauss,日志
From: https://blog.51cto.com/shuchaoyang/8285523

相关文章

  • MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程
    创建表格要在MySQL中创建表格,请使用"CREATETABLE"语句。确保在创建连接时定义了数据库的名称。示例创建一个名为"customers"的表格:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword&qu......
  • Django 三板斧的使用 链接数据库
    Django三板斧的使用全局配置文件静态文件的配置request对象的几个方法pycharm链接数据库MySQLDjango链接数据库MySQLORM的使用今日内容详细三板斧的使用三个方法:HttpResponserenderredirectdefindex(request):print('request')#returnHttpResponse......
  • MySQL千万级数据库查询怎么提高查询效率
     查询效率慢的原因: 1:没有加索引或者索引失效  where条件使用如下语句会索引失效:null、!=、<>、or连接、in(非要使用,可用关键字exist替代)和notin、'%abc%';  使用参数:num=@num、表达式操作:wherenum/2=100、函数操作:wheresubstring(name,1,3)=‘abc’-name;   --e......
  • Linux 查看数据库和表
    连接数据库mysql-hlocalhost-u用戶名-p密碼使用数据库usedesk_show;显示数据表showtables;显示表结构describedesk6_0;mysql其他命令:显示数据库showdatabases;创建数据库createdatabasename;选择数据库usedatabasename;执行命令source/root/20151010.sq......
  • 数据库设计心得
    我们的项目是基于隐私包含的众包系统。在设计之前,我们先把需求搞清楚。业务需求雇主能发布需求,工人能接单,完成任务。哈哈,听上去还挺简单的,但涉及到雇主取消需求,雇主取消任务,工人根据标签查询需求,工人提交工作文件,工人取消订单这些功能。初步设计确定了工人,雇主,管理员,需求,订单,......
  • 一文读懂 Fabarta ArcGraph 图数据库丨技术解读
    导读 本文将深入探讨图数据库的发展历程、Fabarta自研图数据库ArcGraph的产品优势,以及 ArcGraph 如何充分利用图和向量数据库的融合优势,为AI技术的发展提供强大支持。图数据库最早诞生于上世纪六七十年代,起源于对复杂网络结构的理解和处理需求。随着社交网络、知识图谱......
  • 【故障公告】数据库服务器今年第六次 CPU 100% 故障
    自9月第五次数据库服务器CPU100%故障之后,今天下午又出现数据库服务器CPU100%故障,是今年的第六次。自从园子2013年搬上阿里云,几乎每年都会遇到数据库服务器CPU100%问题,但今年创造了新记录,一年还未结束,却已遭遇六次,最困难的一年,连故障也过来凑热闹。今天的故障发生于14......
  • neo4j图数据库
    目录neo4j说明docker-compose安装命令创建节点创建节点关系创建节点并建立关系更新节点和关系查询节点和关系删除节点及关系golang执行cypher命令--创建节点golang执行cypher命令2--创建节点+建立关系neo4j说明 Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而......
  • C# EntityFramework+SQLite CodeFirst 创建数据库和数据表
    1、安装NuGet包System.Data.SQLite(System.Data.SQLite.Core、System.Data.SQLite.EF6、System.Data.SQLite.Linq)SQLite.CodeFirstEntityFramework2、配置App.config<?xmlversion="1.0"encoding="utf-8"?><configuration><configSe......
  • 大型数据库实验三
    实验三--熟悉常用的HBase操作1、列出HBase所有表的信息,例如表名2、在终端打印出指定的表的所有的就数据3、向已经创建好的表中添加或者删除指定的列族或列添加数据:删除数据:4、清空指定的表的所有的数据5、统计表的行数6、将下面的关系数据库,转换为合适的hbase格......