审计概述
背景信息
数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。
关于审计功能,用户需要了解以下几点内容:
- 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。
- 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
- 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。
目前,openGauss支持以下审计项如表1所示。
表 1 配置审计项
默认值为67121159,表示只对DATABASE、SCHEMA、USER、DATA SOURCE这四类数据库对象的CREATE、ALTER、DROP操作进行审计。 | |
安全相关参数及说明请参见表2。
表 2 安全相关参数及说明
指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 | |
表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。 | |
操作步骤
- 以操作系统用户omm登录数据库主节点。
- 连接数据库。
数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。
执行如下命令连接数据库。
```
gsql -d postgres -p 8000
```
其中postgres为需要连接的数据库名称,8000为数据库主节点的端口号。请根据实际情况替换。另外,也可以使用如下任一命令连接数据库。
```
gsql postgres://omm:Gauss_234@127.0.0.1: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连接。
>![](public_sys-resources/icon-note.png) **说明:**
>gsql是本产品提供的命令行方式的数据库连接工具。更多的数据库连接办法可参考[使用gsql访问openGauss.md](../GettingStarted/使用gsql访问openGauss.md)。
检查审计总开关状态。
用show命令显示审计总开关audit_enabled的值。
openGauss=# SHOW audit_enabled;
如果显示为off,执行‘\q’命令退出数据库,继续执行后续步骤。如果显示为on,则无需执行后续步骤。
执行如下命令开启审计功能,参数设置立即生效。
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为该审计开关的值。