赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. ACK Edge集群
  4. 安全合规
  5. 安全最佳实践
  6. Runtime安全

Runtime安全

  • 安全最佳实践
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

Runtime安全为运行中的容器提供主动防护,主要实现方法是检测并阻止容器内发生恶意活动,减少应用程序的攻击面。

通过Seccomp等手段限制容器应用对内核进行系统调用

  • 配置容器或Pod以使用Seccomp配置文件

    Linux操作系统有几百个系统调用,但其中大部分不是运行容器所必需的。要开始使用Seccomp,请使用Strace生成堆栈跟踪以查看您的应用程序正在进行哪些系统调用,然后使用诸如Syscall2seccomp之类的工具根据从Strace收集的数据创建Seccomp配置文件。更多信息,请参见strace和syscall2Seccomp。

    与SELinux不同,Seccomp并非旨在将容器彼此隔离,而是保护主机内核免受未经授权的系统调用。工作原理是拦截系统调用并只对列入白名单的系统调用放行。Docker有一个默认的Seccomp配置文件,适用于大多数通用工作负载。containerd运行时也包含默认的Seccomp配置文件。更多信息,请参见默认的Seccomp配置文件。

    您可以通过向容器或PodSpec添加以下内容来配置容器或Pod以使用此配置文件。

    • Kubernetes 1.19之前版本:

      annotations:
        seccomp.security.alpha.kubernetes.io/pod: "runtime/default"
    • Kubernetes 1.19及之后版本:

      securityContext:
        seccompProfile:
          type: RuntimeDefault
  • 使用RuntimeDefault特性

    只适用于v1.22以上集群。SeccompDefault于社区1.22版本进入Alpha阶段,并在1.27版本正式GA。请您参考集群版本在生产环境中谨慎开启使用。开启的方式为:

    1. SeccompDefault特性在1.22至1.24版本间默认不开启,需要在节点kubelet配置中添加--feature-gates参数,指定SeccompDefault=true开启特性门控。

    2. 在节点kubelet配置中添加--seccomp-default启动参数,开启RuntimeDefault特性。

    3. 重启kubelet服务完成开启。

    开启后在节点上部署的Pod会自动使用节点运行时默认提供的Seccomp配置文件,在应用中将无法使用默认配置白名单外的系统调用。对于生产集群,请您在充分测试后开启使用。

  • 使用第三方解决方案进行Seccomp和AppArmor配置的维护

    当使用运行时默认提供的Seccomp配置文件无法满足业务需要时,您可以使用自定义的Seccomp配置文件。如果您对Linux安全不熟悉,那么创建和管理Seccomp和AppArmor配置文件将会很困难。如果您没有资源自行维护这些配置文件,请考虑使用商业解决方案。有许多比AppArmor和Seccomp等静态配置防护更加优越的第三方解决方案,已经开始使用机器学习来对异常活动进行阻断或告警。

  • 编写Seccomp策略之前考虑添加或删除Linux Capabilities

    Capabilities涉及对系统调用可访问的内核函数的各种检查。如果检查失败,系统调用通常会返回错误。检查可以在特定系统调用开始时进行,也可以在内核中多个不同系统调用(例如写入特定特权文件)可访问的区域中进行。另一方面,Seccomp是一个系统调用过滤器,在运行之前应用于所有系统调用。一个进程可以设置一个过滤器,这允许Seccomp撤销运行某些系统调用或某些系统调用的特定参数的权限。

    在使用Seccomp之前,请考虑添加或删除Linux capabilities来检验是否能按预期控制应用程序的行为。更多信息,请参见Set capabilities for a Container。

使用配置巡检动态检查应用负载中的安全隐患

通过使用ACK提供的安全配置巡检功能,可以实时检测集群工作负载中不安全的配置项,并通过直观的报表展现给安全运维人员。当巡检完成时,您可以通过阅读巡检报告中的检查项和对应的修复建议加固工作负载的配置安全。

使用阿里云云安全中心

在云原生应用运行阶段,实现基于云安全中心的应用运行时威胁检测与阻断,实时保障每个应用Pod的安全运行。云安全中心基于云原生的部署能力,实现威胁的数据自动化采集、识别、分析、响应、处置和统一的安全管控。利用多日志关联和上下文分析方案,实时检测命令执行、代码执行、SQL注入、数据泄露等风险,覆盖业务漏洞入侵场景。结合K8s日志和云平台操作日志实时进行行为审计和风险识别,实现容器服务和编排平台存在的容器逃逸、AccessKey泄露、未授权访问风险。更多信息,请参见什么是云安全中心。

相关文档

  • AppArmor Loader可以帮助管理Kubernetes集群中的AppArmor配置文件。详细信息,请参见AppArmor Loader。

  • Kubernetes目前不提供任何本地机制来将AppArmor配置文件加载到节点上,有很多方法可以设置配置文件。详细信息,请参见Setting up nodes with profiles。

相关文章

身份认证和访问控制 2025-04-21 11:13

身份认证和访问控制包含两部分基本功能:认证和授权。认证即判断用户是否为能够访问集群的合法用户,授权负责管理指定用户对资源的访问权限。 ACK集群的认证和授权

Pod安全 2025-04-21 11:13

在容器服务 Kubernetes 版中,您可以通过限制容器以特权模式运行、限制应用程序进程以root身份运行以及禁用Service Account令牌自动挂载等方式,防止容器中运行的进程逃离容器的隔离边界并获得对宿主机的访问权限。通过正确配置

Runtime安全 2025-04-21 11:13

Runtime安全为运行中的容器提供主动防护,主要实现方法是检测并阻止容器内发生恶意活动,减少应用程序的攻击面。 通过Seccomp等手段限制容器应用对内核进行系统调用

供应链安全 2025-04-21 11:13

软件供应链安全是指在软件研发、交付和使用过程中,保障软件及其相关组件的安全性,防止恶意代码、漏洞等安全风险的侵入和传播。本文从供应链角度出发给出安全建议。 背景信息

数据加密和密钥管理 2025-04-21 11:13

数据加密和密钥管理可以确保敏感数据在存储、传输和处理过程中得到有效的保护。同时,持续监测和更新加密算法和密钥管理策略,以适应不断演变的安全威胁和技术挑战。 数据加密

网络安全 2025-04-21 11:13

网络安全防护涉及访问控制和流量加密。通过定义网络策略,您可以限制服务之间的网络访问,只允许特定的流量通过。网络策略涉及很多方面,例如默认允许或拒绝规则、命名空间隔离、安全组设置等。通过加密传输的流量,可以确保敏感数据在传输过程中不被篡改或窃取。通过综合使用以上技术和措施,您可以增强服务之间的安全性和

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号