云服务器内容精选
-
操作步骤 连接数据库。 查询审计记录。 1 postgres=# SELECT * FROM pg_query_audit('2021-03-03 21:30:00', '2021-03-03 22:00:00') where type = 'login_success' and username = 'user1'; 查询结果如下: time | type | result | userid | username | database | client_conninfo | object_name | detail_info | node_name | thread_id | local_port | remote_port ------------------------+---------------+--------+--------+----------+----------+-----------------+-------------+------------------------------------------------------+-----------+-- -------------------------------+------------+------------- 2021-03-03 21:30:31+08 | login_success | ok | 16398 | user1 | postgres | gsql@[local] | postgres | login db(postgres) success,the current user is:user1 | cn_5001 | 1 39634608699136@668093431256149 | 18000 | null (1 row) 该条记录表明,用户user1在2021-03-03 21:30:31+08登录数据库postgres。其中client_conninfo字段在log_hostname启动且IP连接时,字符@后显示反向DNS查找得到的主机名。 查询所有CN节点审计记录。 1 postgres=# SELECT * FROM pgxc_query_audit('2021-03-03 21:30:00', '2021-03-03 22:00:00') where type = 'login_success' and username = 'user1'; 查询结果如下: time | type | result | userid | username | database | client_conninfo | object_name | detail_info | node_name | thread_id | local_port | remote_port ------------------------+---------------+--------+--------+----------+----------+-----------------+-------------+------------------------------------------------------+-----------+-- -------------------------------+------------+------------- 2021-03-03 21:30:31+08 | login_success | ok | 16398 | user1 | postgres | gsql@[local] | postgres | login db(postgres) success,the current user is:user1 | cn_5001 | 1 39634608699136@668093431256149 | 18000 | null 2021-03-03 21:36:09+08 | login_success | ok | 16398 | user1 | postgres | gsql@[local] | postgres | login db(postgres) success,the current user is:user1 | cn_5003 | 1 39779716937472@668093769836394 | 18000 | null (2 rows) 查询结果显示,用户user1在cn_5001和cn_5003的成功登录记录。
-
背景信息 只有拥有AUDITADMIN属性的用户才可以查看审计记录。有关数据库用户及创建用户的办法请参见用户。 审计查询命令是数据库提供的sql函数pg_query_audit,其原型为: pg_query_audit(timestamptz startime,timestamptz endtime,audit_log) 参数startime和endtime分别表示审计记录的开始时间和结束时间,audit_log表示所查看的审计日志信息所在的物理文件路径,当不指定audit_log时,默认查看连接当前实例的审计日志信息。 通过sql函数pgxc_query_audit可以查询所有CN节点的审计日志,其原型为: pgxc_query_audit(timestamptz startime,timestamptz endtime) startime和endtime的差值代表要查询的时间段,其有效值为从startime日期中的00:00:00开始到endtime日期中的23:59:59之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。
-
操作步骤 连接数据库。 检查审计总开关状态。 用show命令显示审计总开关audit_enabled的值。 1 postgres=# SHOW audit_enabled; on表示开启审计,off表示关闭审计。 配置具体的审计项。 只有开启审计功能,用户的操作才会被记录到审计文件中。 各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。 可以参考用户指南修改audit_system_object的参数值,其中audit_system_object代表审计项开关,12295为该审计开关的值。不当修改该参数会导致丢失DDL审计日志,请在客服人员指导下进行修改。
-
背景信息 数据库安全对数据库系统来说至关重要。 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 默认值为12295,表示只对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 默认值为1,表示记录set操作审计日志 安全相关参数及默认值请参见表2。 表2 安全相关参数及默认值 参数名 默认值 说明 ssl on 指定是否启用SSL连接。 require_ssl off 指定服务器端是否强制要求SSL连接。 ssl_ciphers ALL 指定SSL支持的加密算法列表。 ssl_cert_file server.crt 指定包含SSL服务器证书的文件的名称。 ssl_key_file server.key 指定包含SSL私钥的文件名称。 ssl_ca_file cacert.pem 指定包含CA信息的文件的名称。 ssl_crl_file NULL 指定包含CRL信息的文件的名称。 ssl_cert_notify_time 90 SSL服务器证书到期前提醒的天数。 password_policy 1 指定是否进行密码复杂度检查。 password_reuse_time 0 指定是否对新密码进行可重用天数检查。 password_reuse_max 0 指定是否对新密码进行可重用次数检查。 password_lock_time 1 指定帐户被锁定后自动解锁的时间。 failed_login_attempts 10 如果输入密码错误的次数达到此参数值时,当前帐户被锁定。 password_encryption_type 2 指定采用何种加密方式对用户密码进行加密存储。 password_min_uppercase 0 密码中至少需要包含大写字母的个数。 password_min_lowercase 0 密码中至少需要包含小写字母的个数。 password_min_digital 0 密码中至少需要包含数字的个数。 password_min_special 0 密码中至少需要包含特殊字符的个数。 password_min_length 8 密码的最小长度。 说明: 在设置此参数时,请将其设置成不大于password_max_length,否则进行涉及密码的操作会一直出现密码长度错误的提示 password_max_length 32 密码的最大长度。 说明: 在设置此参数时,请将其设置成不小于password_min_length,否则进行涉及密码的操作会一直出现密码长度错误的提示。 password_effect_time 90 密码的有效期限。 password_notify_time 7 密码到期提醒的天数。 audit_enabled on 控制审计进程的开启和关闭。 audit_directory pg_audit 审计文件的存储目录。 audit_data_format binary 审计日志文件的格式,当前仅支持二进制格式(binary)。 audit_rotation_interval 1d 指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。 audit_rotation_size 10MB 指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。 audit_resource_policy on 控制审计日志的保存策略,以空间还是时间限制为优先策略,on表示以空间为优先策略。 audit_file_remain_time 90 表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。 audit_space_limit 1GB 审计文件占用磁盘空间的最大值。 audit_file_remain_threshold 1048576 审计目录下审计文件的最大数量。 audit_login_logout 7 指定是否审计数据库用户的登录(包括登录成功和登录失败)、注销。 audit_database_process 1 指定是否审计数据库启动、停止、切换和恢复的操作。 audit_user_locked 1 指定是否审计数据库用户的锁定和解锁。 audit_user_violation 0 指定是否审计数据库用户的越权访问操作。 audit_grant_revoke 1 指定是否审计数据库用户权限授予和回收的操作。 audit_system_object 12295 指定是否审计数据库对象的CREATE、DROP、ALTER操作。 audit_dml_state 0 指定是否审计具体表的INSERT、UPDATE、DELETE操作。 audit_dml_state_select 0 指定是否审计SELECT操作。 audit_copy_exec 1 指定是否审计COPY操作。 audit_function_exec 0 指定在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。 audit_set_parameter 1 指定是否审计SET操作。 enableSeparationOfDuty off 指定是否开启三权分立。 session_timeout 10min 建立连接会话后,如果超过此参数的设置时间,则会自动断开连接。 auth_iteration_count 10000 认证加密信息生成过程中使用的迭代次数。
-
背景信息 只有拥有AUDITADMIN属性的用户才可以查看审计记录。有关数据库用户及创建用户的办法请参见用户。 审计查询命令是数据库提供的sql函数pg_query_audit,其原型为: pg_query_audit(timestamptz startime,timestamptz endtime,audit_log) 参数startime和endtime分别表示审计记录的开始时间和结束时间,audit_log表示所查看的审计日志信息所在的物理文件路径,当不指定audit_log时,默认查看连接当前实例的审计日志信息。 startime和endtime的差值代表要查询的时间段,其有效值为从startime日期中的00:00:00开始到endtime日期中的23:59:59之间的任何值。请正确指定这两个参数,否则将查不到需要的审计信息。
-
操作步骤 参考连接数据库,连接数据库。 查询审计记录。 1 openGauss=# select * from pg_query_audit('2021-03-04 08:00:00','2021-03-04 17:00:00'); 查询结果如下: time | type | result | userid | username | database | client_conninfo | object_name |detail_info| node_name | thread_id | local_port | remote_port------------------------+----------------+--------+--------+-----------+-----------+-------------------------+-------------------+--------------+-------------------+---------------------------------+------------+-------------2021-03-04 08:00:08+08 | login_success | ok | 10 | omm | postgres | gsql@::1 | postgres | login db(postgres) success, SSL=off | dn_6001_6002_6003 | 140477687527168@668131208211425 |17778 | 46946 该条记录表明,用户omm在time字段标识的时间点登录数据库postgres。其中client_conninfo字段在log_hostname启动且IP连接时,字符@后显示反向DNS查找得到的主机名。 对于登录操作的记录,审计日志detail_info结尾会记录SSL信息,SSL=on表示客户端通过SSL连接,SSL=off表示客户端没有通过SSL连接。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格