审计概述

    关于审计功能,用户需要了解以下几点内容:

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

    目前,openGauss支持以下审计项如所示。

    表 1 配置审计项

    安全相关参数及默认值请参见表2

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

    参数名

    默认值

    说明

    on

    指定是否启用SSL连接。

    require_ssl

    off

    指定服务器端是否强制要求SSL连接。

    ALL

    指定SSL支持的加密算法列表。

    ssl_cert_file

    server.crt

    指定包含SSL服务器证书的文件的名称。

    server.key

    指定包含SSL私钥的文件名称。

    ssl_ca_file

    cacert.pem

    指定包含CA信息的文件的名称。

    指定包含CRL信息的文件的名称。

    password_policy

    1

    指定是否进行密码复杂度检查。

    60

    指定是否对新密码进行可重用天数检查。

    password_reuse_max

    0

    指定是否对新密码进行可重用次数检查。

    1

    指定帐户被锁定后自动解锁的时间。

    failed_login_attempts

    10

    如果输入密码错误的次数达到此参数值时,当前帐户被锁定。

    2

    指定采用何种加密方式对用户密码进行加密存储。

    password_min_uppercase

    0

    密码中至少需要包含大写字母的个数。

    0

    密码中至少需要包含小写字母的个数。

    password_min_digital

    0

    密码中至少需要包含数字的个数。

    0

    密码中至少需要包含特殊字符的个数。

    password_min_length

    8

    密码的最小长度。

    说明:

    在设置此参数时,请将其设置成不大于password_max_length,否则进行涉及密码的操作会一直出现密码长度错误的提示

    32

    密码的最大长度。

    说明:

    在设置此参数时,请将其设置成不小于password_min_length,否则进行涉及密码的操作会一直出现密码长度错误的提示。

    password_effect_time

    90

    密码的有效期限。

    7

    密码到期提醒的天数。

    audit_enabled

    on

    控制审计进程的开启和关闭。

    pg_audit

    审计文件的存储目录。

    audit_data_format

    binary

    审计日志文件的格式,当前仅支持二进制格式(binary)。

    1d

    指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。

    audit_rotation_size

    10MB

    指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。

    on

    audit_file_remain_time

    90

    表示需记录审计日志的最短时间要求,该参数在为off时生效。

    audit_space_limit

    1GB

    审计文件占用磁盘空间的最大值。

    1048576

    审计目录下审计文件的最大数量。

    audit_login_logout

    7

    指定是否审计数据库用户的登录(包括登录成功和登录失败)、注销。

    1

    指定是否审计数据库启动、停止、切换和恢复的操作。

    audit_user_locked

    1

    指定是否审计数据库用户的锁定和解锁。

    0

    指定是否审计数据库用户的越权访问操作。

    audit_grant_revoke

    1

    指定是否审计数据库用户权限授予和回收的操作。

    12295

    指定是否审计数据库对象的CREATE、DROP、ALTER操作。

    audit_dml_state

    0

    指定是否审计具体表的INSERT、UPDATE、DELETE操作。

    0

    指定是否审计SELECT操作。

    audit_copy_exec

    0

    指定是否审计COPY操作。

    0

    指定在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。

    audit_set_parameter

    1

    指定是否审计SET操作。

    off

    指定是否开启三权分立。

    session_timeout

    10min

    建立连接会话后,如果超过此参数的设置时间,则会自动断开连接。

    10000

    认证加密信息生成过程中使用的迭代次数。

    操作步骤

    1. 以操作系统用户omm登录数据库主节点。

    2. 使用如下命令连接数据库。

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

    3. 配置具体的审计项。

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