如何评估数据库的安全风险
数据如今已经成为企业最重要的资产之一。企业通常将数据存储在数据库中,因此了解如何保护这些数据至关重要。
本文将介绍从1到10的等级范围内量化数据库的安全级别。首席信息安全官和数据库管理员(DBA)可以使用它来确定他们的安全成熟度等级,并确定进一步改进的步骤。好买网
查找数据库安全等级
1到10级的安全等级,1级是最低安全等级,10级是最高安全等级。所有安全等级的内容都是累积的,因此每个等级都包含先前评等级的所有要求。
安全等级的顺序反映了安全性的增加以及成本和复杂性的增加。虽然无需额外软件即可实现较低等级,但实现更高的安全等级变得越来越困难,并且需要合适的产品。GOODMAI
1.没有额外的安全措施
等级1适用于不安全的数据库。这些数据库都提供了固有的安全级别,没有额外的安全措施。例如,他们需要凭据才能连接并拥有角色和特权。管理数据库中的数据是确保数据安全的第一步。
2.标准安全和最低权限
等级2适用于数据库和操作系统均按照行业标准和最佳实践进行配置的数据库。
这个等级还要求所有数据库帐户的权限最低,这意味着授予帐户的权限是履行其职责所需的最低权限。
作为等级2要求的一部分,应该努力消除共享帐户。如果存在共享帐户,则不应经常使用它们,并且它们的凭据应保密。
对于内置于数据库中的特权共享帐户,限制使用尤其如此。Oracle公司中的SYS和SYSTEM或SQL-Server中的SA等数据库帐户不应经常使用,它们的密码应安全保存并限制访问。
例如,当应用程序使用特权帐户或共享帐户是企业运营方式的一部分时,这一要求可能具有挑战性。减少和控制这些帐户的使用对于安全至关重要。
3.变更控制和元数据快照
等级3适用于受变更控制的数据库。这意味着对元数据(例如用户、权限、配置和对象)的任何更改都应经过更改控制批准流程。
作为等级3要求的一部分,需要制作配置、用户、权限和对象元数据的每日快照。应及时调查和批准快照之间的更改。
此外建议将这些快照与类似数据库进行交叉比较,以确保一致且统一的配置、用户、权限等。
变更控制的挑战在于它可能很麻烦并且被视为无用的繁文缛节。然而,缺乏对元数据更改的控制很快就会变成对数据的缺乏控制。
4.会话监控和审查
等级4适用于所有登录都受到监控和定期审查的数据库。企业应该及时调查来自意外用户、程序或机器的登录。
破坏数据库安全的最简单方法之一是窃取凭证。例如,窃取数据库管理员(DBA)用户名和密码将授予攻击者对数据的无限制访问权限。监控登录可以降低这种风险。
大多数数据库允许以最小的开销审计登录和失败的登录。实施挑战是通过报告提供对信息的有效审查。
5.基本的SQL审计(DDL&DML)
等级5适用于定期记录、报告和审查高风险SQL活动的数据库。
高风险SQL活动包括:
所有DDL(包括DCL)——修改数据库配置、对象、用户、权限等的SQL。
来自意外来源的DML,例如特权用户和特定程序。
该要求的目的是对不频繁和高风险的活动实施控制。审核罕见的活动通常不会产生性能开销,并且需要最少的时间投入。实施方面的挑战是允许对活动进行及时有效的审查。
6.完整的SQL审计和网络加密
等级6适用于接受全面SQL审计的数据库,其中所有具有潜在风险的SQL活动都会定期记录、报告和审查。
这将转化为审计大量活动,包括查询。例如:
使用查询和DML访问敏感表。
所有的数据库管理员(DBA)和特权用户活动。
来自高风险程序(例如SQL Plus、Management Studio等)的所有活动。
不是来自应用程序服务器的应用程序帐户的活动。
即使在数据库内部由存储过程或触发器执行的敏感活动。
等级6还要求所有数据库网络活动完全加密,以防止网络嗅探和欺骗。这一要求的目的是开始对SQL活动应用严格的安全措施,并防止许多网络攻击。
在大多数数据库中,网络活动的加密措施是免费内置的,并且很容易开启。这一要求中的主要实施挑战是在没有适当解决方案的情况下审计过多活动,这可能会对数据库性能产生重大影响。第二个挑战是实现高效的报告,以最少的时间投入及时审查信息。
在搜索审计解决方案时,需要注意某些产品没有避免数据库性能开销,而其他产品不支持网络加密。
7.会话异常检测和告警
等级7适用于对异常活动源进行自动检测和警报的数据库。与等级4中执行的人工会话审查不同,这一等级需要能够检测活动源配置文件变化并发出警报的自动化。
其中包括:
对连接到数据库的新用户、程序、机器或它们的组合发出警报。
检测共享帐户(多个个人使用的帐户)以及使用多个帐户的个人。
这个要求的目的是通过自动化来补充人工审查,以注意到并突出异常活动。这有助于避免意外疏忽,并确保快速检测和响应。实施需要适当的解决方案来执行分析。
8.SQL异常检测与告警
等级8适用于对异常SQL活动进行自动检测和警报的数据库。与等级5和等级6中的人工SQL审查不同,等级8需要能够分析数据库中所有SQL活动(包括应用程序活动)的自动化。
其中包括:
异常的应用程序行为,例如潜在的SQL注入。
异常活动水平。例如,执行的SQL数或访问的行数异常多。
在一天中的奇数时间进行活动。
涉及敏感表新的SQL。
这一要求的目标远远超出了避免意外疏忽和改进检测时间的范围。其目的是对无法接受人工审查的数据库中不可能高的活动量进行控制。
即使是低活动的数据库每天也可能执行数百万次SQL查询,如果没有实现自动化,就不可能对它们应用任何级别的控制。实施需要能够以低开销捕获所有活动并执行分析的软件。
9.主动取证审查
等级9适用于定期进行主动活动审查的数据库。这意味着熟悉数据库活动概况的人员会定期检查活动(例如每月一次)。
取证审查的目的是识别可能未被发现的行为,包括内部滥用和外部攻击。此外还可以突出控制、风险做法等方面的差距。
实施取证审查需要一个解决方案,能够以最小的开销捕获所有活动,减少并将其存储在合理数量的磁盘空间中,并提供取证工具来分析和审查它。
10.限制对DBA和应用程序的访问
等级10适用于限制访问帐户的数据库,否则对数据的访问不受限制,例如数据库管理员(DBA)帐户、特权帐户和应用程序帐户。
此类限制通常不是原生数据库功能的一部分,可能包括:
防止特权帐户访问他们不应访问的模式、表或对象。例如,数据库管理员(DBA)帐户通常不应访问数据。
防止不应访问的程序或机器访问该帐户。例如,只有应用程序和应用服务器才能访问应用帐号。
防止在不应该使用帐户的日子和时间访问帐户。
防止帐户访问超出预期的数据(速率限制)。
通过要求安全人员预先授权某些特权活动来强制分离职责。
这个要求需要一个解决方案来实施,因为它超出了内置的数据库预防控制。对数据库应用预防控制会带来阻止合法活动的操作风险。因此,必须按照适当的最佳实践谨慎地部署此类措施,以最大程度地减少中断的可能性。
如何评估数据库的安全风险相关推荐
- 如何评估数据库的安全风险?
如何评估数据库的安全风险?数据如今已经成为企业最重要的资产之一.企业通常将数据存储在数据库中,因此了解如何保护这些数据至关重要.本文将介绍从1到10的等级范围内量化数据库的安全级别.首席信息安全官和数 ...
- OpenShift Security (5) - 评估部署中的风险
<OpenShift 4.x HOL教程汇总> 本文在 OpenShift 4.9 和 RHACS 3.67.1 环境中进行验证. 文章目录 和部署风险相关的指标 违反安全政策情况 可疑的 ...
- 第十八章——基于策略的管理(1)——评估数据库属性
原文: 第十八章--基于策略的管理(1)--评估数据库属性 前言: 本章包含: 1.评估数据库属性 2.限制数据库对象 介绍: 基于策略的管理(PBM)能帮助DBA管理一个或多个实例,并通过PBM管理 ...
- 【中亦安图】关于数据库文件损坏风险的提醒(3)
第一章 技术人生系列 · 我和数据中心的故事(第三期)-中亦科技关于数据库文件损坏风险的提醒 中亦安图 | 2016-01-19 21:38 前言 小y最近处理了几起Oracle数据库文件损坏的cas ...
- ava查询mysql的数据_【技术综述】AVA-第一个大规模的美学质量评估数据库
本文首发于微信公众号<与有三学AI> 不知道你有没有读过笔者之前发过的一篇文章? <干掉柯洁的下一步,阿尔法狗创始人又要毁掉这个行业(深度学习)> 文章在在公众号和知乎专栏都有 ...
- 评估数据库存储引擎的黄金三角
存储引擎的特点千差万别,各具特色.但总体上我们可以通过三个变量来描述它们的行为:缓存的使用方式,数据是可变的还是不可变的,存储的数据是有顺序的还是没有顺序的. 缓存形式 缓存是说存储引擎在数据写入的时 ...
- 数据库架构优化的12种组合方式与风险解读
韩锋 阿里云高级产品专家 dbaplus社群联合发起人,CCIA(中国计算机协会)常务理事: Oracle ACE,具有丰富的一线数据库架构.设计.开发经验,著有<SQL优化最佳实践>&l ...
- JGG:青岛大学苏晓泉团队利用条件致病菌指数评估环境微生物风险
评估环境中条件致病菌的风险程度并了解其传播途径是公共健康中最为重要的环节之一.之前研究虽然已经发现针对特定疾病的微生物标记,并建立基于微生物组的诊断方法,但对复杂微生物组群落致病性的全面综合量化(例如 ...
- 信息安全管理与评估_信息安全管理06_定性信息安全风险评估方法
定性信息安全风险评估方法常用于专业安全评估团队对特定系统或平台的安全评估中,本文就以安全评估项目过程为主线,从评估准备.现状调研.现状分析.检查与测试.分析评价.评估报告六个阶段步骤,来介绍定性信息安 ...
最新文章
- python代码打印二叉树某一特定层的节点
- Xcode 7中Static Cells自动计算高度失效的解决方法
- Ansible搭建hadoop3.1.3高可用集群
- 虚拟现实技术利用计算机,虚拟现实技术在计算机教学的应用
- Ubuntu下使用pjsip点对点通话
- asp.net core 实战之 redis 负载均衡和quot;高可用quot;实现
- poj 2486 树形dp
- pythongui界面复选框数值选择并求和_如何使用Python从图像中分离复选框按钮和复......
- Python内置四大数据结构之字典的介绍及实践案例
- Android开发之——依赖冲突Program type already present
- 自助图书馆系统-Tkinter界面和openpyxl表格综合设计案例
- 求勾股数c语言OJ,C语言求勾股数(详解版)
- 对《骨骼运动变换的数学计算过程详解》一文的理解
- vray渲染出图尺寸_3DMax渲染出图尺寸怎么设置?
- [COGS2652]秘术「天文密葬法」-长链剖分-01分数规划
- 才智杂志社才智杂志才智编辑部2022年第36期目录
- prometheus监控预警之AlertManager邮箱报警
- Markdown Day01
- 白加黑加载方式_AVG中国实验室发现“白加黑”型恶意程序
- NFT自由人数字艺术藏品有收藏价值吗?
热门文章
- 电视墙解码服务器不在线,电视墙服务器有多少个功能?
- RuntimeError: wrapped C/C++ object of type QPushButton has been deleted
- ETL的灵魂:调度系统
- 湖南科技超级计算机,创新造就湖南 科技改变未来|走近“天河二号”!世界最快的“超级计算”...
- QT 修改图片透明度
- NHK Easy News 翻译 12月23日-3
- [业界动态]瑞萨发布用于手机开发的SH-MobileJ2多媒体加速器平台(转载)
- Vue2开发购物街项目总结
- 自动抽芯铆钉枪如何使用?
- java模拟加速匀速减速_Android学习之 动画加速减速 匀速控制