jxq
作者jxq2021-06-15 10:44
其它, gbase

数据库安全面面观(六)预防性数据库安全控制

字数 3749阅读 880评论 0赞 1

(一)前言
(二)信息安全背景下的数据库安全
(三)与数据库安全相关的要素定义
(四)编写数据库安全策略
(五)人员控制

(六)预防性数据库安全控制

资料来源:《数据库安全指南(2.0版)》
数据库安全联盟(DBSC)
http://www.db-security.org/

安装

(1) 使用最新版本

为了获得最新的安全控制,必须实施以下控制。

  • 安装最新的安全修补程序。(强制的)
  • 确定并使用可获得的最新版本数据库管理系统。(推荐的)

(2) 仅安装最小功能

为了防止未经授权的使用以及资源浪费,必须实施以下控制。

  • 仅选择和安装所需的功能。(强制的)
  • 必须删除或禁用不需要但默认安装的功能。(强制的)

(3) 更改端口设置

为了防止未经授权的使用,必须实施以下控制。

  • 更改安装过程中广为使用或默认设置的端口号。(强制的)

(4) 限制网络访问

为了防止未经授权使用网络功能,必须实施以下控制。

  • 限制对数据库管理系统网络访问功能的访问。(强制的)

    示例:
    -将密码设置为Oracle侦听器

账户管理

(1) 创建必要账户

为了防止未经授权使用账户信息的冒充,必须实施以下控制。

  • 仅创建必要的账户。(强制的)
  • 为每个账户设置访问权限。(强制的)
  • 创建具有相应访问权限的单独用户和管理员账户。(强制的)

(2) 删除不必要的账户

为了防止未经授权使用账户信息的冒充,必须实施以下控制。

  • 删除不使用的账户。(强制的)

    示例:
    -删除已终止或已调离的员工账户

  • 删除不使用的默认账户。(强制的)

(3) 锁定未使用的用户账户

为了防止未经授权使用账户信息的冒充,必须实施以下控制。

  • 锁定在指定时间段内未曾使用的用户账户。(强制的)

    示例:
    -锁定一年只使用一次的用户账户

  • 确认账户定期使用的次数。(强制的)

(4) 锁定登录失败的账户

为了防止未经授权使用账户信息的冒充,必须实施以下控制。

  • 设置在锁定账户之前允许登录尝试失败的次数。(推荐的)

(5) 数据库管理员账户管理

为了最大限度地减少数据库管理员的操作错误和未经授权的使用,必须实施以下控制。

  • 数据库管理员账户应只分配给必要人员。(强制的)
  • 数据库管理员账户不得用于不需要管理员权限的活动。(强制的)
  • 为每个管理员分配一个唯一的数据库管理员账户。(强制的)
  • 仅在特定(PC)终端上使用数据库管理员账户。(推荐的)

(6) 开发系统和运行系统的ID/口令

为了防止未经授权使用开发系统账户,必须实施以下控制。

  • 即使开发系统和运行系统使用相同的账户ID,每个账户也要使用不同的口令。(强制的)
  • 对于开发系统和运行系统账户的给定用户,使用不同的ID/口令。(推荐的)

(7) 临时账户

为了防止临时用户未经授权的使用,必须实施以下控制。

  • 或者为他们提供一个公共/匿名ID,每次分配时都会更改其口令,或者为他们提供一个临时账户。(强制的)

口令管理

(1) 口令复杂性

为了防止口令被猜到,必须实施以下控制。

  • 不允许使用容易猜到的口令。(强制的)

    示例:
    -与ID相同的口令
    -容易猜到的口令,比如1234
    -安装过程中自动设置的默认口令

(2) 定期更改口令

为防止口令被泄露和/或为了防止口令被用于未经授权的访问,必须实施以下控制。

  • 定期更改数据库管理员口令。(强制的)
  • 始终更改初始口令。(强制的)
  • 防止循环使用口令。(推荐的)
  • 定期更改用户口令。(推荐的)

(3) 设置口令到期日

为了确保用户和管理员定期更改密码,必须实施以下控制。

  • 设置数据库管理员口令的到期日。(强制的)
  • 设置用户口令的到期日。(推荐的)

设置访问权限

(1) 确定数据库访问要求

为了正确分配访问控制,必须实施以下控制。

  • 根据账户的目的和用途对其进行分类。(强制的)

    示例:
    -对于数据库管理员、对象管理员、数据访问等。

  • 定义每个账户类所需的访问权限。(强制的)

    示例:
    -功能类、路径类、对象类等。

  • 根据访问权限分割账户。(强制的)
  • 对于每个分割的账户,确定需要访问的最小数据范围以及需要设置的最低权限(读、写、创建、删除),并确定数据库访问要求。(强制的)

(2) 设置访问权限

为了限制不必要的数据访问,必须实施以下控制。

  • 分配数据库访问要求中定义的每个账户所需的最低访问权限。(强制的)
  • 管理权只分配给有限数量的账户。(强制的)

(3) 设置数据库访问权限的建议

