华为云云数据库GaussDB审计概述_云淘科技
背景信息
数据库安全对数据库系统来说至关重要。GaussDB将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。
关于审计功能,用户需要了解以下几点内容:
审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。
除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。
目前,GaussDB支持以下审计项如表1所示,详细说明请参见链接中GUC参数说明章节的具体参数。
配置项 |
描述 |
---|---|
用户登录、注销审计 |
参数: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 默认值为67121159,表示只对DATABASE、SCHEMA、USER、DATA SOURCE、NODE GROUP这五类数据库对象的CREATE、ALTER、DROP操作进行审计。 |
具体表的INSERT、UPDATE和DELETE操作审计 |
参数:audit_dml_state 默认值为0,表示关闭具体表的DML操作(SELECT除外)审计功能。 |
SELECT操作审计 |
参数:audit_dml_state_select 默认值为0,表示关闭SELECT操作审计功能。 |
COPY审计 |
参数:audit_copy_exec 默认值为1,表示打开copy操作审计功能。 |
存储过程和自定义函数的执行审计 |
参数:audit_function_exec 默认值为0,表示不记录存储过程和自定义函数的执行审计日志。 |
SET审计 |
参数:audit_set_parameter 默认值为0,表示不记录set操作审计日志 |
事务ID记录 |
参数:audit_xid_info 默认值为0,表示关闭审计日志记录事务ID功能。 |
安全相关参数及说明请参见表2。
参数名 |
说明 |
---|---|
ssl |
指定是否启用SSL连接。 |
require_ssl |
指定服务器端是否强制要求SSL连接。 |
ssl_ciphers |
指定SSL支持的加密算法列表。 |
ssl_cert_file |
指定包含SSL服务器证书的文件的名称。 |
ssl_key_file |
指定包含SSL私钥的文件名称。 |
ssl_ca_file |
指定包含CA信息的文件的名称。 |
ssl_crl_file |
指定包含CRL信息的文件的名称。 |
ssl_cert_notify_time |
SSL服务器证书到期前提醒的天数。 |
password_policy |
指定是否进行密码复杂度检查。 |
password_reuse_time |
指定是否对新密码进行可重用天数检查。 |
password_reuse_max |
指定是否对新密码进行可重用次数检查。 |
password_lock_time |
指定帐户被锁定后自动解锁的时间。 |
failed_login_attempts |
如果输入密码错误的次数达到此参数值时,当前帐户被锁定。 |
password_encryption_type |
指定采用何种加密方式对用户密码进行加密存储。 |
password_min_uppercase |
密码中至少需要包含大写字母的个数。 |
password_min_lowercase |
密码中至少需要包含小写字母的个数。 |
password_min_digital |
密码中至少需要包含数字的个数。 |
password_min_special |
密码中至少需要包含特殊字符的个数。 |
password_min_length |
密码的最小长度。 说明: 在设置此参数时,请将其设置成不大于password_max_length,否则进行涉及密码的操作会一直出现密码长度错误的提示 |
password_max_length |
密码的最大长度。 说明: 在设置此参数时,请将其设置成不小于password_min_length,否则进行涉及密码的操作会一直出现密码长度错误的提示。 |
password_effect_time |
密码的有效期限。 |
password_notify_time |
密码到期提醒的天数。 |
audit_enabled |
控制审计进程的开启和关闭。 |
audit_directory |
审计文件的存储目录。 |
audit_data_format |
审计日志文件的格式,当前仅支持二进制格式(binary)。 |
audit_rotation_interval |
指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 |
audit_rotation_size |
指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。 |
audit_resource_policy |
控制审计日志的保存策略,以空间还是时间限制为优先策略,on表示以空间为优先策略。 |
audit_file_remain_time |
表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。 |
audit_space_limit |
审计文件占用磁盘空间的最大值。 |
audit_file_remain_threshold |
审计目录下审计文件的最大数量。 |
audit_login_logout |
指定是否审计数据库用户的登录(包括登录成功和登录失败)、注销。 |
audit_database_process |
指定是否审计数据库启动、停止、切换和恢复的操作。 |
audit_user_locked |
指定是否审计数据库用户的锁定和解锁。 |
audit_user_violation |
指定是否审计数据库用户的越权访问操作。 |
audit_grant_revoke |
指定是否审计数据库用户权限授予和回收的操作。 |
audit_system_object |
指定是否审计数据库对象的CREATE、DROP、ALTER操作。 |
audit_dml_state |
指定是否审计具体表的INSERT、UPDATE、DELETE操作。 |
audit_dml_state_select |
指定是否审计SELECT操作。 |
audit_copy_exec |
指定是否审计COPY操作。 |
audit_function_exec |
指定在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。 |
audit_set_parameter |
指定是否审计SET操作。 |
enableSeparationOfDuty |
指定是否开启三权分立。 |
session_timeout |
建立连接会话后,如果超过此参数的设置时间,则会自动断开连接。 |
auth_iteration_count |
认证加密信息生成过程中使用的迭代次数。 |
操作步骤
参考连接数据库,连接数据库。
检查审计总开关状态。
用show命令显示审计总开关audit_enabled的值。
1 |
openGauss=# SHOW audit_enabled; |
父主题: 设置数据库审计
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家