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

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

时间:2023-11-08 22:32:23浏览次数:30  
标签:审计 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/8260916

相关文章

  • Python 数据库应用教程:安装 MySQL 及使用 MySQL Connector
    Python可以用于数据库应用程序。其中最流行的数据库之一是MySQL。MySQL数据库为了能够在本教程中尝试代码示例,您应该在计算机上安装MySQL。您可以在MySQL官方网站下载MySQL数据库。安装MySQL驱动程序Python需要一个MySQL驱动程序来访问MySQL数据库。在本教程中,我们将使用"......
  • c#操作mongodb数据库工具类
    新建c#项目,在nuget中引入MongoDB.Driver驱动,然后新建一个MongoDBToolHelper类,将下面代码复制进去usingMongoDB.Bson;usingMongoDB.Bson.Serialization;usingMongoDB.Driver;usingMongoDB.Driver.Builders;usingSystem;usingSystem.Collections.Generic;usingSystem......
  • Python 数据库应用教程:安装 MySQL 及使用 MySQL Connector
    Python可以用于数据库应用程序。其中最流行的数据库之一是MySQL。MySQL数据库为了能够在本教程中尝试代码示例,您应该在计算机上安装MySQL。您可以在MySQL官方网站下载MySQL数据库。安装MySQL驱动程序Python需要一个MySQL驱动程序来访问MySQL数据库。在本教程中,我们将使用......
  • 【django开发】知识经验总结共50页md文档。今日分享:django配置和数据库操作详解
    Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原......
  • 高斯数据库HCNA之SQL语法入门
    一、SQL语句概述1、SQL语句介绍维基百科的定义:SQL(StructuredQueryLanguage,结构性查询语句)是一种特定目的编程语言,用于管理关系数据库管理系统,或在关系流数据管理系统中进行流处理SQL基于关系代数和元组关系演算,包括一个数据定义语言和数据操作语言SQL的范围包括数据插入、......
  • DataGrip连接MySql数据库失败:dataGrip java.net.ConnectException: Connection refuse
    1.问题报错:dataGripjava.net.ConnectException:Connectionrefused:connect.详细错误:[08S01]CommunicationslinkfailureThelastpacketsentsuccessfullytotheserverwas0millisecondsago.Thedriverhasnotreceivedanypacketsfromtheserver.Communica......
  • 小景的Dba之路--压力测试和Oracle数据库缓存
    小景最近在做系统查询接口的压测相关的工作,其中涉及到了查询接口的数据库缓存相关的内容,在这里做一个汇总和思维发散,顺便简单说下自己的心得:针对系统的查询接口,首次压测执行的时候TPS较低,平均响应时间较高,后续的查询中,TPS和平均相应时间较第一次比有较为明显的提升,这里考虑到时Or......
  • YashanDB发布会圆满收官,V23.1三大新品引领国产数据库技术与应用突破!
    11月8日,YashanDB2023年度产品发布会在线上成功召开。本次产品发布会以“惟实·励新”为主题,宣布崖山数据库系统YashanDB内核能力、产品形态、生态创新全面升级,标志着YashanDB商业化进程又迈出了重要一步!据了解,深算院自主研发的崖山数据库系统YashanDB,基于自研的数据库前沿基础......
  • 流式数据库引擎备受关注,亚信安慧AntDB数据库受邀参加“2023中国PostgreSQL数据库生态
    11月3日至5日,2023中国PostgreSQL数据库生态大会在北京中科院软件所大报告厅盛大召开,大会现场百余位专家学者、企业、用户代表及线上数千位观众,就近年来国产数据库技术与市场变革进行深入探讨。湖南亚信安慧科技有限公司(简称:亚信安慧)受邀参与主论坛发表了重要演讲,并荣膺“2023最佳......
  • 使用数据库索引的优点与缺点
    优点:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,作为通用规则,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引占用磁盘空间,并且降低添加、删除和更新行的速度。在多数情况下,索引用于数据检索的速度优势大大超过它的......