绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
设置数据库审计-审计概述
2020-01-14 11:48:11

背景信息

数据库安全对数据库系统来说至关重要。GaussDB 200将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。

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

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

目前,GaussDB 200支持以下审计项如表1所示。

表1 配置审计项

配置项

描述

用户登录、注销审计

参数:audit_login_logout

默认值为7,表示开启用户登录、退出的审计功能。设置为0表示关闭用户登录、退出的审计功能。不推荐设置除0和7之外的值。

数据库启动、停止、恢复和切换审计

参数:audit_database_process

默认值为1,表示开启数据库启动、停止、恢复和切换的审计功能。

用户锁定和解锁审计

参数:audit_user_locked

默认值为1,表示开启审计用户锁定和解锁功能。

用户访问越权审计

参数:audit_user_violation

默认值为0,表示关闭用户越权操作审计功能。

授权和回收权限审计

参数:audit_grant_revoke

默认值为1,表示开启审计用户权限授予和回收功能。

数据库对象的CREATE,ALTER,DROP操作审计

参数:audit_system_object

默认值为7,表示只对DATABASE、SCHEMA、USER这三类数据库对象的CREATE、ALTER、DROP操作进行审计。

具体表的INSERT、UPDATE和DELETE操作审计

参数:audit_dml_state

默认值为0,表示关闭具体表的DML操作(SELECT除外)审计功能。

SELECT操作审计

参数:audit_dml_state_select

默认值为0,表示关闭SELECT操作审计功能。

COPY审计

参数:audit_copy_exec

默认值为0,表示关闭copy操作审计功能。

存储过程和自定义函数的执行审计

参数:audit_function_exec

默认值为0,表示不记录存储过程和自定义函数的执行审计日志。

SET审计

参数:audit_set_parameter

默认值为1,表示记录set操作审计日志

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

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

参数名

默认值

说明

ssl

off

指定是否启用SSL连接。

require_ssl

off

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

ssl_ciphers

ALL

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

ssl_cert_file

server.crt

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

ssl_key_file

server.key

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

ssl_ca_file

NULL

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

ssl_crl_file

NULL

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

password_policy

1

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

password_reuse_time

60

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

password_reuse_max

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

password_lock_time

1

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

failed_login_attempts

10

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

password_encryption_type

1

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

password_min_uppercase

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

password_min_lowercase

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

password_min_digital

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

password_min_special

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

password_min_length

8

密码的最小长度。

说明:

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

password_max_length

32

密码的最大长度。

说明:

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

password_effect_time

90d

密码的有效期限。

password_notify_time

7d

密码到期提醒的天数。

audit_enabled

on

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

audit_directory

pg_audit

审计文件的存储目录。

audit_data_format

binary

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

audit_rotation_interval

1440min

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

audit_rotation_size

10MB

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

audit_resource_policy

on

控制审计日志的保存策略,以空间还是时间限制为优先策略,on表示以空间为优先策略。

audit_file_remain_time

90

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

audit_space_limit

1024MB

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

audit_file_remain_threshold

1048576

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

audit_login_logout

7

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

audit_database_process

1

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

audit_user_locked

1

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

audit_user_violation

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

audit_grant_revoke

1

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

audit_system_object

7

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

audit_dml_state

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

audit_dml_state_select

指定是否审计SELECT操作。

audit_copy_exec

指定是否审计COPY操作。

audit_function_exec

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

audit_set_parameter

1

指定是否审计SET操作。

enableSeparationOfDuty

off

指定是否开启三权分立。

session_timeout

10min

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

auth_iteration_count

50000

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

操作步骤

  1. 以操作系统用户omm登录CN所在主机,执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
  2. 使用如下命令连接数据库。
    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=#

  3. 检查审计总开关状态。

    1. 用show命令显示审计总开关audit_enabled的值。
      SHOW audit_enabled;
      如果显示为off,执行“\q”命令退出数据库。
    2. 执行如下命令开启审计功能,参数设置立即生效。
      gs_guc set -Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_enabled=on"
      配置具体的审计项。
  4.  说明:
    • 只有开启审计功能,用户的操作才会被记录到审计文件中。
    • 各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。
    以开启对数据库所有对象的增删改操作的审计开关为例,其他配置项的修改方法与此相同,修改配置项的方法如下所示:
    gs_guc reload -Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_system_object=4095"
    其中audit_system_object代表审计项开关,4095为该审计开关的值。
分享好友

分享这个小栈给你的朋友们,一起进步吧。

GaussDB_数据库
创建时间:2020-01-06 16:21:44
华为GaussDB数据库小栈
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • GaussDB_数据库
    专家
戳我,来吐槽~