风险防不胜防?看YashanDB如何守护你的数据库安全(上)

本文涉及的产品
访问控制,不限时长
数据安全中心,免费版
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 数据库作为信息系统的核心,不仅承载着海量的关键数据,还负责向各类用户提供高效、可靠的信息服务,数据库的安全性显得尤为关键,已成为信息安全体系的重中之重。

  数据库作为信息系统的核心,不仅承载着海量的关键数据,还负责向各类用户提供高效、可靠的信息服务,数据库的安全性显得尤为关键,已成为信息安全体系的重中之重。

  什么是数据库安全?

  数据库安全是数据安全的一个子集,由可以保护数据库免受恶意攻击的安全控制、工具和策略组成。数据库安全是一项复杂的任务,它包括对数据本身、管理数据的数据库管理系统以及使用数据的应用程序等等的保护。最终目标是保护企业或组织的信息的机密性、完整性、可用性(CIA)和可审查性等。

  数据库面临哪些风险?

  基于互联网的攻击、软件配置错误、漏洞、粗心或误用模式都可能导致数据库安全风险,以下是企业和组织常见的安全风险:

  威胁风险缓解措施

  权限过高、员工账号被盗用敏感数据容易从内部泄露。双因子身份认证、强制访问控制、三权分立、复杂的口令策略

  使用错误弱口令或账号共享等,口令容易被字典爆破、恶意行为无法被准确审计。复杂的口令策略、黑白名单、权限最小化等

  勒索攻击计算机本身可能被锁定,或者计算机上的数据可能被加密而无法使用。备份加密等

  SQL注入当威胁参与者将恶意代码注入基于 Web 的前端应用程序时会发生这种情况。 该代码可以传递到后端数据库,并为威胁行为者提供对数据库中存储的所有数据的访问权限。黑白名单、权限最小化等

  DDos攻击DDoS 攻击可能会减慢数据库服务器的速度或使其对最终用户不可用。结果是用户体验很差,并且数据库备份的成本非常高。连接监听、黑白名单等

  数据库配置错误威胁行为者积极寻找可利用的错误配置。 使用默认设置运行的数据库对于威胁行为者特别有用,可以更轻松地侵入这些帐户。安全审计等

  缓冲区溢出攻击可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。漏洞扫描等

  审计缺失或者薄弱许多监管实体要求组织自动记录和注册数据库事件。 跟踪这些事件可以提供审核跟踪,使安全团队、数据库管理员和外部审核员能够进行调查,以确保数据库中存储的数据得到适当的保护。安全审计等

  软件漏洞黑客通过查找和瞄准各种软件(包括数据库管理软件)中的漏洞来谋生。漏洞扫描等

  API漏洞攻击能导致恶意攻击者利用这些漏洞来获取未授权的访问、篡改数据、拒绝服务等恶意行为。安全审计、权限最小化等

  对备份的攻击可能从备份数据中盗取敏感数据,或者破坏备份数据等。备份加密等

  数据库面对哪些监管要求?

  当这些风险发生时,给企业带来的处除了经济损失、品牌声誉受损等等之外,还会面临监管处罚。国家监管部门为数据安全和数据库安全制定相关的法律、法规和标准,并负责统筹协调网络数据安全和相关监管工作。

  与之紧密相关的法律框架可简单概况为“三法两条例”:包括《网络安全法》、《数据安全法》、《个人信息保护法》和《关键信息基础设施安全保护条例》、《网络数据安全管理条例》,除此之外,还包括密码相关的法律法规和标准。

  国家相关部门通过制定统一的管理和测评规范,为企业的安全合规提供指引和保障,主要可以概况为“三保一评”,分别是等保、关保、分保和密评。YashanDB按照国家各项标准的要求实现数据库安全功能,对客户的等保、关保和密评提供有效的支持。

  编号标准名称场景

  1GB/T 22239--2019 《信息安全技术 网络安全等级保护基本要求》等保

  2GB/T 39204-2022 《信息安全技术 关键信息基础设施安全保护要求》 关保

  3GB/T 39786--2021 《信息安全技术 信息系统密码应用基本要求》密评

  4GB/T 35273--2020 《信息安全技术 个人信息安全规范》通用

  5GB/T 37988-2019《数据安全能力成熟度模型》通用

  6GB/T 20273-2019《信息安全技术 数据库管理系统安全技术要求》EAL4

  7GB/T 39335-2020《信息安全技术 个人信息安全影响评估指南》通用

  8 《信息安全技术 数据安全风险评估方法》征求意见通用

  数据库安全架构包括哪些?

  用户数据存储在数据库中,处于数据安全被保护的核心,根据纵深防御的思想,应该以数据库为中心,应设置分层保护、多重验证、多重检测等技术措施,以增加攻击的复杂性和成本,从而降低被攻击成功的概率。

  YashanDB的安全机制总体上可以分三个层次,包括:访问管理、威胁检测和数据保护。

  访问管理采用良好的身份认证、访问控制和反入侵等措施;

  威胁检测由统一安全审计和漏洞扫描构成;

  数据保护通过加密、密钥管理、安全销毁和备份恢复实现。

