数据库服务器
数据库服务器和 Web 服务器之间的功能分离
由于 Web 服务器通常面临更高的威胁环境,在同一操作环境中托管数据库服务器和 Web 服务器会增加数据库服务器被恶意行为者攻击的可能性。通过确保数据库服务器在功能上与 Web 服务器分开,可以减轻这种安全风险。数据库服务器和 Web 服务器在功能上是分开的。
数据库服务器和 Web 服务器之间的通信
数据库服务器和 Web 服务器之间传输的数据(尤其是通过互联网传输的数据)很容易被恶意攻击者窃取。因此,对数据库服务器和 Web 服务器之间传输的所有数据进行加密非常重要。
数据库服务器和 Web 服务器之间传输的数据是加密的。
网络环境
将数据库服务器与用户工作站放在同一网络段上会增加数据库服务器被恶意行为者破坏的可能性。此外,在只能从自己的数据库服务器访问数据库的情况下,允许远程访问数据库服务器会带来不必要的安全风险。
数据库服务器与用户工作站位于不同的网络段上。
实施网络访问控制以限制数据库服务器通信与严格定义的网络资源,例如 Web 服务器、应用程序服务器和存储区域网络。
如果只需要本地访问数据库,则数据库管理系统软件的网络功能将被禁用或指示仅监听本地主机接口。
开发、测试和生产数据库服务器的分离
使用生产数据库服务器进行开发和测试活动可能会导致其完整性或内容意外损坏。开发和测试环境不使用与生产环境相同的数据库服务器。
数据库
数据库注册
如果组织不了解其所有数据库及其内容,则无法适当保护其资产。因此,定期开发、实施、维护和验证数据库登记册非常重要。
数据库登记册定期开发、实施、维护和验证。
保护数据库
通过对数据库文件应用基于文件的访问控制,可以保护数据库免遭未经授权的复制以及随后的离线分析。
基于文件的访问控制应用于数据库文件。
保护数据库内容
数据库管理员和数据库用户应了解与数据库及其内容相关的敏感度或分类。如果数据库的所有内容都具有相同的敏感度或分类,则组织应将整个数据库归类为这一级别并进行保护。或者,如果数据库的内容具有不同的敏感度或分类,并且数据库用户对数据库内容的访问级别不同,则组织应在更细致的级别保护数据库的内容。
根据数据库用户的工作职责限制其访问、插入、修改或删除数据库内容的能力,可确保降低未经授权访问、修改或删除数据库内容的可能性。此外,如果担心数据库中不同内容的聚合可能会导致恶意行为者确定更敏感或机密的内容,则可以通过使用最低权限、数据库视图和数据库角色来执行“需要知道”原则。或者,可以通过实施多个数据库(每个数据库都有受限数据集)来分离关注的内容。
数据库及其内容根据其包含的数据的敏感度或分类进行分类。数据库用户访问、插入、修改和删除数据库内容的能力受到其工作职责的限制。通过应用最小权限、数据库视图和数据库角色,对数据库内容强制执行需要知道的原则。
开发、测试和生产数据库的分离
在开发或测试环境中使用生产环境中的数据库内容可能会导致对数据库内容的保护不足。
生产环境中的数据库内容不会在开发或测试环境中使用,除非该环境的安全级别与生产环境相同。
数据库事件日志
集中记录和分析数据库事件可以帮助监控数据库的安全态势、检测恶意行为并有助于网络安全事件后的调查。
以下事件集中记录在数据库中:
-
访问或修改特别重要的内容
-
添加新用户,尤其是特权用户
-
用户角色或权限的变更
-
尝试提升用户权限
-
包含评论的查询
-
包含多个嵌入式查询的查询
-
数据库和查询警报或失败
-
数据库结构改变
-
数据库管理员操作
-
使用可执行命令
-
数据库登录和注销。