全部产品
Search
文档中心

云安全中心:Serverless安全

更新时间:Apr 10, 2025

如果您的业务部署在阿里云Serverless环境中,可使用云安全中心的Serverless安全检测功能,确保Serverless架构下资产的安全。该功能支持对Serverless资产进行常见的威胁告警检测、漏洞扫描、基线风险检查。本文介绍云安全中心如何接入Serverless资产并为Serverless资产提供安全防护功能。

功能介绍

支持防护的资产实例

  • 通过托管版与专有版容器集群ACK、ACK Serverless集群创建的弹性容器实例 ECI(Elastic Container Instance)

  • 通过容器计算服务 ACS(Container Compute Service)创建的ECI实例资产。

  • Serverless 应用引擎 SAE(Serverless App Engine)的ECI实例资产。

支持的安全能力

云安全中心为Serverless资产提供以下安全能力。

  • 威胁告警检测:支持检测并处理Serverless资产中存在的常见安全威胁,例如发现后门(WebShell)文件、异常网络连接、进程异常行为等。支持的具体检查项,请参见适用于容器环境的告警

  • 漏洞扫描:您可以在风险治理 > 漏洞管理页面,单击已支持漏洞下的数字,前往支持检测的漏洞列表面板,查看支持检测的漏洞列表。

    对于应用漏洞,仅支持扫描,不支持修复。应用漏洞是针对您服务器上安装的软件进行扫描后发现的风险,需要您根据漏洞详情中的修复建议,手动对软件应用进行升级或配置修改,排除安全隐患。

    image.png

  • 基线风险检查:支持检测并处理Serverless资产的存在的基线检查风险项,例如Kubernetes(ECI) Pod 国际通用安全最佳实践基线检查的限制以root运行容器禁止配置具有内核功能的容器等。支持的具体基线检查内容,请参见基线检查内容

云安全中心对于接入的Serverless资产根据容器运行时状态划分为不同的实例类型,对应支持的安全能力有如下区别。

实例类型

支持的安全能力

弹性容器实例

  • 威胁告警检测

  • 漏洞扫描

  • 基线风险检查

RunD容器实例

威胁告警检测

计费说明

北京时间2024年07月31日及之后,Serverless安全防护功能停止公测,不再支持免费试用Serverless安全防护功能。如果用户需要使用Serverless安全防护功能,需要通过控制台开通Serverless资产按量付费。具体操作,请参见本文2. 开通按量付费

开始计费

开通Serverless资产并完成授权后,Serverless防护采用按量计费模式,按照已授权绑定且客户端在线的资产每秒的计算核数计费:0.000003美元/核/秒。系统会根据已授权绑定资产每天的计算核数总量,在次日生成账单。更多信息,请参见计费概述

停止计费

在以下场景中,阿里云会立即停止对绑定授权的Serverless资产的安全检测,同时停止计费。

  • 停止所有Serverless资产的计费:

    • 在云安全中心控制台的总览页面的按量付费服务区域,关闭Serverless资产对应的开关。

    • 在云安全中心控制台的资产中心 > Serverless资产页面上方,单击停止使用

    • 当前阿里云账号欠费。

  • 停止指定Serverless资产的计费:

    在云安全中心控制台的资产中心 > Serverless资产页面,解绑指定资产的绑定授权。具体操作,请参见本文3.2 绑定或解绑授权资产

1. 为待防护的ECI Pod安装并启动云安全中心客户端

对于托管版与专有版容器集群ACK、ACK Serverless集群、ACS集群创建的ECI资产,必须完成安装并启动云安全中心客户端,才能使用云安全中心提供的Serverless安全防护能力。

您可以通过以下方式安装并启动ECI Pod的云安全中心客户端。

ACK Serverless集群的ECI Pod启动客户端

容器服务管理控制台的目标集群管理页面的左侧导航栏,选择工作负载 > 容器组,单击使用YAML创建资源,在YAML模板的spec > template > metadata下增加annotations参数配置,并将其设置为k8s.aliyun.com/eci-aliyundun-enabled: "true"

新建的YAML模板示例:

apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment-basic
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      annotations:
        k8s.aliyun.com/eci-aliyundun-enabled: 'true'
      labels:
        app: nginx
    spec:
    #  nodeSelector:
    #    env: test-team
      containers:
      - name: nginx
        image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "500m"