1.jpg

  (一)访问管理

  • 身份认证

  身份认证是对登录数据库的用户的身份鉴别。身份认证的机制包括:口令认证、操作系统认证、双因素认证。

2.jpg

  1、口令认证:

  1)存储在数据库表中的密码字段:这是在创建或修改用户时所设置的密码,这类密码与用户信息一同记录。

  2)存储在数据库服务器上的密码文件:为系统用户SYS所设置的密码,这类密码脱离于数据库表,可满足数据库处于非open状态时的登录认证。

  为了保障密码安全,启用密码强度控制,在密码设置时要求满足一定的复杂度要求。

  为了保障用户口令的安全,YashanDB采用如下的安全策略:

  1)启用密码强度控制,在用户设置口令时要求满足一定的复杂度。同时在服务端存储凭证时,采用加盐等安全策略,可有效避免各种恶意攻击。

  2)在口令认证的过程中,采用有效的密码策略,对用户的登录行为和属性进行判断并作出相应的动作,包括:

  a. 为防止恶意攻击者反复登录尝试猜出密码,当用户因为密码错误连续登录失败达到阈值时,将被锁定一定时间。

  b. 用户长时间使用同一密码会影响数据库安全,因此系统对于密码的生命长度进行限制。

  c. 系统在用户登录过程中发现密码已使用超过限制天数时,将进行额外宽限期处理,并打印告警日志提示。宽限期过后,该密码完全过期,客户端提示用户输入新密码,用户可以立即更新密码。

  d. 为防止用户长时间使用相同密码,用户在设置新密码时还需要满足密码复用限制,不允许复用一定时间内使用过的密码以及最近变更次数内使用过的密码。

  2、操作系统认证:

  操作系统认证指的是,当用户属于操作系统的YASDBA用户组,从本地登录(UDS)时可免密登入,它的优点是避免在使用过程中多次连续输入口令,方便管理员的操作。更为重要的是,可以避免在一些执行脚本中暴露管理员的口令。

  3、双因素认证

  YashanDB根据国家标准GB/T 15843《实体鉴别》第2部分和第3部分的要求,通过智能密码钥匙对管理员进行双因素认证。

  安全管理员使用数据库自带的工具进行初始化,并创建个人证书,然后安装个人证书到数据库服务端的配置目录下。

  当数据库管理员登录时,除了输入口令外,还需要通过智能密码钥匙对鉴别信息进行签名。对于服务器既要验证口令,还需要通过个人证书进行签名的验签,只有两者同时验证通过了,登录才能成功。

3.jpg

  • 访问控制

  访问控制是一种确保数据处理系统的资源只能由经授权实体以授权方式进行访问的手段。常见的访问控制的模型,包括自主访问控制DAC、基于角色的访问控制RBAC、基于属性的访问控制ABAC等等。YashanDB实现了基于角色的访问控制(RBAC)和基于标签的访问控制(LBAC)。

  1、RBAC

  YashanDB定了如下的特权和角色:

  系统特权通常仅由管理员授予的系统定义权限。 这些权限允许用户执行特定的数据库操作。

  对象特权一种系统定义的权限,用于控制对特定对象的访问。

  角色存在一些系统定义的角色,但大多数是由管理员创建的。

  三权分立是对数据库管理人员的职责划分,目的是使不同的管理职位各司其职,行使不同角色,互相限制和监督,保障系统整体安全。三种管理员权限应该互相独立,包括:

  1)安全管理员,只具备管理角色(Role)或用户(User)以及为其他账号授予权限的权限

  2)审计管理员用户,拥有AUDITADMIN能力,即审计策略和审计日志管理权限

  3)数据库管理员,只具备DDL等权限等


