为会话管理开启会话加密

远程运维涉及敏感数据的ECS实例时,为防止数据在传输中被截获,可开启ECS会话管理的加密功能,并选用自动协商或KMS密钥模式,以确保会话内容全程保密,满足安全合规要求。

会话管理加密

ECS会话管理支持端到端加密,开启后所有会话数据均采用AES-256-CBC算法加密,确保传输过程中数据的机密性,云平台也无法解密或查看内容。

会话加密提供以下两种模式,区别如下:

加密模式

描述

优点

适用场景

自动协商密钥

系统将自动在会话双方间协商一次性会话密钥,仅保存在本地内存,阿里云不留存任何密钥材料。

配置简单,无需额外资源,开箱即用。

希望快速启用加密,对密钥没有自主管理和审计需求的通用场景。

KMS密钥

使用在阿里云密钥管理服务(KMS)中创建和管理的客户主密钥(CMK)来生成数据加密密钥,加密会话。

提供了对密钥生命周期的完全控制、轮换和审计能力,满足更高的安全合规要求。

对安全合规有严格要求,需要自主掌控和审计加密密钥的金融、政企等场景。

准备工作

在使用任何一种加密模式之前,请确保已完成以下准备工作:

  • 开启会话管理功能。

    开启方法

    1. 登录ECS控制台-实例,在页面顶部选择资源组和地域。

    2. 单击任意实例操作列下的远程连接

    3. 单击展开其他登录方式找到通过会话管理远程连接,打开会话管理,如图所示,然后根据界面提示完成开通操作。

      image

      image

  • 升级云助手Agent到以下或更高版本:

    • Linux2.2.4.1005

    • Windows2.1.4.1005

方式一:使用自动协商密钥加密会话

此方式操作最简便,无需额外配置权限或资源。

操作步骤

  1. 登录ECS控制台-实例,在页面顶部选择资源组和地域。

  2. 找到目标实例后,单击远程连接,在对话框中,单击通过Workbench远程连接对应的立即登录

  3. Workbench登录实例页面,选择免密连接,完成以下配置:

    1. 开启会话加密开关。

    2. 加密模式中,选择自动协商密钥

    image

  4. 单击登录

    成功连接后,登录的终端窗口顶部会显示This session is encrypted提示,表明当前会话已成功加密。

方式二:使用KMS密钥加密会话

此方式提供更高的安全性,但需要预先配置KMS密钥和相关权限。

准备工作

操作步骤

  1. 登录ECS控制台-实例,在页面顶部选择资源组和地域。

  2. 找到目标实例后,单击远程连接,在对话框中,单击通过Workbench远程连接对应的立即登录

  3. Workbench登录实例页面,选择免密连接,完成以下配置:

    1. 开启会话加密开关。

    2. 加密模式中,选择并配置KMS密钥

      image

  4. 单击登录

    成功连接后,登录的终端窗口顶部会显示This session is encrypted提示,表明当前会话已成功加密。

权限策略说明

配置和使用会话管理加密功能时,可能涉及以下RAM权限策略。

RAM用户使用KMS密钥所需权限

如果RAM用户需要使用KMS密钥模式加密会话,除基础会话管理权限外,还需配置以下权限。配置该权限后,RAM用户可通过KMS密钥生成会话加密密钥。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "kms:ListKeys",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "kms:GenerateDataKey",
      "Resource": "*"
    }
  ]
}

实例RAM角色所需权限

如果使用KMS密钥模式加密会话,ECS实例内的云助手Agent需扮演实例RAM角色,解密由KMS生成的会话加密密钥。请为实例绑定的RAM角色授予以下权限:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "kms:Decrypt",
      "Resource": "acs:kms:<region-id>:<account-id>:key/<cmk-id>"
    }
  ]
}
Resource<region-id>KMS密钥所在地域ID,<account-id>为阿里云主账号ID,<cmk-id>KMS的用户主密钥ID。

常见问题

  • 会话加密功能本身收费吗?

    会话管理及其加密功能本身是免费的。

  • 为什么在登录对话框中找不到会话加密的选项?

    这通常是由于实例的云助手Agent版本过低导致的。请升级云助手Agent到以下或更高版本:

    • Linux2.2.4.1005

    • Windows2.1.4.1005

  • 为什么在选择KMS密钥时,下拉列表是空的?

    请按以下顺序排查:

    • 地域不匹配:请确保已在当前ECS实例所在的地域创建了KMS密钥。下拉列表只会显示同地域的密钥。

    • 权限不足:检查当前操作员(RAM用户)是否已被授予kms:ListKeys权限。RAM用户使用KMS密钥所需权限

    • 无可用密钥:确认在当前地域下已经创建了密钥类型为对称密钥类型的KMS用户主密钥

  • 使用KMS密钥模式连接失败,报错handleKeyExchangeError Error: KMS decrypt failed

    请检查ECS实例是否绑定实例RAM角色,是否为该角色配置所需权限

  • 会话加密与HTTPS/TLS加密有何不同?

    HTTPS/TLS保护的是浏览器与阿里云服务接入点之间的“传输层”安全。而会话管理加密是“端到端”的加密,覆盖了从浏览器到目标ECS实例内的整个数据链路。即使数据在阿里云内网传输,也始终处于加密状态,提供了更高级别的安全保障。