创建 Azure 存储帐户基线

已完成

Azure 存储帐户提供唯一的命名空间,可以在其中存储和访问 Azure 存储数据对象。

Azure 存储帐户安全建议

以下部分介绍了 CIS Microsoft Azure Foundations Security Benchmark v. 1.3.0 中的 Azure 存储建议。 每项建议都包含要在 Azure 门户中完成的基本步骤。 应为自己的订阅完成这些步骤,并使用自己的资源来验证每个安全建议。 注意,“级别 2”选项可能会限制某些功能或活动,因此请仔细考虑你决定执行的安全选项。

需要安全增强型传输 - 级别 1

为确保 Azure 存储数据安全而应采取的措施是,在客户端与 Azure 存储之间加密数据。 首先建议始终使用 HTTPS 协议。 使用 HTTPS 可确保通过公共 Internet 进行安全通信。 若要在调用 REST API 访问存储帐户中的对象时强制使用 HTTPS,请为存储帐户启用“需要安全传输”选项。 打开此控件后,拒绝使用 HTTP 的连接。 为订阅中的每个存储帐户完成以下步骤。

  1. 登录 Azure 门户。 搜索并选择“存储帐户”。

  2. 在“存储帐户”窗格中,选择存储帐户。

  3. 在左侧菜单中的“设置”下选择“配置” 。

  4. 在“配置”窗格中,确保“需要安全传输”设置为“已启用”。

  5. 如果更改任何设置,请在菜单栏中选择“保存”。

Screenshot that shows the secure transfer storage setting in the Azure portal.

启用二进制大型对象 (blob) 加密 - 级别 1

Azure Blob 存储是 Microsoft 提供的适用于云的对象存储解决方案。 Blob 存储经过优化,可存储大量非结构化数据。 非结构化数据是不遵循特定数据模型或定义的数据。 非结构化数据示例包括文本和二进制数据。 存储服务加密可保护静态数据。 Azure 存储在向数据中心写入数据时对数据进行加密,并在访问数据时自动解密。

  1. 登录 Azure 门户。 搜索并选择“存储帐户”。

  2. 在“存储帐户”窗格中,选择存储帐户。

  3. 在左侧菜单中的“安全性 + 网络”下,选择“加密”。

  4. 在“加密”窗格中,查看已为所有新的和现有的存储帐户启用 Azure 存储加密,并且无法禁用它。

Screenshot that shows secure storage encryption is automatically enabled.

定期重新生成访问密钥 - 级别 1

在 Azure 中创建存储帐户时,Azure 会生成两个 512 位存储访问密钥。 这些密钥用于在用户访问该存储帐户时对其进行身份验证。 定期轮换这些密钥可确保对这些密钥的任何意外访问或公开都受到时间限制。 为 Azure 订阅中的每个存储帐户完成以下步骤。

  1. 登录 Azure 门户。 搜索并选择“存储帐户”。

  2. 在“存储帐户”窗格中,选择存储帐户。

  3. 在左侧菜单中,选择“活动日志”。

  4. 在“活动日志”中的“时间范围”下拉列表中,选择“自定义”。 选择“开始时间”和“结束时间”以创建 90 天或更少的时间范围。

  5. 选择“应用”。

    Screenshot that shows the storage account timespan setting.

    如果未使用带密钥轮换的 Azure Key Vault,要为特定存储帐户重新生成存储访问密钥,请使用订阅信息运行以下命令:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey?api-version=2019-04-01
    
  6. 如果更改任何设置,请在菜单栏中选择“保存”。

需要共享访问签名令牌在一个小时内过期 - 级别 1

共享访问签名是一种 URI,可授予对 Azure 存储资源的受限访问权限。 对于不信任向其提供存储帐户密钥但需要向其委派某些存储帐户资源的访问权限的客户端,你可以为他们提供共享访问签名。 通过向这些客户端分发共享访问签名 URI,可以授予它们一组特定的权限,让其在一段指定时间内访问资源。

注意

对于 CIS Microsoft Azure Foundations Security Benchmark v. 1.3.0 中的建议,无法自动验证共享访问签名令牌过期时间。 建议需要手动验证。

需要共享访问签名令牌仅通过 HTTPS 进行共享 - 级别 1

应仅通过 HTTPS 协议允许共享访问签名令牌。 为 Azure 订阅中的每个存储帐户完成以下步骤。

  1. 登录 Azure 门户。 搜索并选择“存储帐户”。

  2. 在“存储帐户”窗格中,选择存储帐户。

  3. 在菜单中的“安全性 + 网络”下,选择“共享访问签名”。

  4. 在“共享访问签名”窗格中的“开始和到期日期/时间”下,设置“开始”和“结束”日期和时间。

  5. 在“允许的协议”下,选择“仅限 HTTPS”。

  6. 如果更改任何设置,请在菜单栏中选择“生成 SAS 和连接字符串”。

Screenshot of a shared access signature in a storage account settings and H T T P S only protocol allowed.

在接下来的部分中配置共享访问签名功能。

启用 Azure 文件存储加密 - 级别 1

Azure 磁盘加密可加密 IaaS VM 中的 OS 和数据磁盘。 客户端加密和服务器端加密 (SSE) 都用于加密 Azure 存储中的数据。 为 Azure 订阅中的每个存储帐户完成以下步骤。

  1. 登录 Azure 门户。 搜索并选择“存储帐户”。

  2. 在“存储帐户”窗格中,选择存储帐户。

  3. 在左侧菜单中的“安全性 + 网络”下,选择“加密”。

  4. 在“加密”窗格中,查看已为所有新的和现有的 blob 存储和文件存储启用 Azure 存储加密,并且无法禁用它。

Screenshot that shows encryption is automatically enabled for all blobs and files in storage accounts.

需要仅对 blob 容器的专用访问权限 - 级别 1

可以启用对 Azure Blob 存储中的容器及其 Blob 的匿名公共读取访问。 通过打开匿名、公共读取访问权限,无需共享帐户密钥也无需共享访问签名,即可授予对这些资源的只读访问权限。 默认情况下,容器和其中的任何 Blob 只能由已获得适当权限的用户访问。 若要授予匿名用户对容器及其 Blob 的读取权限,可以将容器访问级别设置为公共。

但是,如果授予对容器的公共访问权限,则匿名用户可以读取可公开访问的容器中的 Blob,而无需授权请求。 安全建议改为将存储容器的访问权限设置为专用。 为 Azure 订阅中的每个存储帐户完成以下步骤。

  1. 登录 Azure 门户。 搜索并选择“存储帐户”。

  2. 在“存储帐户”窗格中,选择存储帐户。

  3. 在左侧菜单中的“数据存储”下,选择“容器”。

  4. 在“容器”窗格中,确保将“公共访问级别”设置为“专用”。

  5. 如果更改任何设置,请在菜单栏中选择“保存”。

Screenshot that shows a storage container with access level set to private.