gaussdb 数据库审计【设置数据库审计】【01】

1. 设置数据库审计

审计概述
数据库的安全对数据库系统来说至关重要。GaussDB支持审计功能,它将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用审计信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。

目前,GaussDB支持的审计项如下:

  • 用户登录、注销审计
  • 数据库启动、停止、恢复和切换审计
  • 用户锁定和解锁审计
  • 用户访问越权审计
  • 授权和回收权限审计
  • 数据库对象(数据库、表、schema 等)增删改审计
  • 具体表的insert、delete、update操作审计
  • 安全配置变更审计
  • 注意 1:
    安全相关参数及默认值请参见表1。
    安全配置变更审计是指GaussDB在运行过程中,安全相关参数值发生变化时,审计进程会做一次审计记录。 GaussDB启动前,安全参数值的变更不会被审计。
  • 注意 2:
    GaussDB系统管理员删除文件审计是指GaussDB启动后,系统管理员通过高级包接口 UTL_FILE.FREMOVE 删除文件时,审计进程做一次审计操作。

表1 安全相关参数及默认值

参数名默认值说明
ssloff-
ssl_ciphersALL-
ssl_cert_fileserver.crt-
ssl_key_fileserver.key-
ssl_ca_fileNULL-
ssl_crl_fileNULL-
password_policy1-
password_reuse_time60-
password_reuse_max0-
password_lock_time1-
failed_login_attempts10-
password_encryption_type1-
audit_enabledon-
audit_directorypg_audit参考维护审计日志
audit_data_formatbinary审计日志文件的格式,当前仅支持二进制格式(binary)。
audit_rotation_interval1d决定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了audit_rotation_interval的值时,将生成一个新的审计日志文件。
audit_rotation_size10MB决定审计日志文件的最大容量。当审计日志消息的总量超过审计日志文件容量时,服务器将生成一个新的审计日志文件。
audit_space_limit1024MB参考维护审计日志
audit_file_remain_threshold1024参考维护审计日志
audit_login_logout7参考用户和权限审计
audit_database_process1参考操作审计
audit_user_locked1参考用户和权限审计
audit_user_violation0参考用户和权限审计
audit_grant_revoke1参考用户和权限审计
audit_system_object7参考操作审计
audit_dml_state0参考操作审计

2.开启审计功能

背景信息

  • 审计总开关audit_enabled不支持动态加载。默认值为on,表示开启审计功能。在数据库运行期间修改该配置项的值不会立即生效,必须要重启数据库。
  • 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
  • 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。

用show命令显示审计总开关audit_enabled的值。

show audit_enabled;

如果其值为off ,执行如下命令并重启服务器以开启审计功能:

gs_guc set -c audit_enabled=on

以开启对数据库所有对象的增删改操作的审计为例,修改配置项的方法如下,其他配置项的修改方法与此相同:

gs_guc reload -c audit_system_object=511

3. 查看审计结果

背景信息

  • 只有拥有审计管理权限的用户才可以查看审计记录,审计用户的创建参考用户权限管理章节。

  • 审计查询命令为GaussDB提供的sql函数pg_query_audit,其原型为:
    pg_query_audit(timestamp startime,timestramp endtime),参数startime和endtime分别表示审计记录的开始时间和结束时间。

  • 说明:
    startime和endtime的差值代表要查询的时间段,其有效值为从startime日期中的00:00:00开始到endtime日期中的23:59:59之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。

调用审计查询命令查询审计记录。

select* from pg_query_audit('2012-09-20 08:00:00','2012-09-20 23:59:33');

查询结果如下:

time                  | type      | result | user | database | client_conninfo | object_name | detail_info
2012-09-20 10:47:07+08| ddl_table | ok     | jack | POSTGRES | gsql@[local]    | products    |CREATE TABLE products (product_no integer,name   text,price numeric);

该条记录表明,用户jack在2012-09-20 10:47:07向数据库中新增了表products。

4. 维护审计日志

审计日志相关配置参数

含义配置项取值默认值
审计文件存储目录audit_directory一个相对于数据目录data的路径,可自行指定pg_audit
审计文件占用的磁盘空间总量audit_space_limit取值范围:整型,1024kB~1024GB1024MB
审计目录下审计文件个数最大值audit_file_remain_threshold取值范围:整型,1~10485761024

 

相关参考

gaussdb 数据库参数说明【审计开关、用户和权限审计、 操作审计】【10】
https://blog.csdn.net/qq_42226855/article/details/108780801

gaussdb 安全维护【数据库审计安全策略】【08】
https://blog.csdn.net/qq_42226855/article/details/109554205

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值