审计概述
背景信息
数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。
关于审计功能,用户需要了解以下几点内容:
- 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。
- 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
- 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。
目前,openGauss支持以下审计项如表1所示。
表 1 配置审计项
默认值为67121159,表示只对DATABASE、SCHEMA、USER、DATA SOURCE这四类数据库对象的CREATE、ALTER、DROP操作进行审计。 |
|
安全相关参数及说明请参见表2。
表 2 安全相关参数及说明
说明: 在设置此参数时,请将其设置成不大于password_max_length,否则进行涉及密码的操作会一直出现密码长度错误的提示 |
|
说明: 在设置此参数时,请将其设置成不小于password_min_length,否则进行涉及密码的操作会一直出现密码长度错误的提示。 |
|
指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 |
|
表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。 |
|
操作步骤
-
以操作系统用户omm登录数据库主节点。
-
连接数据库。
数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。
执行如下命令连接数据库。
gsql -d postgres -p 8000
其中postgres为需要连接的数据库名称,8000为数据库主节点的端口号。请根据实际情况替换。另外,也可以使用如下任一命令连接数据库。
gsql postgres://omm:[email protected]:8000/postgres -r gsql -d "host=127.0.0.1 port=8000 dbname=postgres user=omm password=Gauss_234"
连接成功后,系统显示类似如下信息:
gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. openGauss=#
omm用户是管理员用户,因此系统显示“DBNAME=#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=>”。
“Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,请使用SSL连接。
说明:
gsql是本产品提供的命令行方式的数据库连接工具。更多的数据库连接办法可参考使用gsql访问openGauss。 -
检查审计总开关状态。
-
用show命令显示审计总开关audit_enabled的值。
openGauss=# SHOW audit_enabled;
如果显示为off,执行“\q”命令退出数据库。
-
执行如下命令开启审计功能,参数设置立即生效。
gs_guc set -D /gaussdb/data/datanode -c "audit_enabled=on"
-
-
配置具体的审计项。
说明:
- 只有开启审计功能,用户的操作才会被记录到审计文件中。
- 各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。
以开启对数据库所有对象的增删改操作的审计开关为例,其他配置项的修改方法与此相同,修改配置项的方法如下所示:
gs_guc reload -D /gaussdb/data/datanode -c "audit_system_object=12295"
其中audit_system_object代表审计项开关,12295为该审计开关的值。