如果使用镜像创建资源,可在高级配置中添加Pod注解:k8s.aliyun.com/eci-aliyundun-enabled=true。资源创建的具体操作,请参见使用镜像创建无状态应用

image

托管版与专有版容器集群ACK的ECI Pod启动客户端

托管版与专有版容器集群ACK的ECI Pod启动客户端

  1. 登录容器服务管理控制台,进入对应版本的集群管理页面,部署ack-virtual-node组件,将Pod调度到ECI上运行。具体操作,请参见通过虚拟节点将Pod调度到ECI上运行

  2. 容器服务管理控制台的集群管理页面左侧导航栏,选择工作负载 > 容器组,然后单击使用YAML创建资源,在YAML模板的metadata下增加annotations参数配置,并将其设置为k8s.aliyun.com/eci-aliyundun-enabled: "true",在spec > containers下配置环境变量env,设置容器类型为ECI_CONTAINER_TYPE = sidecar

    新建的YAML模板示例:

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-aegis-alinux2-lifsea-x86
      labels:
        eci: "true"
      annotations:
        k8s.aliyun.com/eci-aliyundun-enabled: "true"
    spec:
      containers:
      - name: sidecar
        image: registry-vpc.cn-shanghai.aliyuncs.com/eci_open/centos:7
        command:
        - /bin/sh
        - -c
        args:
        - sleep inf
        env:
        - name: ECI_CONTAINER_TYPE
          value: sidecar
      - name: nginx
        image: registry-vpc.cn-shanghai.aliyuncs.com/eci_open/centos:7
        command:
        - /bin/sh
        - -c
        args:
        - sleep inf

ACS集群的ECI Pod启动客户端

容器计算服务控制台的目标集群管理页面的左侧导航栏,选择工作负载 > 无状态,单击使用YAML创建资源,在YAML模板的spec > template > metadata下增加annotations参数配置,并将其设置为security.alibabacloud.com/aliyundun-enabled: 'true'。具体内容,请参见ACS Pod实例概述使用YAML创建

YAML模板示例:

apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment-basic
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
        alibabacloud.com/compute-class: general-purpose
        alibabacloud.com/compute-qos: default
      annotations:
         security.alibabacloud.com/aliyundun-enabled: 'true'
    spec:
    #  nodeSelector:
    #    env: test-team
      containers:
      - name: nginx
        image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 # replace it with your exactly <image_name:tags>
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "500m"

如果使用镜像创建资源,可在高级配置中添加Pod注解:security.alibabacloud.com/aliyundun-enabled=true。资源创建的具体操作,请参见使用镜像创建

image

2. 开通按量付费

新购开通Serverless资产防护

免费版申请试用的用户,可以通过购买云安全中心按量付费实例方式,开通Serverless资产防护能力。

  1. 访问云安全中心购买页并使用您的阿里云账号登录。

  2. 在购买页面,选择购买方式按量付费,单击Serverless资产

  3. 单击自定义按需绑定,在授权管理对话框中,您可选择全量绑定自定义绑定,配置目标Serverless资产的防护授权。

    重要

    如果未进行自定义绑定,则默认全量绑定,且开启新增资产自动绑定。

    image

  4. 仔细阅读并选中云安全中心服务协议,单击立即下单

云安全中心会自动接入当前阿里云账号下状态为运行中的Serverless资产(ECI实例和SAE应用),并根据授权管理配置,绑定授权目标Serverless资产。

新增开通Serverless资产防护

已购买云安全中心实例的付费版(防病毒版、高级版、企业版和旗舰版)的用户,可以新增开通Serverless资产防护能力。

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 在左侧导航栏,选择资产中心 > Serverless 资产

  3. Serverless资产页面,单击立即开通

    您也可以在总览页面右侧的按量付费服务区域,打开Serverless资产开关。

  4. 在确认对话框中,您可单击自定义按需绑定,配置目标Serverless资产的防护授权,单击确定

    重要

    如果未进行自定义绑定,按照以下逻辑绑定授权Serverless资产:

    • 如果是首次开通,则默认全量绑定,且开启新增资产自动绑定。

    • 如果不是首次开通,则默认自动绑定授权给上一次开通该功能已绑定授权的Serverless资产。如果上一次开通该功能绑定授权的ECI实例和SAE应用为0,则默认全量绑定,且开启新增资产自动绑定。

    • 如果当前账号已欠费,且欠费前已开通Serverless资产功能,用户结清当前账号欠费账单后,默认绑定之前已绑定授权的Serverless资产。

  5. 在确认对话框中,选中我已阅读并同意云安全中心(按量付费)用户协议,然后单击立即开通

