容器入侵应急响应最佳实践
容器运行时安全功能对运行中的容器进行实时的逃逸检测、高危系统调用检测、异常进程检测、文件异常检测以及容器环境检测。在开启告警通知后,当CGS监测到异常事件时,您可收到CGS发送的告警通知邮件和短信。
本文介绍容器被入侵时和入侵后的应急响应。
背景信息
随着云原生的发展,容器使用场景越来越广泛,越来越多的企业选择容器来部署自己的应用。而针对容器的攻击事件频发,造成的破坏也日益严重。容器被入侵时,正常情况下黑客只能破坏容器自身,对其它容器和整个业务系统不容易造成整体的破坏。但是由于容器底层使用了共享操作系统内核、共享存储等技术方案,黑客有可能利用漏洞实现容器逃逸,进一步攻击主机操作系统,窃取数据、服务器受控等。因此,一旦确认容器被黑客成功入侵,需要立即处理,避免资产遭受重大损失。
前提条件
已确认CGS发送的告警信息为容器真实入侵告警信息。
容器入侵应急响应
- 登录管理控制台。
- 在页面上方选择“区域”后,单击,选择 ,进入“防护列表”界面。
- 在左侧导航树中,选择“运行时安全”,进入“运行时安全”界面。
- 获取入侵程序的容器实例名称和节点名称。
根据告警通知信息,选择不同页签(“逃逸检测”、“高危系统调用”、“异常程序检测”、“文件异常检测”、“容器环境检测”),在异常事件列表中,获取入侵程序的容器实例名称和节点名称。图1 异常事件列表
- 断开容器外网链接。
以弹性负载均衡(ELB)为例,配置访问控制策略,允许特定IP访问,使其它IP不允许访问容器。
- 在页面的左侧导航树中,单击,选择“负载均衡器”界面。 ,进入
- 找到容器使用的ELB实例。
- 单击实例名称,进入详情页面,选择“监听器”页签。
- 在监听器基本信息页面,单击“设置访问控制”。
图2 设置访问控制
- 在弹出的“设置访问控制”弹框中,配置白名单IP地址。
- 访问策略:白名单。
- IP地址组:允许特定IP访问的IP地址组。
- 访问控制开关:开启。
图3 配置白名单IP地址
- 单击“确定”。
- 中断目标容器运行。
以弹性云服务器控制台远程登录入侵节点为例,中断目标容器运行。
- 在左侧导航树中,选择“弹性云服务器”界面。 ,进入
- 在需要远程登录入侵节点的操作列,单击“远程登录”,登录节点。
若无法登录到服务器,请参见无法登录到Linux云服务器怎么办进行排查。
图4 远程登录
- 执行以下命令,获取目标容器ID号。
- 执行以下命令,暂停挂起目标容器。
- 保留入侵痕迹。
- 溯源分析。
- 在其他节点上导入7.a导出的镜像,并执行以下命令。
docker load - 镜像文件名.tar
- 使用导入的镜像启动新容器。
docker run -d -it --name 容器名称 镜像ID /bin/bash
- 联系技术支持,进入容器查询系统日志、搜索恶意文件等定位入侵原因和制定应急决策。
- 在其他节点上导入7.a导出的镜像,并执行以下命令。