4.jpg

  2、LBAC

  LBAC是强制访问控制的一种实现,在GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》和《数据库管理系统安全技术要求》中对强制访问控制有着明确要求。

  主要的强制访问控制模型是BLP模型,该模型实现了信息的单向流通,即信息只能从低安全等级向高安全等级流通。

  YashanDB实现了LBAC强制访问控制,强制访问控制是根据用户的安全标签以及数据的敏感性标签来控制数据访问。标签安全在自主访问控制之外增加了一层保护。

  在表中添加一个标签(label)列,当在新建、插入和修改数据表时,同时在该列中写入对应的标签(label)值,代表当前行数据的敏感值。同时对于每个用户设置一个标签(label)值,代表用户的敏感属性。当用户访问数据库时,通过比较用户的 Label 和数据的 Label值,达到约束主体(用户)对客体(表中的数据)访问的目的,实现了基于LBAC策略对数据库中的表提供行级安全控制功能。

  LBAC由策略、组件、标签构成。策略是一种预定义标记组件,由等级(level)、范围(compartment)和组(group)构成,从3个不同的维度对数据进行描述,其中等级在策略中是必须存在的,范围和组可以缺省。

5.jpg

  YashanDB安全管理员可以创建安全策略、定义策略中的 Label、设置用户关联策络的读写label信息。一个安全策略可以应用到多张表上,一张表也可以应用多个安全策略。

  • 反入侵

  数据库反入侵是保护数据库免遭未经授权的访问、恶意活动等等。其中黑白名单是抵御恶意软件和有针对性的攻击的一种必要的手段。

  YashanDB支持黑名单和白名单,白名单以外的用户都不能访问数据库。黑名单以内的用户都不能访问数据库,如果二者冲突则以黑名单优先。通常的配置形式如下图所示:

  参数名称意义解释

  TCP.VALIDNODE_CHECKING白名单是否生效值如果是yes表示生效,其它都为不生效。

  TCP.INVITED_NODES白名单IP范围:user1@127.0.0.1/32,

  当掩码32,表示单个IP,否则是对应子网IP段

  TCP.BLACK_NODES黑名单是否生效值如果是yes表示生效,其它都为不生效。

  TCP.BLACKNODE_CHECKING黑名单IP范围:user1@127.0.0.1/32,

  当掩码32,表示单个IP,否则是对应子网IP段

  此外,YashanDB采用连接监听机制检测诸如连接风暴类的网络攻击。YashanDB通过记录监听日志的方式实现此功能。监听日志中记录了包括时间戳、用户、连接状态、IP、端口等连接信息(成功或失败的连接均被记录),通过查看这些信息可以帮助用户快速分析连接来源,并对恶意攻击立即做出反应,保护系统的安全。

  今天主要详细讲讲数据库安全机制中访问管理~下一篇文章,我们会继续深入聊聊威胁检测以及数据保护📖敬请期待!

目录
打赏
0
0
0
0
41
分享
相关文章
风险防不胜防?看YashanDB如何守护你的数据库安全(下)
YashanDB语法上支持权限审计、行为审计和角色审计,逻辑上包括了系统级、语句级、对象级进行审计,支持对指定用户或所有用户进行审计,并支持对系统权限进行审计。审计记录保存在物理表中,拥有AUDIT_ADMIN或AUDIT_VIEWER角色权限的用户可以通过审计视图UNIFIED_AUDIT_TRAIL查看审计日志信息.
|
12天前
|
风险防不胜防?看YashanDB如何守护你的数据库安全(下)
YashanDB语法上支持权限审计、行为审计和角色审计,逻辑上包括了系统级、语句级、对象级进行审计,支持对指定用户或所有用户进行审计,并支持对系统权限进行审计。审计记录保存在物理表中,拥有AUDIT_ADMIN或AUDIT_VIEWER角色权限的用户可以通过审计视图UNIFIED_AUDIT_TRAIL查看审计日志信息。
20 2
【YashanDB知识库】ycm托管数据库时报错OM host ip:127.0.0.1 is not support join to YCM
总之,解决“OM host ip: 127.0.0.1 is not supported to join to YCM”的关键在于理解集群管理对IP地址的使用要求,并据此做出相应的配置调整,确保集群的稳定性和数据一致性。
30 1
"守护数据王国,揭秘SQL权限管理与安全配置秘籍!从创建用户到加密技术,全方位打造铜墙铁壁,让你的数据库安全无忧,远离黑客侵扰!"
【8月更文挑战第31天】数据库是信息系统的核心,存储了大量敏感数据,因此确保其安全至关重要。本文详细介绍了SQL权限管理与安全配置的方法,包括理解权限类型、创建用户和角色、分配权限、实施密码策略、使用加密技术、配置防火墙、定期审计备份及防止SQL注入等,帮助你全面保护数据库安全。通过这些步骤,你可以有效管理和配置数据库权限,防范潜在威胁,确保数据隐私和完整性。
123 0
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
96 0
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
64 3
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
86 3
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
97 2
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
294 15

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等