云服务器内容精选
-
背景信息 数据库安全对数据库系统来说至关重要。 GaussDB 将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。 关于审计功能,用户需要了解以下几点内容: 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。 目前,GaussDB支持以下审计项如表1所示,详细说明请参见链接中GUC参数说明章节的具体参数。 表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 默认值为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。 表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; 如果显示为off,执行“\q”命令退出数据库。 设置“audit_enabled=on”开启审计功能,参数设置立即生效。 根据表1,配置具体的审计项。 只有开启审计功能,用户的操作才会被记录到审计文件中。 各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。
-
背景信息 数据库安全对数据库系统来说至关重要。GaussDB将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。 关于审计功能,用户需要了解以下几点内容: 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。 目前,GaussDB支持以下审计项如表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 默认值为67121159,表示只对DATABASE、SCHEMA、USER、DATA SOURCE,SQL Patch这五类数据库对象的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。 表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信息的文件的名称。 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 认证加密信息生成过程中使用的迭代次数。
-
背景信息 当用户连接数达到上限后,无法建立新的连接。因此,当数据库管理员发现某用户无法连接到数据库时,需要查看是否连接数达到了上限。控制数据库连接的主要以下几种选项。 全局的最大连接数:由运行参数max_connections指定。 某用户的连接数:在创建用户时由CREATE ROLE命令的CONNECTION LIMIT connlimit子句直接设定,也可以在设定以后用ALTER ROLE的CONNECTION LIMIT connlimit子句修改。 某数据库的连接数:在创建数据库时,由CREATE DATABASE的CONNECTION LIMIT connlimit参数指定。 预留连接供gs_clean使用:需要预留连接给gs_clean工具进行残留事务清理,以免由于残留事务长期阻塞系统正常运行,对于有n个CN的集群环境,那么需要至少预留n个连接给各个CN上的gs_clean进行残留事务清理。
-
操作步骤 连接数据库。 查看全局会话连接数限制。 1 2 3 4 5 postgres=# SHOW max_connections; max_connections ----------------- 800 (1 row) 其中800是最大会话连接数。 查看已使用的会话连接数。 具体命令请参见表1。 除了创建的时候用双引号引起的数据库和用户名称外,以下命令中用到的数据库名称和用户名称,其中包含的英文字母必须使用小写。 表1 查看会话连接数 描述 命令 查看指定用户的会话连接数上限。 执行如下命令查看连接到指定用户omm的会话连接数上限。其中-1表示没有对用户omm设置连接数的限制。 1 2 3 4 5 postgres=# SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='omm'; rolname | rolconnlimit ----------+-------------- omm | -1 (1 row) 查看指定用户已使用的会话连接数。 执行如下命令查看指定用户omm已使用的会话连接数。其中,1表示omm已使用的会话连接数。 1 2 3 4 5 6 postgres=# SELECT COUNT(*) FROM dv_sessions WHERE USERNAME='omm'; count ------- 1 (1 row) 查看指定数据库的会话连接数上限。 执行如下命令查看连接到指定数据库postgres的会话连接数上限。其中-1表示没有对数据库postgres设置连接数的限制。 1 2 3 4 5 6 postgres=# SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='postgres'; datname | datconnlimit ----------+-------------- postgres | -1 (1 row) 查看指定数据库已使用的会话连接数。 执行如下命令查看指定数据库postgres上已使用的会话连接数。其中,1表示数据库postgres上已使用的会话连接数。 1 2 3 4 5 postgres=# SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='postgres'; count ------- 1 (1 row) 查看所有用户已使用会话连接数。 执行如下命令查看所有用户已使用的会话连接数。 1 2 3 4 5 postgres=# SELECT COUNT(*) FROM dv_sessions; count ------- 10 (1 row)
-
背景信息 当用户连接数达到上限后,无法建立新的连接。因此,当数据库管理员发现某用户无法连接到数据库时,需要查看是否连接数达到了上限。控制数据库连接的主要以下几种选项。 全局的最大连接数:由运行参数max_connections指定。 某用户的连接数:在创建用户时由CREATE ROLE命令的CONNECTION LIMIT connlimit子句直接设定,也可以在设定以后用ALTER ROLE的CONNECTION LIMIT connlimit子句修改。 某数据库的连接数:在创建数据库时,由CREATE DATABASE的CONNECTION LIMIT connlimit参数指定。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格