3. 管理绑定授权的资产

  • 绑定授权:云安全中心客户端在线且授权绑定的Serverless资产,才能使用云安全中心提供的Serverless安全防护能力。

  • 解绑授权:对不需要防护的Serverless资产,可以执行解绑授权操作。

3.1. 同步最新资产

开通Serverless资产的防护功能后,对于已接入云安全中心的资产实例和新建的资产实例,都需要先同步最新Serverless资产信息,确认待防护的资产实例已安装启动云安全中心客户端。

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 资产中心 > Serverless资产页面,单击同步最新资产

    云安全中心会拉取最新的Serverless资产信息,刷新资产列表。

    说明

    同步最新资产信息需要1分钟时间,请您耐心等待。

    image

  3. 资产中心 > Serverless资产页面的资产列表中找到目标Serverless资产,查看客户端列图标颜色。

    image

    • 绿色:表示客户端在线运行中,绑定授权后,可使用Serverless安全防护功能。

    • 灰色:表示客户端因未安装或网络不稳定等其他因素不在线。绑定授权后,不支持使用安全防护功能。

      请参考上文的1. 为待防护的ECI Pod安装并启动云安全中心客户端,检查并安装对应资产的云安全中心客户端,完成资产实例重启。

  4. 新建或重启Serverless资产实例后,在资产中心 > Serverless资产页面,单击同步最新资产,同步最新资产信息到云安全中心。

3.2. 绑定或解绑授权资产

为目标资产实例启动云安全中心客户端在线后,您可以为目标资产绑定授权,以使用Serverless安全防护功能。如果您开通功能时选择了全量绑定,也可以对不需要防护的资产解绑授权。

  1. 资产中心 > Serverless资产页面,单击资产列表上方未绑定的实例下的授权管理

  2. 授权管理对话框中,选择操作类型(绑定解绑),根据页面提示选择目标Serverless资产,然后单击确定

    如需自动绑定新增的Serverless资产,可选中新增资产自动绑定

    image

4. 查看并处理安全风险

Serverless资产接入云安全中心并完成绑定授权后,云安全中心会为该实例实时开启安全威胁告警检测,漏洞扫描和基线风险检查会按照漏洞或基线的扫描周期执行检查。您可以前往漏洞管理基线风险检查页面,查看最新检查时间。

以下介绍查看Serverless资产安全风险状态的具体步骤。

  1. 资产中心 > Serverless资产页面的资产列表中,找到目标资产,如果对应风险状况列显示存在风险,表示该资产中检测出了告警、漏洞或基线风险。

  2. 单击目标资产名称或该资产对应操作列的查看,可查看该资产的详细风险信息。

    单击安全告警数漏洞风险数基线风险数卡片,可以查看对应的风险检查项列表。

    image.png

  3. 处理安全告警。

    单击目标告警对应操作列的详情,查看告警的详细信息,判断告警是否为真实存在的风险。

    判断完成后,单击目标告警操作列的处理,如果为真实存在的风险,选择隔离处理方式;如果无需处理或需忽略本次告警,选择加白名单、忽略或我已手工处理等处理方式。

  4. 处理漏洞风险。

    单击漏洞风险数卡片,查看该资产中检测出的漏洞。

    漏洞为可被黑客利用的薄弱点,建议您及时处理已检测出的漏洞。应用漏洞不支持一键修复,建议您根据漏洞详情中的说明自行修复漏洞。具体操作,请参见查看和处理漏洞

  5. 处理基线风险。

    单击基线风险数卡片,查看该资产中检测出的基线风险。单击目标风险操作列的详情,查看风险详情和加固建议,并判断是否需要处理该基线风险,并根据判断结果处理该风险,或对该风险加白名单。

    云安全中心仅支持修复部分基线检查项风险问题,如果风险详情页面的风险处理列表显示修复按钮,表示该风险项支持在云安全中心修复,您可以在云安全中心直接修复基线风险问题。