首页 > 其他分享 >openGauss 审计概述

openGauss 审计概述

时间:2024-04-30 10:46:18浏览次数:22  
标签:审计 audit password 数据库 指定 概述 openGauss 默认值

审计概述

背景信息

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

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

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

目前,openGauss支持以下审计项如表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,表示开启审计用户权限授予和回收功能。

对用户操作进行全量审计

参数:full_audit_users

默认值为空字符串,表示采用默认配置,未配置全量审计用户。

不需要审计的客户端名称及IP地址

参数:no_audit_client

默认值为空字符串,表示采用默认配置,未将客户端及IP加入审计黑名单。

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

参数:audit_system_object

默认值为67121159,表示只对DATABASE、SCHEMA、USER、DATA SOURCE这四类数据库对象的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,表示不记录存储过程和自定义函数的执行审计日志。

执行白名单内的系统函数审计

参数:audit_system_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

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

full_audit_users

指定全量审计用户列表,对列表中的用户执行的所有可被审计的操作记录审计日志。

no_audit_client

指定不需要审计的客户端名称及IP地址列表

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_system_function_exec

指定是否开启对执行白名单内的系统函数记录审计日志

audit_set_parameter

指定是否审计SET操作。

enableSeparationOfDuty

指定是否开启三权分立。

session_timeout

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

auth_iteration_count

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

操作步骤

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

  2. 连接数据库。

    数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。

    执行如下命令连接数据库。

    gsql -d postgres -p 8000
    

    其中postgres为需要连接的数据库名称,8000为数据库主节点的端口号。请根据实际情况替换。另外,也可以使用如下任一命令连接数据库。

    gsql postgres://omm:[email protected]:8000/postgres -r
    gsql -d "host=127.0.0.1 port=8000 dbname=postgres user=omm password=Gauss_234"
    

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

    gsql((openGauss x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385 release)
    Non-SSL connection (SSL connection is recommended when requiring high-security)
    Type "help" for help.
    
    openGauss=# 
    

    omm用户是管理员用户,因此系统显示“DBNAME=#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=>”。

    “Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,请使用SSL连接。

    说明:
    gsql是本产品提供的命令行方式的数据库连接工具。更多的数据库连接办法可参考使用gsql访问openGauss

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

    1. 用show命令显示审计总开关audit_enabled的值。

      openGauss=# SHOW audit_enabled;
      

      如果显示为off,执行“\q”命令退出数据库。

    2. 执行如下命令开启审计功能,参数设置立即生效。

      gs_guc set  -D /gaussdb/data/datanode -c "audit_enabled=on"
      
  4. 配置具体的审计项。

    说明:

    • 只有开启审计功能,用户的操作才会被记录到审计文件中。
    • 各审计项的默认参数都符合安全标准,用户可以根据需要开启其他审计功能,但会对性能有一定影响。

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

    gs_guc reload  -D /gaussdb/data/datanode -c "audit_system_object=12295"
    

    其中audit_system_object代表审计项开关,12295为该审计开关的值。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:审计,audit,password,数据库,指定,概述,openGauss,默认值
From: https://www.cnblogs.com/techbing/p/18167388

相关文章

  • openGauss 使用MOT
    使用MOT本章介绍如何部署、使用和管理openGaussMOT。使用MOT的方法非常简单。MOT命令的语法与openGauss基于磁盘的表相同。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。您可以参考本章了解如何入门、如何将基于磁盘的表转换为MOT、如何使用MOT的查询原生......
  • openGauss 设置帐号有效期
    设置帐号有效期注意事项创建新用户时,需要限制用户的操作期限(有效开始时间和有效结束时间)。不在有效操作期内的用户需要重新设定帐号的有效操作期。操作步骤以操作系统用户omm登录数据库主节点。使用如下命令连接数据库。gsql-dpostgres-p8000postgres为需要连接......
  • openGauss 设置帐户安全策略
    设置帐户安全策略背景信息openGauss为帐户提供了自动锁定和解锁帐户、手动锁定和解锁异常帐户和删除不再使用的帐户等一系列的安全措施,保证数据安全。自动锁定和解锁帐户为了保证帐户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系统将自动锁定该帐户,默认值......
  • openGauss 设置数据库审计
    设置数据库审计审计概述查看审计结果维护审计日志设置文件权限安全策略统一审计策略概述详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 设置透明数据加密_TDE
    设置透明数据加密(TDE)概述透明数据加密(TransparentDataEncryption),是数据库在将数据写入存储介质时对数据进行加密,从存储介质中读取数据时自动解密,防止攻击者绕过数据库认证机制直接读取数据文件中的数据,以解决静态数据泄露问题。该功能对于应用层几乎透明无感知,用户可根据需要......
  • openGauss 设置文件权限安全策略
    设置文件权限安全策略背景信息数据库在安装过程中,会自动对其文件权限(包括运行过程中生成的文件,如日志文件等)进行设置。其权限规则如下:数据库程序目录的权限为0750。数据库数据文件目录的权限为0700。数据库部署时通过创建xml配置文件中的tmpMppdbPath参数指定目录(若未指......
  • Asp-Net-Core开发笔记:使用AOP实现动态审计日志功能
    前言#最近一直在写Go和Python,好久没写C#,重新回来写C#代码时竟有一种亲切感~说回正题。在当今这个数字化迅速发展的时代,每一个操作都可能对业务产生深远的影响,无论是对数据的简单查询,还是对系统配置的修改。在这样的背景下,审计日志不仅仅是一种遵循最佳实践的手段,更是......
  • openGauss MOT测试总结
    MOT测试总结MOT比磁盘表性能提升2.5至4.1倍,在Arm/鲲鹏256核服务器上达到480万tpmC。测试结果清楚表明MOT在扩展和利用所有硬件资源方面的卓越能力。随着CPU槽位和服务器核数增加,性能会随之跃升。MOT在Arm/鲲鹏架构下最高可达3万tpmC/核,在x86架构下最高可达4万tpmC/核。由于持久......
  • openGauss MOT查询原生编译_JIT
    MOT查询原生编译(JIT)MOT使您可以在执行之前以原生格式(使用PREPARE语句)准备并分析预编译的完整查询。这种本机格式以后可以更有效地执行(使用EXECUTE命令)。这种类型的执行效率要高得多,因为在执行期间,本机格式绕过了多个数据库处理层。这种分工避免了重复的解析分析操作。LiteExecu......
  • openGauss MOT部署
    MOT部署以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。MOT服务器优化:x86MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器MOT配置详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......