数据库安全层
数据库安全性分为三个主要层:
数据库层 接入层 周边层
下表提供了所有三个安全级别的说明:
安全层 | 描述 | 首要目标 | 常用技巧 |
---|---|---|---|
数据库层 | 保护数据库中存储的数据 | 确保只有授权用户访问和修改存储的文件 | 活动监控、标记化、数据脱敏和加密 |
接入层 | 保护用于访问数据库的机制 | 确保每个访问请求都经过身份验证和授权 | 实施难以猜测的密码、2FA和权限控制 |
周边层 | 保护连接到数据库的网络 | 监控传入流量是否存在可疑活动迹象 | 防火墙、VPN、IDPS 和网络分段 |
数据库安全最佳实践
保护数据库免受威胁需要结合采取不同的措施。这里总共有 15 个最有效的数据库安全最佳实践来保护您的存储系统。
1. 确保物理数据库安全
无论数据库服务器位于现场服务器机房还是云提供商的数据中心,设备都必须驻留在安全、气候受控的环境中。
如果您依赖第三方提供商进行托管,则您将外包与物理安全相关的所有措施。如果您管理本地数据中心,请通过以下方式保护数据库服务器:
锁。
云端视频监控。
专职保安人员。
不间断电源(UPS)。
消防系统。
适当的冷却系统。
记录对服务器的所有物理访问,并确保只有少数人有权配置设备。
2.使用2FA和MFA
到 2022 年,超过 67% 的数据泄露事件至少涉及一组泄露的凭证。您不应使用仅需要密码即可登录的有风险的单因素身份验证 (SFA) 方法,而应使用:
默认用户的双因素身份验证 (2FA)。
管理员帐户的多重身份验证 (MFA)。
对于最敏感的数据库来说,对所有用户使用 MFA 是一个流行的选择。您还应该通过仅允许经过验证的IP 地址访问文件来增强数据库安全性(增强数据库保护的多种端点安全措施之一)。
重要提示:使用 2FA 和 MFA 并不能消除对难以破解的密码的需要。了解如何创建易于记忆且不易猜测的强密码。
3. 强制执行最小特权原则
有权访问数据库的实际最小用户数。有权访问的人越少,保护文件就越容易。
将相同的原则应用于各个数据库元素以及员工可以对文件执行的操作。每个帐户只能访问所需的表和操作(例如 SELECT 或 INSERT)。同样的逻辑也适用于非人类账户,包括:
守护进程。
服务帐户和主体。
应用程序用户帐户。
您还应该依赖零信任安全性。每次有人发出访问请求时,该模型都会验证身份和设备合规性。
4. 防止SQL注入
SQL注入主要有两种:
经典 SQLi(黑客向数据库发送命令并从输出中收集结果)。
盲目 SQLi(黑客提出正确或错误的问题并评估应用程序响应以获得答案)。
您的团队应采取以下措施停止这两种类型的注射:
参数化查询。
输入验证。
用户输入的净化。
Web 应用程序防火墙 (WAF)。
注意:我们关于SQL 注入的文章深入探讨了如何识别和有效防止此类网络攻击。
5.使用代理服务器
代理服务器在将请求发送到数据库服务器之前检查请求。如果有人发送虚假流量或恶意请求(即 SQL 注入或受勒索软件感染的可执行文件),代理服务器将包含影响并隔离威胁。
虽然有些公司使用基于 HTTP 的代理服务器,但您应该设置 HTTPS 服务器来保护包含敏感信息的数据库。HTTPS 服务器对所有数据进行加密,为数据库提供了额外的安全层。
6. 维护数据清单(或地图)
存储大量数据的公司通常不知道文件所在的确切位置以及如何保护它们的安全。为了避免这种情况,请维护一份详细的清单,其中注明以下内容:
每个数据集驻留在哪里(以及处于什么状态)。
哪些员工、帐户和应用程序可以访问文件。
您使用什么措施来保护个人数据集。
清单有助于更好地管理您的数据库安全工作,还有助于:
风险管理。
业务影响分析 (BIA)。
监管合规性。
修补优先级。
或者,创建数据地图以实现与清单相同的目的(或同时使用两者)。
此外,定期进行访问审查,以确保随着团队的成长和启动新项目,数据库权限没有缺陷。这些审查使安全团队能够删除旧的和不必要的权限。
7. 保持数据库服务器和 DMS 平台最新
始终使用最新版本的 DMS。一旦供应商发布补丁(服务包、安全修补程序、累积更新等),请立即应用它们,以确保犯罪分子没有时间利用漏洞。
保持 DMS 最新的另一个好处是可以提高数据库性能的稳定性。
良好的补丁卫生也适用于所有有权访问数据库的应用程序和系统。如果具有过时且易受攻击的插件的应用程序可以直接访问文件,那么高级别的数据库安全性将无济于事。
8.充分利用加密
使用静态加密来保护数据免遭盗窃、网络间谍和泄露。加密使黑客和恶意内部人员(即没有解密密钥的任何人)都无法读取文件。
您还应该使用传输加密来保护文件在不同系统之间移动时的安全。确保与数据库的所有连接都使用 TLS 加密。
重要提示:在开始加密业务数据之前,请了解密钥管理和最佳实践。
9.多次登录尝试后自动锁定
如果用户多次输错密码,数据库服务器必须自动锁定该帐户,防止其再次尝试登录。您可以:
将帐户锁定预定的时间段。
指示用户联系安全团队以重新获得对数据库的访问权限。
有人多次输入错误的密码是基于密码的攻击的迹象。限制攻击者在这种情况下的尝试次数对于将他们排除在数据库之外至关重要。
10.隔离数据库
避免将数据库与应用程序(甚至其他数据库)保留在同一服务器上。虽然将所有内容都保存在一台服务器上更容易、更便宜,但这种策略会产生各种漏洞,使数据面临风险。
作为额外的预防措施,请使用软件定义的边界 (SDP)。此措施隔离数据库,以防止其出现为任何特定用户网络的一部分。这样,入侵者就很难通过横向移动来定位和访问数据库。
11. 运行渗透测试
雇用有道德的黑客对您的数据库进行渗透测试。不要让内部团队提前了解测试,而是看看员工和数据库如何经受住真实的攻击模拟。
偶尔执行渗透测试有助于发现团队在无压力分析过程中可能忽略的漏洞。此类测试对于所有类型数据库的安全至关重要。此外,通过定期漏洞评估来补充渗透测试的发现。
12.创建定期数据备份
对数据库中的所有文件执行定期数据备份。遵循 3-2-1 备份规则:
创建数据的三个副本。
使用两种不同类型的存储。
将一份副本存储在异地位置(例如,在云中)。
如果数据库中的文件出现任何问题(不需要的编辑、意外删除、恶意软件加密数据等),您可以从最新的备份中恢复信息并避免数据丢失。通过以下方式确保恢复过程快速且无错误:
定期测试可确保您备份的数据不会损坏。
灾难恢复计划概述了数据发生问题时团队应采取的具体步骤。
注意:作为额外的预防措施,请使用不可变的备份,这是公司应对勒索软件威胁的最有效方法之一。
13.使用实时数据库监控
所有主要数据库平台都具有内置的监控和日志记录功能。使用这些工具来保存日志:
谁以及何时访问数据库。
数据库中所有与数据相关的活动(编辑、删除、添加新信息等)。
登录尝试失败。
连接到数据库的所有设备。
为数据库活动提供附加上下文的信息(例如,网络连接、身份验证、字节输入/输出、内存使用情况等)。
请记住,您对数据库泄露的反应越快,您限制爆炸半径的时间就越多。使用以下方法来加快对威胁的反应:
文件完整性监控 (FIM): FIM 记录在数据库服务器上执行的所有操作。当 FIM 检测到可疑更改时,平台会立即向安全团队发送警报。
安全信息和事件监控 (SIEM):实时 SIEM 可帮助安全团队在发生数据库泄露企图时立即采取行动。
设置基于行为的监控规则,帮助检测异常用户活动,例如进行过多编辑或在可疑时间登录。
14. 制定严格的控制和政策
制定严格的全公司政策,规定团队使用和管理数据库的方式。定义并记录以下三个规则集:
管理安装、更改和配置管理的管理控件。
管理访问、加密和屏蔽规则的预防性控制。
检测控制控制团队如何监控数据库活动并使用数据丢失防护工具。
将您的数据库安全策略与其他网络安全策略(例如,您的云安全策略)集成。
通过组织定期意识培训计划,确保每个人都了解您的政策。此类活动也是向员工介绍最新网络安全最佳实践和威胁的机会。
15.使用防火墙监控数据库流量
使用防火墙保护您的数据库服务器免受基于流量的威胁。防火墙扫描所有传入和传出流量是否存在恶意数据包的迹象,并阻止数据库启动不必要的出站连接。
正确配置防火墙以避免安全漏洞。此外,请确保团队使防火墙保持最新状态并安装最新补丁,以跟上潜在的黑客攻击。
大多数重视安全性的公司都会部署不止一种类型的防火墙。在大多数情况下,这四种足以保护您的数据库免受所有基于网络的威胁:
包过滤防火墙。
状态数据包检查。
代理服务器防火墙。
Web 应用程序防火墙 (WAF)。
注意:了解不同类型的防火墙,并了解哪些最适合数据库安全需求。
结论
实施上述数据库安全最佳实践对于保护业务数据至关重要。如果没有这些预防措施,您的公司就会对日常运营和利润承担太多不必要的风险。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...