容器防护常见问题

本文汇总了容器防护的常见问题。

目前我使用的是云安全中心的企业版,是否能使用容器微隔离功能?

不可以。仅云安全中心的旗舰版支持该功能,其他版本不支持。

使用容器微隔离功能是否需要额外付费?

不需要。开通了云安全中心旗舰版后,即可直接使用容器微隔离功能。

如果升级到了云安全中心旗舰版,是否就只能保护容器,而无法保护ECS了?

不会。云安全中心旗舰版会同时防护容器和ECS。

云安全中心提供了哪些容器镜像检测机制,保证容器运行的安全性

阿里云云安全中心借助云原生优势,针对容器镜像提供以下检测机制,以降低容器入侵和篡改等风险。

image

镜像安全

  • 接入云安全中心镜像(镜像安全扫描)

    对已接入云安全中心的容器镜像服务ACR的企业版第三方镜像仓库HarborQuay的镜像提供了全面的安全检测和管理能力帮助您发现镜像中存在的高危系统漏洞、应用漏洞、恶意样本、基线配置风险、敏感文件和镜像构建指令风险;针对镜像的系统漏洞提供了漏洞修复方案,以便您及时解决安全隐患。

    详细内容,请参见镜像安全扫描

  • 未接入云安全中心镜像(CI/CD插件集成)

    只需要将CI/CD插件(即云安全中心镜像安全扫描插件)与Jenkins工具或GitHub集成,可以在JenkinsGitHub的项目构建阶段,同时触发镜像安全扫描任务,发现镜像中存在的高危系统漏洞、应用漏洞、恶意病毒、Webshell、恶意执行脚本、基线配置风险以及对敏感数据进行检测和识别,并提供漏洞修复建议,帮助您更便捷地检测出镜像中存在的安全风险。

    详细内容,请参见CI/CD接入配置

  • 镜像启动拦截(风险镜像阻断)

    创建风险镜像阻断规则后,在指定集群内使用镜像创建资源时,云安全中心会对镜像进行安全校验,对命中风险镜像阻断规则(互联网恶意镜像、未扫描镜像、恶意样本、基线、漏洞、敏感文件、构建指令风险)的镜像执行拦截、告警或放行动作,确保集群内启动的镜像符合您的安全要求。

    您可以在容器资产页面的仓库镜像页签,根据镜像ID或标签搜索查看目标镜像的风险,然后根据风险详情和修复建议处理相关漏洞和风险。

    详细内容,请参见风险镜像阻断

容器安全

  • 容器运行时镜像扫描

    检测容器运行时是否存在安全风险项,包括系统漏洞应用漏洞基线检查恶意样本敏感文件针对容器镜像系统漏洞提供了漏洞修复方案,以便您及时解决安全隐患。

    详细内容,请参见容器运行时镜像扫描

  • 配置容器主动防御规则

    从容器自身安全、运行时安全、运行环境安全多维度主动检测容器启动或运行时存在的安全风险。通过配置相应规则,您可以停止不可信进程和阻断容器逃逸行为,提升整体容器运行环境的安全水位。

    • 非镜像程序防御

      在容器运行期间来源于镜像外的程序启动属于异常行为,该行为很可能是黑客植入木马等恶意软件。

      创建非镜像程序防御规则后,云安全中心可检测并拦截镜像外的程序启动,主动防御恶意软件的入侵,帮助您防御已知或未知的攻击模式。

    • 容器防逃逸

      容器与宿主服务器共享操作系统内核时,攻击者可利用容器漏洞提升权限实现对宿主服务器系统或其他容器的访问控制,影响整个系统安全性。通过配置容器防逃逸规则可以有效阻断逃逸行为,保障容器运行时安全。

    详细内容,请参见容器主动防御

  • 配置容器文件防御规则

    实时监控容器内目录或文件,并在容器内目录或文件,被恶意篡改时产生告警或拦截篡改行为,保障容器环境正常运行。

    详细内容,请参见容器文件防御

  • 拦截容器异常访问

    通过将容器中应用的命名空间、应用名称、镜像以及标签等信息整合为网络对象,在两个网络对象之间创建访问流量的防御规则,实现源网络对象访问目的网络对象的流量管控。当黑客利用漏洞或恶意镜像入侵容器集群时,容器微隔离会对容器的异常行为进行告警或拦截。

    详细内容,请参见容器微隔离

  • 部署可信容器

    实现对容器镜像的可信签名,确保只部署可信授权方签名的容器镜像,防止未经签名授权的镜像启动,从根本上帮助您提升资产的安全性。

    详细内容,请参见容器签名

  • 检测容器基线配置

    针对容器的配置提供安全检测和告警,基于阿里云容器最佳安全实践对Kubernetes MasterNode节点,针对容器基线配置提供风险检查。

    详细内容,请参见基线风险检查