在确定数据库访问要求时,请记住以下建议。

  • 切勿创建无条件地给所有用户授予访问权限的用户账户。(强制的)
  • 切勿创建允许普通用户给普通用户分配访问权限的用户账户。(强制的)
  • 除了用于创建、删除和维护对象以外,锁定并禁止使用对象所有者账户的直接访问。(推荐的)

(4) 审查用户账户

为了将系统访问要求的更改反映到访问权限设置,必须实施以下控制。

  • 定期检查,以确保不设置不必要的访问权限。(强制的)
  • 系统更改后,检查以确保未曾设置不必要的访问权限。(强制的)
  • 当发现不必要的访问权限时,进行必要的更改。(强制的)

加密

(1)加密传输

为了保护数据库服务器与客户端之间的传输免遭窃听,必须实施以下控制。

  • 使用加密功能或工具加密传输。(推荐的)

(2) 数据库管理系统数据的加密控制

为了保护存储在数据库管理系统中的数据免遭盗窃,必须实施以下控制。

  • 使用加密功能或工具加密存储的数据。(推荐的)

(3) 物理文件加密

为了保护物理文件免遭盗窃,必须实施以下控制。

  • 使用加密功能或工具加密物理文件。(推荐的)

(4) 备份数据加密
为了保护备份数据免遭盗窃,必须实施以下控制。

  • 使用加密功能或工具加密备份数据。(推荐的)

(5)加密过程

为了保护过程免遭盗窃,必须实施以下控制。

  • 使用加密功能或工具加密过程。(推荐的)

(6)管理加密密钥

为了保护加密数据不受未经授权的使用,必须实施以下控制。

  • 实施加密密钥管理方案。(推荐的)

限制可移动介质连接到数据库服务器

(1) 限制可移动介质连接

为了确保可移动介质不连接到数据库服务器,必须实施以下控制。

  • 必须移除所有不必要的可移动介质。(强制的)
  • 必须断开所有不必要的打印机。(强制的)

(2) 限制可移动介质使用

为了确保机密信息不被传输到可移动介质,必须实施以下控制。

  • 必须控制对可移动介质的访问。(强制的)
  • 必须控制与打印机的连接。(强制的)
  • 必须控制与可移动介质的连接。(推荐的)

(3) 日志记录对可移动介质的连接

为了提供对信息泄露的威慑,并在发生事故时获取取证数据,必须实施以下控制。

  • 必须日志记录对可移动介质的连接。(推荐的)
  • 必须日志记录对可移动介质的访问。(推荐的)
  • 必须日志记录对可移动介质的用户访问。(推荐的)

限制从终端访问数据库服务器

为了防止信息从终端(PC)传输信息,必须实施以下控制。

  • 必须控制(从终端)对可移动介质的访问。(强制的)
  • 在授予访问权限之前,必须加固数据库服务器连接终端(PC)。(强制的)
  • 在授予访问权限之前,必须对终端(PC)用户进行身份验证。(强制的)
  • 必须监控安装在终端(PC)上的软件及其使用。(强制的)
  • 必须控制(从终端(PC))对打印机的访问。(强制的)

限制终端访问(根据IP地址)

为了限制数据库访问,必须实施以下控制。

  • 使用防火墙保护数据库服务器免受未经授权的终端访问。(强制的)
  • 必须将数据库服务器访问限制在被授权连接到服务器的终端,或属于同一网段的终端。(强制的)

    示例:
    -使用路由器进行IP地址过滤
    -使用数据库管理系统网络访问限制功能

对单个用户的资源访问限制

为了防止服务干扰和大量数据被盗,必须实施以下控制。

  • 防止CPU时间被普通用户过度使用。(推荐的)

漏洞扫描

(1) 运行阶段前的漏洞扫描

为了确保按照数据库安全策略实施安全控制,必须实施以下控制。

  • 在切换到运行阶段之前开展漏洞扫描。(强制的)

(2) 定期漏洞扫描

为了保持安全控制的有效性,必须实施以下控制。

  • 定期开展漏洞扫描,同时考虑最新的威胁。(强制的)

防止后门

(1) 加固服务器

为了防止未经授权访问和数据库服务器破坏,必须实施以下控制。

  • 在数据库管理系统服务器上采用安全操作系统和网络设置。(强制的)

    示例:
    -限制访问端口

(2) 防止隐蔽信道

为了防止通过引入到源代码的隐蔽信道未经授权访问系统,必须实施以下控制。

  • 指派一名负责创建和修改源代码的人员,并检查/测试以确保没有未经授权的代码修改。(强制的)

限制文件访问路径

(1) 限制对数据库配置文件的访问

为了防止数据库遭到破坏,必须实施以下控制。

  • 只有管理员可以访问数据库配置文件。(强制的)
  • 只有管理员可以访问脚本文件。(强制的)
  • 必须定期审查数据库配置文件的访问权限。(强制的)

(2) 限制连接路径

为了防止操作错误和未经授权使用数据库,必须实施以下控制。

  • 用于访问数据库的应用程序(包括管理工具)必须仅安装在授权访问数据库的用户PC上。(强制的)
  • 限制可用于访问数据库/服务器的网络连接路径。(推荐的)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

分布式关系型数据库选型优先顺序调查

发表您的选型观点,参与即得50金币。