管理用户、角色和权限-禁止向public用户授予对象权限
配置说明:public用户属于任何用户,为了保障数据库的数据安全,禁止向public用户授予对象权限。配置方法:REVOKEALLONobject_nameFROMpublic;推荐值:无检查方法:SELECT*FROMADM_TAB_PRIVSWHEREGRANTEE='PUBLIC';预期结果:
管理用户、角色和权限-控制拥有GRANT ANY OBJECT PRIVILEGE权限的用户
检查说明:拥有GRANTANYOBJECTPRIVILEGE权限的用户可以将任何对象权限赋予任何用户,需要谨慎授予用户该权限。配置方法:回收用户本身或其继承角色的GRANTANYOBJECTPRIVILEGE权限。REVOKEGRANTANYOBJECTPRIVILEGEFROMuser_name;
管理用户、角色和权限-控制拥有GRANT ANY ROLE权限的用户
检查说明:同时拥有GRANTANYROLE和GRANTANYPRIVILEGE权限的用户可以将系统中任何角色(包括DBA角色)授予其它用户,需要谨慎授予用户该权限。配置方法:回收用户本身或其继承角色的GRANTANYROLE权限。REVOKEGRANTANYROLEFROMuser_name;REV
管理用户、角色和权限-控制拥有GRANT ANY PRIVILEGE权限的用户
检查说明:拥有GRANTANYPRIVILEGE权限的用户可以将任何系统权限赋予任何用户,需要谨慎授予用户该权限。配置方法:回收用户本身或其继承角色的GRANTANYPRIVILEGE权限。REVOKEGRANTANYPRIVILEGEFROMuser_name;REVOKEGRANTANYPRIV
管理用户、角色和权限-控制拥有WITH GRANT OPTION属性的用户
配置说明:拥有WITHGRANTOPTION权限属性的用户可以把对象权限授权给其他用户,需要控制拥有此属性的用户,以保护该数据库数据的安全。不支持收回权限的WITHGRANTOPTION属性,只支持回收整个权限。推荐值:无配置方法:回收用户拥有的某个对象的权限。REVOKEALLONobject_n
管理用户、角色和权限-控制拥有WITH ADMIN OPTION属性的用户
配置说明:拥有WITHADMINOPTION权限属性的用户可以把对应的系统权限授予给其他用户,需要控制拥有此属性的用户,以保护数据库的安全。推荐值:无配置方法:(以SELECTANYTABLE为例)回收用户拥有的某个系统权限。REVOKESELECTANYTABLEFROMuser_name;重新授
管理用户、角色和权限-检查CREATE DB权限
检查说明:拥有CREATEDATABASE权限的用户可以创建数据库,如果用户不需要此权限,进行权限回收。配置方法:回收用户本身或其继承角色的CREATEDATABASE权限。REVOKECREATEDATABASEFROMuser_name;REVOKECREATEDATABASEFROMrole_
管理用户、角色和权限-检查DROP USER权限
检查说明:拥有DROPUSER权限的用户可以删除其他用户,如果用户不需要此权限,进行权限回收。配置方法:回收用户本身或其继承角色的DROPUSER权限。REVOKEDROPUSERFROMuser_name;REVOKEDROPUSERFROMrole_name;推荐值:无检查方法:检查用户本身是否
管理用户、角色和权限-检查ALTER USER权限
检查说明:拥有ALTERUSER权限的用户可以修改其他用户,如果用户不需要此权限,进行权限回收。配置方法:回收用户本身或其继承角色的ALTERUSER权限。REVOKEALTERUSERFROMuser_name;REVOKEALTERUSERFROMrole_name;推荐值:无检查方法:检查方法
管理用户、角色和权限-检查CREATE USER权限
检查说明:拥有CREATEUSER权限的用户可以创建其他用户,如果用户不需要此权限,进行权限回收。配置方法:回收用户本身或其继承角色的CREATEUSER权限。REVOKECREATEUSERFROMuser_name;REVOKECREATEUSERFROMrole_name;推荐值:无检查方法:
管理用户、角色和权限-检查DBA角色
检查说明:DBA角色拥有所有的系统权限,因此需要谨慎使用此角色。建议使用没有继承DBA角色的用户连接数据库。配置方法:回收用户本身或其继承角色的DBA角色。REVOKEDBAFROMuser_name;REVOKEDBAFROMrole_name;推荐值:无检查方法:检查用户本身是否被授予DBA角色
管理用户、角色和权限-检查未知用户
配置说明:未知用户是指创建原因未知的用户。未知用户会威胁数据库安全,因此需要定期检视用户,确认每个用户的用途,并删除不必要的用户,确保不存在未知用户。SYS用户、omm用户、sharding_dba用户和PUBLIC用户,是系统预置用户。SYS用户用于初始创建数据库实例。omm用户是安装完成后自动创
安全加固-数据库配置-管理用户、角色和权限
检查未知用户检查DBA角色检查CREATEUSER权限检查ALTERUSER权限检查DROPUSER权限检查CREATEDB权限控制拥有WITHADMINOPTION属性的用户控制拥有WITHGRANTOPTION属性的用户控制拥有GRANTANYPRIVILEGE权限的用户控制拥有GRANTANY
设置数据库连接-用SSL进行安全的TCP/IP连接
为了保护敏感数据在Internet上传输的安全性,GaussDB100支持通过SSL加密客户端和服务器之间的通讯。前提条件从CA认证中心申请到正式的服务器、客户端的证书和密钥。当前只支持pem格式的SSL证书。(假设服务器的私钥为server.key,证书为server.crt,客户端的私钥为cli
设置数据库连接-配置非鉴权会话老化时间
建立连接需要三步:connect、auth-init、login,非鉴权会话是指没有经过login步骤的会话。为防止客户端恶意DOS攻击,占用服务端会话资源。配置UNAUTH_SESSION_EXPIRE_TIME指定客户端TCP建立完,指定时间不鉴权,服务端强制断开连接。该配置只针对当前实例生效,
设置数据库连接-配置SSL私钥加密密钥
配置说明:数据库配置参数_FACTOR_KEY和LOCAL_KEY需及时更新,以保证SSL私钥加密的安全性。该配置只针对本节点生效,因此在分布式数据库中需要在各个节点分别设置。_FACTOR_KEY只能通过ALTERSYSTEMSET_FACTOR_KEY命令进行修改,不可在zengine.ini文
设置数据库连接-远程连接控制
远程连接控制GaussDB100支持用户通过配置用户白名单、IP白名单、IP黑名单的方式,有效管控远程连接。详情请参见配置客户端接入认证。
设置数据库连接-设置最大连接数
配置说明:配置服务端总的在线连接数,如果最大连接数设置过大,导致服务端进程socket句柄和会话池内存超过操作系统默认配置阈值。建议最大并发连接数设置为200。配置方法:配置全局生效方法如下:gs_gucZenith-c"SESSIONS=200"--scope=pfile重启数据库生效。推荐值:2
设置数据库连接-禁止侦听地址使用“0.0.0.0”和“::”
配置说明:“0.0.0.0”表示侦听所有可用的IPV4地址,“::”表示侦听所有可用的IPV6地址。该配置只针对本节点生效,因此需要在各个节点分别设置。配置方法:在zengine.ini配置文件中修改参数LSNR_ADDR的值为本机IP和127.0.0.1的IP,重启数据库生效。zengine.in
安全加固-数据库配置-设置数据库连接
设置数据库连接为了保护数据库的信息安全,需要对数据库连接进行设置,禁止非法客户端访问数据库。SYS用户禁止远程登入。禁止侦听地址使用“0.0.0.0”和“::”设置最大连接数远程连接控制配置SSL私钥加密密钥配置非鉴权会话老化时间用SSL进行安全的TCP/IP连接为了保护敏感数据在Internet上