安全能力
高安全性¶
为更好满足军队、军工、政府、金融行业、保险行业及电信行业等涉密部门的高安全要求,SeaboxSQL数据库自主研发了完全符合国家安全数据库标准GB/T20273-2019技术要求的相关功能与机制,并通过中国电力科学院数据库产品安全功能检测。
SeaboxSQL数据库具备的安全能力包括以下部分。
强化身份鉴定¶
SeaboxSQL数据库支持基于强化口令的身份鉴别,它包括对数据库用户施加口令复杂度检查、帐户和口令有效期限设置、帐户锁定等安全管理。同时也支持基于操作系统认证,Kerberos、Radius、LDAP认证协议和CA等技术在内的与第三方身份认证产品相结合的外部统一身份鉴别或集中化身份认证方式。
通过强化身份鉴别与SSL安全传输相结合,SeaboxSQL数据库建立了服务端与客户端的可信路径安全通道,实现了双向可信认证,杜绝假冒用户身份或者假冒数据库服务器的恶意行为,并进一步防范这些恶意行为可能引发的重放攻击。
管理特权分立¶
普通数据库系统的用户权限划分只有三种,即数据库管理员和数据对象属主用户以及被对象属主直接或间接授权的其他用户。管理员用户具有先天的管理数据库所有数据对象的特权,而属主用户和普通用户没有特权。在这种机制下,管理员权限过大,不符合安全系统的“最小特权”原则。攻击者只要获得管理员的用户身份,便可完全控制整个数据库系统,则后果不堪设想。
针对上述问题,SeaboxSQL数据库对管理员的权限进行了分割与限制,提出一种基于特权分立的全新管理模式,即采用安全角色机制对管理员用户的特权进行分割的三权分立机制。
除日常数据库系统管理员(DBA)角色外,还单设了安全管理员(SSO)角色和审计管理员(SAO)角色。这三个角色相互排斥,各行其责,相互制约。一个用户最多拥有其中的一个角色,每个角色只能执行相应的管理与维护任务。这种方式实现数据库管理权限的合理分配和使用,避免以往管理员权限的滥用。
三个角色的主要职责权限划分如下:
-
DBA负责与数据库系统维护有关的管理操作,以及自主访问控制赋予、撤销用户的客体访问权限或系统权限等工作。
-
SSO负责与强制访问控制有关的操作,主要是生成/删除安全策略,赋予、撤销用户的安全标记等。
-
SAO负责审计子系统的开启和关闭,查阅、分析和管理审计记录,设置和取消审计配置。
强制访问控制¶
SeaboxSQL数据库按照Bell-LaPadula安全保密模型,并基于实用性和灵活性的考虑对强制存取模型策略进行了扩充。所谓强制访问控制是指主体用户对数据库客体对象访问的安全策略是由系统强制实施的,任何用户都无法突破系统定义的强制安全策略而非法访问未授权的数据库客体对象。与自主访问控制不同的是,强制访问控制由安全管理员管理而不是数据对象属主,并它直接在受控主客体上施加安全标记,而不再从ACL中获取权限信息。
主客体敏感标记是由数字化的安全等级和集合型的安全范围组成。标记是被定义于策略中的,系统支持多策略定义。在对数据对象应用了策略后,就可以对其中的数据设置安全标记。通过访问操作用户和所访问数据的敏感标记的比较结果,仲裁访问行为是否合法。
强制访问控制的客体粒度可控制到记录级或字段级,形成行级或列级强制访问控制。用户操作数据记录时,不仅要满足自主访问控制的权限要求,还要满足用户安全标记与被访问对象安全标记的相容性要求。
SeaboxSQL数据库支持行级或列级的强制访问控制比传统的表级控制粒度更细,可实现不同安全密级的用户操作同一个数据表时,获得不同的安全结果视图的效果,符合“最小特权”的安全原则。
安全审计与分析¶
SeaboxSQL数据库配置了独立的安全审计系统,设置了专门用于存储审计数据的系统表和专门的管理员角色,并对数据操作和用户行为进行全面监控与审计。审计管理员可定义与数据库安全事件相关的审计规则,并能对指定用户和数据表,以及对身份鉴别、自主访问控制、标记、强制访问控制等相关操作进行审计。审计管理员通过相关的审计视图可查询和分析审计记录。实际应用中,如果当前登录用户的操作在审计规则的审计范围内,则将触发系统生成一条审计记录。
- 审计类型
SeaboxSQL数据库支持多种类型的审计功能,包括:
-
语句审计,对数据库中执行的SQL语句进行审计。语句审计只针对语句本身,而不针对语句所操作的对象和用户。
-
权限审计,对数据库中的系统权限使用情况进行审计。
-
对象审计,对某个指定对象(表、视图、序列、存储过程、函数等)的某一类操作进行审计。
-
用户审计,对数据库系统中的数据库用户进行审计。
-
策略审计,对强制访问控制的安全策略相关操作,如策略的创建、删除、生效等进行审计。
-
审计记录保护
SeaboxSQL数据库对审计记录提供了多种安全保护措施,充分保证审计系统的可用性和审计记录可信度。
具体包括:
-
只有审计管理员可以查阅审计记录,且包括审计管理员在内的所有用户均不允许对审计记录进行插入和修改。
-
审计管理员无法修改和删除审计记录,只能通过转储方式腾空审计记录空间。转储的审计记录在被自动加密和施加完整性保护后,形成内部保留审计记录,保留审计记录不允许清除。
-
提供可配置的预警机制,以避免审计记录溢出,并保证审计服务的可用性。
-
审计分析
SeaboxSQL数据库的监控管理工具SDMS提供了专门的审计记录分析功能,通过定制和应用相关的审计过滤规则,系统会自动筛选生成与规则相关的审计记录。然后,通过对筛选记录统计分析,可以为数据库系统的安全状况提供量化依据。也提供可视化的审计分析报表,以饼状图和柱状图两种图形方式与表格形式相结合进行展现,能够全方位系统化地展现系统的安全状况。
透明存储加密¶
SeaboxSQL数据库支持存储加密功能,支持采用基于OpenSSL库的AES/SM4对称加密算法的软件加密机制,也支持集成商用密码产品认证的包含AES/SM4对称加密算法的PCIE密码卡的硬件集成加密机制,存储加密对数据库在磁盘上存储的文件进行加密,对数据库的正常读写透明。存储加密对防止数据文件泄露与篡改起到关键作用。
具体能力包括:
- 支持全局加密
可全局设置存储加密,对数据库所有数据文件,包括元数据文件、用户数据文件、WAL日志文件、审计日志、操作日志均进行加密。
- 表级、字段级加密
未设置全局加密时,可在创建表时指定表或字段的加密属性,只对较为关键的用户数据进行存储加密。
-
加密算法指定 支持加密策略制定,支持加密算法选择。
-
秘钥管理 支持对秘钥进行管理,包括秘钥更换等操作。