容器所在的主机安全

主机安全防护的详细内容,请参见云安全中心的主机防护特性

如何通过容器微隔离管控容器环境内的业务流量?

云安全中心旗舰版服务提供容器微隔离功能。容器微隔离通过将集群中应用的命名空间、应用名称、容器镜像以及标签信息整合为网络对象,作为区别容器应用的标识,然后基于网络对象为容器应用创建网络访问的防御规则,检测并拦截、告警异常的访问流量,实现容器环境内的网络隔离

重要
  • 集群防御规则的正常运行依赖于AliNet插件(AliNet插件主要用于网络连接拦截、DNS拦截、暴力破解拦截等),使用容器微隔离功能之前请确保您的集群节点的系统内核版本在AliNet插件支持的部分系统内核版本范围内。否则,集群防御规则会无法生效。容器微隔离功能支持的系统内核版本,请参见支持的操作系统版本

  • 使用云安全中心的容器微隔离服务,需要开启恶意网络行为防御功能。详细说明,请参见主动防御

  1. 执行以下操作,为已接入云安全中心的容器集群,配置并启用防御规则。

    1. 新增源网络对象和目的网络对象

    2. 创建并开启防御规则

    3. 开启集群防御

      集群防御的可拦截状态为正常时,该集群的防御状态才能开启,启用的防御规则才能生效。如果集群防御规则的可拦截状态异常,需要先处理该异常状态,请参见集群防御规则可拦截状态异常排查

  2. 对于已接入云安全中心的容器集群,出现访问流量时,开始按照容器微隔离中防御规则的优先级进行检测,拦截或告警异常访问流量。如果命中防御规则的动作为通过,或未命中任何防御规则,容器微隔离会直接放行当前访问。

    告警或拦截的防御动作会产生告警事件,具体内容,请参见查看防护状态

执行容器镜像扫描任务时,收到错误码TaskNumEmpty怎么办?

您在执行容器镜像扫描任务时,收到错误提示创建任务数量为空,且错误码为TaskNumEmpty,是因为镜像创建或更新的时间早于扫描配置中设置的扫描时间范围,导致扫描任务可扫描的镜像列表为空。

image

建议您在镜像安全扫描页面修改扫描时间范围,以便扫描时间范围能覆盖镜像的创建或者更新时间。扫描时间范围可设置为1~365天。更多信息,请参见步骤一:配置镜像安全扫描范围

image

镜像安全扫描任务状态为成功,但实际扫描量为0,怎么办?

执行镜像安全扫描任务后,任务状态为成功(如下图),但实际扫描镜像数量为0,可能是因为以下原因:

  • 扫描设置的扫描时间范围内没有新创建或更新的镜像。例如,扫描时间范围选择为最近7天,那么云安全中心会扫描最近7天以内更新的镜像。镜像更新时间超过7天,则不会被扫描。

  • 扫描时间最长可设置为356天,365天前创建或最近一次更新时间超过365天的镜像不支持扫描。

  • 云安全中心默认每日凌晨同步阿里云容器镜像服务ACR中的镜像数据。当日更新的镜像数据可能未被采集到,导致镜像未被扫描。

image

解决方案如下:

  1. 确认需扫描的镜像创建或更新的时间。如果超出365天,则不支持扫描。

  2. 根据需扫描的镜像创建或更新的时间,设置容器镜像安全扫描的扫描时间范围。

    image

  3. 容器资产页面仓库镜像页签,单击同步最新资产

    image

  4. 执行镜像安全扫描操作。

    具体操作,请参见立即执行镜像安全扫描(手动扫描)