审计概述
背景信息
数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。
关于审计功能,用户需要了解以下几点内容:
- 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。
- 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
- 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。
目前,openGauss支持以下审计项如表1所示。
表 1 配置审计项
默认值为12295,表示只对DATABASE、SCHEMA、USER、DATA SOURCE这四类数据库对象的CREATE、ALTER、DROP操作进行审计。 | |
安全相关参数及默认值请参见表2。
表 2 安全相关参数及默认值
指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 | ||
表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。 | ||
操作步骤
以操作系统用户omm登录数据库主节点。
使用如下命令连接数据库。
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.
postgres=#
检查审计总开关状态。
a. 用show命令显示审计总开关audit_enabled的值。
SHOW audit_enabled;
如果显示为off,执行“\q”命令退出数据库。
b. 执行如下命令开启审计功能,参数设置立即生效。
gs_guc set -N all -I all -c "audit_enabled=on"
配置具体的审计项。
说明:
- 只有开启审计功能,用户的操作才会被记录到审计文件中。
- 各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。
以开启对数据库所有对象的增删改操作的审计开关为例,其他配置项的修改方法与此相同,修改配置项的方法如下所示:
gs_guc reload -N all -I all -c "audit_system_object=12295"
其中audit_system_object代表审计项开关,12295为该审计开关的值。