华为云容器安全-容器入侵应急响应最佳实践


容器安全服务能够扫描镜像中的漏洞与配置信息,帮助企业解决传统安全软件无法感知容器环境的问题;同时提供容器进程白名单、文件只读保护和容器逃逸检测功能,有效防止容器运行时安全风险事件的发生。


容器运行时安全

● 通常容器的行为是固定不变的,容器安全服务帮助企业制定容器行为的白名单,确保容器以最小权限运行,有效阻止容器安全风险事件的发生。


容器运行时安全功能对运行中的容器进行实时的逃逸检测、高危系统调用检测、异常进程检测、文件异常检测以及容器环境检测。在开启告警通知后,当CGS监测到异常事件时,您可收到CGS发送的告警通知邮件和短信。

本文介绍容器被入侵时和入侵后的应急响应。

背景信息

随着云原生的发展,容器使用场景越来越广泛,越来越多的企业选择容器来部署自己的应用。而针对容器的攻击事件频发,造成的破坏也日益严重。容器被入侵时,正常情况下黑客只能破坏容器自身,对其它容器和整个业务系统不容易造成整体的破坏。但是由于容器底层使用了共享操作系统内核、共享存储等技术方案,黑客有可能利用漏洞实现容器逃逸,进一步攻击主机操作系统,窃取数据、服务器受控等。因此,一旦确认容器被黑客成功入侵,需要立即处理,避免资产遭受重大损失。

容器入侵应急响应

1、登录管理控制台。在页面上方选择“区域”后,单击,选择“安全与合规 > 容器安全服务”,进入“防护列表”界面。

2、在左侧导航树中,选择“运行时安全”,进入“运行时安全”界面。

3、获取入侵程序的容器实例名称和节点名称。

根据告警通知信息,选择不同页签(“逃逸检测”、“高危系统调用”、“异常程序检测”、“文件异常检测”、“容器环境检测”),在异常事件列表中,获取入侵程序的容器实例名称和节点名称。

4、断开容器外网链接。

以弹性负载均衡(ELB)为例,配置访问控制策略,允许特定IP访问,使其它IP不允许访问容器。

a.在页面的左侧导航树中,单击,选择“网络 > 弹性负载均衡”,进入“负载均衡器”界面。

b.找到容器使用的ELB实例。

c.单击实例名称,进入详情页面,选择“监听器”页签。

d.在监听器基本信息页面,单击“设置访问控制”。

e.在弹出的“设置访问控制”弹框中,配置白名单IP地址。

● 访问策略:白名单。

● IP地址组:允许特定IP访问的IP地址组。

● 访问控制开关:开启。

f.单击“确定”。

5、中断目标容器运行。

以弹性云服务器控制台远程登录入侵节点为例,中断目标容器运行。

a.在左侧导航树中,选择“弹性云服务器”,进入“弹性云服务器”界面。

b.在需要远程登录入侵节点的操作列,单击“远程登录”,登录节点。

若无法登录到服务器,请参见无法登录到Linux云服务器怎么办进行排查。

c.执行以下命令,获取目标容器ID号。

docker ps|grep 容器实例名称

d.执行以下命令,暂停挂起目标容器。

docker pause 容器ID号

6、保留入侵痕迹。

a.执行以下命令,导出镜像。

docker save ID号 -o 镜像文件名.tar

b.(可选)执行以下命令,导出配置。

docker inspect ID号 > 配置文件名.json

7、溯源分析。

a.在其他节点上导入7.a导出的镜像,并执行以下命令。

docker load - 镜像文件名.tar

b.使用导入的镜像启动新容器。

启动执行命令:

docker run -d -it --name 容器名称 镜像ID /bin/bash

c.联系技术支持,进入容器查询系统日志、搜索恶意文件等定位入侵原因和制定应急决策。

容器安全常见问题

容器安全描常见问题

  • 镜像、容器、应用的关系是什么?

    ● 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

    ● 容器和镜像的关系,像程序设计中的实例和类一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

    ● 一个镜像可以启动多个容器。

    ● 应用可以包含一个或一组容器。

  • 无服务授权权限和创建委托失败的原因?

    ▶IAM用户进入容器安全服务控制台界面时,发现服务授权页面“同意授权”按钮呈灰色状态,表示该IAM用户无服务授权权限,请联系拥有Security Administrator权限的系统管理员授予权限或使用帐号开通服务授权。

    创建委托失败的原因:账户委托数量满额。

    处理方式:登录到“统一身份认证服务”管理控制台,对委托进行删除或联系统一身份认证服务增加限额。

  • 容器安全服务的漏洞库多久更新一次?

    ▶容器安全服务实时获取官方发布的漏洞信息,每天凌晨将漏洞更新至漏洞库中并执行全面的漏洞扫描和给出解决方案。您可根据自身业务情况进行修复或调整有风险的镜像。

  • 容器安全服务支持多个帐号共享使用吗?

    ▶容器安全服务不支持多个帐号共享使用。例如,如果您在某个区域通过注册华为云创建了2个帐号(“domain1”和“domain2”),当您在“domain1”帐号下购买了容器安全服务,则“domain2”帐号不能使用“domain1”的容器安全服务。

    在同一区域,一个帐号在IAM上创建的所有IAM用户都可以共用该帐号下的容器安全服务。例如,您在某个区域通过注册华为云创建了1个帐号(“domain1”),且“domain1”帐号在IAM中创建了2个IAM用户(“sub-user01”、“sub-user02”),如果您授权了“sub-user01”和“sub-user02”用户CGS的权限策略,则这2个IAM用户都可以使用“domain1”的容器安全服务。