维护审计日志
前提条件
用户必须拥有审计权限。
背景信息
- 与审计日志相关的配置参数及其含义请参见表1。
表1 审计日志相关配置参数 配置项
含义
默认值
audit_directory
审计文件的存储目录。
mpp/用户名/pg_audit
audit_resource_policy
审计日志的保存策略。
on(表示使用空间配置策略)
audit_space_limit
审计文件占用的磁盘空间总量。
1GB
audit_file_remain_time
审计日志文件的最小保存时间。
90d
audit_file_remain_threshold
审计目录下审计文件的最大数量。
1048576
说明:
如果使用gs_om工具部署集群,则审计日志路径为 “mpp/用户名/pg_audit”。
- 审计日志删除命令为数据库提供的sql函数pg_delete_audit,其原型为:
pg_delete_audit(timestamp startime,timestamp endtime)
其中参数startime和endtime分别表示审计记录的开始时间和结束时间。
- 目前常用的记录审计内容的方式有两种:记录到数据库的表中、记录到OS文件中。这两种方式的优缺点比较如表2所示。
表2 审计日志保存方式比较 方式
优点
缺点
记录到表中
不需要用户维护审计日志。
由于表是数据库的对象,如果一个数据库用户具有一定的权限,就能够访问到审计表。如果该用户非法操作审计表,审计记录的准确性难以得到保证。
记录到OS文件中
比较安全,即使一个帐户可以访问数据库,但不一定有访问OS这个文件的权限。
需要用户维护审计日志。
从数据库安全角度出发,GaussDB 200采用记录到OS文件的方式来保存审计结果,保证了审计结果的可靠性。
操作步骤
- 以操作系统用户omm登录CN所在主机,执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
- 使用如下命令连接数据库。
gsql -d postgres -p 25308
postgres为需要连接的数据库名称,25308为CN的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GaussDB Kernel V300R002C00 build 50dc16a6) compiled at 2019-01-29 05:49:21 commit 1071 last mr 1373) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. postgres=#
- 选择日志维护方式进行维护。
- 设置自动删除审计日志
审计文件占用的磁盘空间或者审计文件的个数超过指定的最大值时,系统将删除最早的审计文件,并记录审计文件删除信息到审计日志中。
说明:
审计文件占用的磁盘空间大小默认值为1024MB,用户可以根据磁盘空间大小重新设置参数。
配置审计文件占用磁盘空间的大小(audit_space_limit)。
- 查看已配置的参数。
1 2 3 4 5
SHOW audit_space_limit; audit_space_limit ------------------- 1GB (1 row)
如果显示结果不为1GB(1024MB),执行“\q”命令退出数据库。
- 建议执行如下命令设置成默认值1024MB。
gs_guc reload -Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_space_limit=1024MB"
配置审计文件个数的最大值(audit_file_remain_threshold)。
- 查看已配置的参数。
1 2 3 4 5
SHOW audit_file_remain_threshold; audit_file_remain_threshold ----------------------------- 1048576 (1 row)
如果显示结果不为1048576,执行“\q”命令退出数据库。
- 建议执行如下命令设置成默认值1048576。
gs_guc reload -Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_file_remain_threshold=1048576"
- 手动备份审计文件
当审计文件占用的磁盘空间或者审计文件的个数超过配置文件指定的值时,系统将会自动删除较早的审计文件,因此建议用户周期性地对比较重要的审计日志进行保存。
- 使用show命令获得审计文件所在目录(audit_directory)。
1
SHOW audit_directory;
- 将审计目录整个拷贝出来进行保存。
- 手动删除审计日志
当不再需要某时段的审计记录时,可以使用审计接口命令pg_delete_audit进行手动删除。
以删除2012/9/20到2012/9/21之间的审计记录为例:
1
SELECT pg_delete_audit('2012-09-20 ','2012-09-21');
- 手动备份审计文件
查看更多:华为GaussDB 200 设置数据库审计 - 查看已配置的参数。
- 查看已配置的参数。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 选择日志维护方式进行维护。
- 目前常用的记录审计内容的方式有两种:记录到数据库的表中、记录到OS文件中。这两种方式的优缺点比较如表2所示。