云服务器内容精选

  • 解决办法 登录集群任一节点目录。 创建hss-rbac.yaml文件,并将以下内容复制并保存至hss-rbac.yaml文件中。 {"metadata":{"namespace":"hss","name":"hssRole"},"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role","rules":[{"resources":["configmaps"],"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":[""]},{"resources":["daemonsets","deployments","deployments/rollback","replicasets"],"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":["apps"]},{"resources":["cronjobs","jobs"],"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":["batch"]},{"resources":["ingresses"],"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":["extensions"]},{"resources":["ingresses"],"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":["networking.k8s.io"]}]}{"metadata":{"namespace":"hss","name":"hssRoleBinding"},"apiVersion":"rbac.authorization.k8s.io/v1","kind":"RoleBinding","subjects":[{"kind":"ServiceAccount","name":"hss-user","namespace":"hss"}],"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"Role","name":"hssRole"}}{"metadata":{"name":"hssClusterRole"},"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","rules":[{"resources":["namespaces","pods","nodes","services","endpoints","configmaps","events","persistentvolumeclaims","persistentvolumes","podtemplates","replicationcontrollers","serviceaccounts","pods/log"],"verbs":["get","list"],"apiGroups":[""]},{"resources":["pods/status"],"verbs":["update"],"apiGroups":[""]},{"resources":["daemonsets","deployments","replicasets","statefulsets"],"verbs":["get","list"],"apiGroups":["apps"]},{"resources":["horizontalpodautoscalers"],"verbs":["get","list"],"apiGroups":["autoscaling"]},{"resources":["cronjobs","jobs"],"verbs":["get","list"],"apiGroups":["batch"]},{"resources":["endpointslices"],"verbs":["get","list"],"apiGroups":["discovery.k8s.io"]},{"resources":["events"],"verbs":["get","list"],"apiGroups":["events.k8s.io"]},{"resources":["ingresses"],"verbs":["get","list"],"apiGroups":["extensions"]},{"resources":["ingressclasses","ingresses","networkpolicies"],"verbs":["create","delete","update","get","list"],"apiGroups":["networking.k8s.io"]},{"resources":["clusterrolebindings","clusterroles","rolebindings","roles"],"verbs":["create","delete","deletecollection","patch","update","watch"],"apiGroups":["rbac.authorization.k8s.io"]},{"resources":["clusterrolebindings","clusterroles","rolebindings","roles"],"verbs":["get","list"],"apiGroups":["rbac.authorization.k8s.io"]},{"resources":["storageclasses","volumeattachments"],"verbs":["get","list"],"apiGroups":["storage.k8s.io"]}]}{"metadata":{"name":"hssClusterRoleBinding"},"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","subjects":[{"kind":"ServiceAccount","name":"hss-user","namespace":"hss"}],"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"hssClusterRole"}} 执行以下命令,配置HSS所需的全量rbac权限 kubectl apply -f hss-rbac.yaml 登录HSS控制台,查看权限列表中“是否有权限”列均为“是”,表示权限恢复正常,问题解决。 详细操作请参考问题现象中查看权限列表的操作。 如果您一直停留在HSS权限列表页面,请在配置完成后刷新下页面。
  • 集群连接组件(ANP-Agent)安装失败 问题现象 在接入第三方云集群或自建集群过程中,执行以下命令查看集群连接组件(ANP-Agent)安装状态。 kubectl get pods -n hss | grep proxy-agent 界面回显如下所示,表示集群连接组件(ANP-Agent)安装失败。 proxy-agent-5dc5cf6cd7-khdlt 0/1 ImagePullBackOff 0 42h proxy-agent-5dc5cf6cd7-n56bx 0/1 Pending 0 42h
  • 开启apiserver审计功能 将以下yaml内容复制并保存至yaml文件,并将yaml文件命名为“audit-policy.yaml”。 该yaml内容为K8s审计功能的配置文件,您可以直接使用或者根据实际业务情况编写。 apiVersion: audit.k8s.io/v1 # This is required. kind: Policy # Don't generate audit events for all requests in RequestReceived stage. omitStages: - "RequestReceived" rules: # The following requests were manually identified as high-volume and low-risk, # so drop them. # Kube-Proxy running on each node will watch services and endpoint objects in real time - level: None users: ["system:kube-proxy"] verbs: ["watch"] resources: - group: "" # core resources: ["endpoints", "services"] # Some health checks - level: None users: ["kubelet"] # legacy kubelet identity verbs: ["get"] resources: - group: "" # core resources: ["nodes"] - level: None userGroups: ["system:nodes"] verbs: ["get"] resources: - group: "" # core resources: ["nodes"] - level: None users: ["system:apiserver"] verbs: ["get"] resources: - group: "" # core resources: ["namespaces"] # Some system component certificates reuse the master user, which cannot be accurately distinguished from user behavior, # considering that subsequent new functions may continue to add system operations under kube-system, the cost of targeted configuration is relatively high, # in terms of the overall strategy, it is not recommended (allowed) for users to operate under the kube-system, # so overall drop has no direct impact on user experience - level: None verbs: ["get", "update"] namespaces: ["kube-system"] # Don't log these read-only URLs. - level: None nonResourceURLs: - /healthz* - /version - /swagger* # Don't log events requests. - level: None resources: - group: "" # core resources: ["events"] # Don't log leases requests - level: None verbs: [ "get", "update" ] resources: - group: "coordination.k8s.io" resources: ["leases"] # Secrets, ConfigMaps, and TokenReviews can contain sensitive & binary data, # so only log at the Metadata level. - level: Metadata resources: - group: "" # core resources: ["secrets", "configmaps"] - group: authentication.k8s.io resources: ["tokenreviews"] # Get responses can be large; skip them. - level: Request verbs: ["get", "list", "watch"] resources: - group: "" # core - group: "admissionregistration.k8s.io" - group: "apps" - group: "authentication.k8s.io" - group: "authorization.k8s.io" - group: "autoscaling" - group: "batch" - group: "certificates.k8s.io" - group: "extensions" - group: "networking.k8s.io" - group: "policy" - group: "rbac.authorization.k8s.io" - group: "settings.k8s.io" - group: "storage.k8s.io" # Default level for known APIs - level: RequestResponse resources: - group: "" # core - group: "admissionregistration.k8s.io" - group: "apps" - group: "authentication.k8s.io" - group: "authorization.k8s.io" - group: "autoscaling" - group: "batch" - group: "certificates.k8s.io" - group: "extensions" - group: "networking.k8s.io" - group: "policy" - group: "rbac.authorization.k8s.io" - group: "settings.k8s.io" - group: "storage.k8s.io" # Default level for all other requests. - level: Metadata 将audit-policy.yaml文件上传至/etc/kubernetes/路径下。 进入/etc/kubernetes/manifests目录,将以下内容填写至配置文件kube-apiserver.yaml中,开启apiserver审计功能。 --audit-policy-file=/etc/kubernetes/audit-policy.yaml --audit-log-path=/var/log/kubernetes/audit/audit.log --audit-log-maxsize=100 --audit-log-maxage=1 --audit-log-maxbackup=10 --audit-policy-file:指定审计功能所使用的配置文件。 --audit-log-path:指定用来写入审计事件的日志文件路径。不指定此标志会禁用日志后端。 --audit-log-maxsize:定义审计日志文件轮转之前的最大大小(兆字节)。 --audit-log-maxage:定义保留旧审计日志文件的最大天数。 --audit-log-maxbackup:定义要保留的审计日志文件的最大数量。 将上述启动参数填写至配置文件kube-apiserver.yaml时,注意与kube-apiserver.yaml中的启动参数格式保持一致,且不能存在制表符(tab)。 (可选)如果您的kube-apiserver是以Pod形式存在,请按如下步骤将审计日志持久化到主机上。 在kube-apiserver.yaml中找到volumeMounts字段,按如下配置挂载数据卷。 volumeMounts: - mountPath: /etc/kubernetes/audit-policy.yaml name: audit readOnly: true - mountPath: /var/log/kubernetes/audit/ name: audit-log readOnly: false 在kube-apiserver.yaml中找到volumes字段,按如下配置挂载。 volumes: - name: audit hostPath: path: /etc/kubernetes/audit-policy.yaml type: File - name: audit-log hostPath: path: /var/log/kubernetes/audit/ type: DirectoryOrCreate
  • 前提条件 已开启容器防护,相关操作请参见开启容器节点防护。 已确认apiserver审计功能未开启,确认步骤如下: 登录到kube-apiserver所在的节点。 查看kube-apiserver.yaml文件或者已经启动的kube-apiserver进程。 进入/etc/kubernetes/manifest目录,查看kube-apiserver.yaml中是否存在--audit-log-path和--audit-policy-file,不存在即表示apiserver审计功能未正常开启。 执行ps命令,查看kube-apiserver的进程命令行中是否存在--audit-log-path和--audit-policy-file,不存在即表示apiserver审计功能未正常开启。
  • 集群连接组件(ANP-Agent)连接失败 问题现象 在接入第三方云集群或自建集群过程中,执行以下命令查看集群连接组件(ANP-Agent)连接状态。 for a in $(kubectl get pods -n hss| grep proxy-agent | cut -d ' ' -f1); do kubectl -n hss logs $a | grep 'Start serving';done 界面回显为“空”,表示集群和HSS连接失败。 解决办法 登录集群任一节点。 执行以下命令,查看节点日志。 kubectl logs proxy-agent-xxx -n hss 界面回显如图 连接建立失败所示,表示集群连接组件端到HSS server端的grpc连接建立失败。 图4 连接建立失败 请按以下步骤排查并解决问题。 集群连接组件的服务器 域名 示例:hss-anp.区域代码.myhuaweicloud.com。 各区域代码请参见地区和终端节点。 检查集群安全组的出方向是否允许访问100.125.0.0/16网段的8091端口。 允许访问:请继续执行步骤2。 拒绝访问:请设置安全组出方向允许访问该端口,再重试接入集群资产。 执行以下命令,检查能否ping通集群连接组件的服务器域名。 ping {{集群连接组件的服务器域名}} 能ping通:请继续执行步骤3。 不能ping通:请配置 DNS地址 为华为云内网DNS地址,华为云各区域的内网DNS地址请参见华为云内网DNS地址。配置完成后,重试接入集群资产。 执行以下命令,检查能否访问集群连接组件的服务器的指定端口。 telnet {{集群连接组件的服务器域名}} 8091 如不能访问,请关闭防火墙后,重试接入集群资产。
  • 关键文件变更监控路径 类型 Linux bin /bin/ls /bin/ps /bin/bash /bin/login usr /usr/bin/ls /usr/bin/ps /usr/bin/bash /usr/bin/login /usr/bin/passwd /usr/bin/top /usr/bin/killall /usr/bin/ssh /usr/bin/wget /usr/bin/curl
  • 告警事件列表说明 事件类型 告警名称 原理说明 恶意软件 未分类恶意软件 通过程序特征、行为检测,结合AI图像指纹算法以及云查杀,有效识别后门、木马、挖矿软件、蠕虫和病毒等恶意程序,也可检测出容器中未知的恶意程序和病毒变种。 勒索软件 检测来自网页、软件、邮件、存储介质等介质捆绑、植入的勒索软件。 勒索软件用于锁定、控制您的文档、邮件、数据库、源代码、图片、压缩文件等多种数据资产,并以此作为向您勒索钱财的筹码。 Webshell 检测容器中Web目录中的文件,判断是否为Webshell木马文件,支持检测常见的PHP、JSP等后门文件类型。 黑客工具 检测利用漏洞或者黑客工具的恶意行为,一旦发现进行告警上报。 漏洞利用 漏洞逃逸攻击 HSS监控到容器内进程行为符合已知漏洞的行为特征时(例如:“脏牛”、“bruteforce”、“runc”、“shocker”等),触发逃逸漏洞攻击告警 文件逃逸攻击 HSS监控发现容器进程访问了宿主机系统的关键文件目录(例如:“/etc/shadow”、“/etc/crontab”),则认为容器内发生了逃逸文件访问,触发告警。即使该目录符合容器配置的目录映射规则,HSS仍然会触发告警。 系统异常行为 反弹Shell 实时监控用户的进程行为,并支持告警和阻断进程的非法Shell连接操作产生的反弹Shell行为。 支持对TCP、UDP、ICMP等协议的检测。 您可以在“策略管理”的“恶意文件检测”策略中配置反弹Shell检测和自动化阻断,HSS会实时检测执行的可疑指令、主机被远程控制执行任意命令等。 您也可以在“策略管理”的“HIPS检测”策略中配置自动化阻断反弹Shell行为。 文件提权 检测利用SUID、SGID程序漏洞进行root提权的行为,一旦发现进行告警上报。 进程提权 当黑客成功入侵容器后,会尝试利用漏洞进行root提权或者文件提权,从而达到非法创建和修改系统账号的权限或者篡改文件的目的。 HSS支持检测以下异常提权操作: 利用SUID程序漏洞进行root提权。 利用内核漏洞进行root提权。 对文件的提权。 关键文件变更 实时监控系统关键文件(例如:ls、ps、login、top等),对修改文件内容的操作进行告警,提醒用户关键文件可能被篡改。监控的关键文件的路径请参见关键文件变更监控路径。 对于关键文件变更,HSS只检测文件内容是否被修改,不关注是人为还是进程进行的修改。 进程异常行为 检测各个主机的进程信息,包括进程ID、命令行、进程路径、行为等。 对于进程的非法行为、黑客入侵过程进行告警。 进程异常行为可以监控以下异常行为: 监控进程CPU使用异常。 检测进程对恶意IP的访问。 检测进程并发连接数异常等。 高危系统调用 Linux系统调用是用户进程进入内核执行任务的请求通道。CGS监控容器进程,如果发现进程使用了危险系统调用(例如:“open_by_handle_at”、“ptrace”、“setns”、“reboot”等),触发高危系统调用告警。 高危命令执行 实时检测容器系统中执行的高危命令,当发生高危命令执行时触发告警。 容器进程异常 容器恶意程序 HSS监控容器内启动的容器进程的行为特征和进程文件指纹,如果特征与已定义的恶意程序吻合则触发容器恶意程序告警。 容器异常进程 容器业务通常比较单一。如果用户能够确定容器内只会运行某些特定进程,可以在“策略管理”设置“容器进程白名单”并将策略关联容器镜像。 对于已关联的容器镜像启动的容器,HSS只允许白名单进程启动,如果容器内存在非白名单进程,触发容器异常程序告警。 敏感文件访问 HSS监控容器内已配置文件保护策略的容器镜像文件状态。如果发生文件修改事件则触发文件异常告警。 容器异常启动 HSS监控新启动的容器,对容器启动配置选项进行检测,当发现容器权限过高存在风险时触发告警。容器环境检测触发的告警只是提醒容器启动风险,并不是发生实际攻击。如果黑客利用容器配置风险执行了真实攻击,仍然会触发HSS 容器安全 的其他检测告警。 HSS支持以下容器环境检测: 禁止启动特权容器(privileged:true) 特权容器是指容器以最大权限启动,类似于操作系统的root权限,拥有最大能力。docker run启动容器时携带“ –privileged=true”参数,或者kubernates POD配置中容器的“securityContext”配置了“privileged:true”,此时容器会以特权容器方式启动。 告警名称为“容器安全选项”,告警内容中提示“privileged:true”,表示该容器以特权容器模式启动。 需要限制容器能力集(capabilities:[xxx]) Linux系统将系统权限做了分类,通过授予特定的权限集合,能控制容器进程的操作范围,避免出现严重问题。容器启动时默认开启了一些常用能力,通过修改启动配置可以放开所有系统权限。 告警名称为“容器安全选项”,告警内容中提示“capabilities:[xxx]”,表示该容器启动时拥有所有能力集过大,存在风险。 建议启用seccomp(seccomp=unconfined) Seccomp(secure computing mode)是Linux的一种内核特性,用于限制进程能够调用的系统调用,减少内核的攻击面。如果容器启动时设置“seccomp=unconfined”,将不会对容器内的系统调用执行限制。 告警名称“容器安全选项”,告警内容中提示“seccomp=unconfined”,表示该容器启动时没有启动seccomp,存在风险。 说明: 启用seccomp后,由于每次系统调用Linux内核都需要执行权限校验,如果容器业务场景会频繁使用系统调用,开启seccomp对性能会有一定影响。具体影响建议在实际业务场景测试分析。 限制容器获取新的权限(no-new-privileges:false) 进程可以通过程序的suid位或者sgid位获取附加权限,通过sudo提权执行更高权限的操作。容器默认配置限制不允许进行权限提升。 如果容器启动时指定了“ –no-new-privileges=false”,则该容器拥有权限提升的能力。 告警名称为“容器安全选项”,告警内容中提示“no-new-privileges:false”,表示该容器关闭了提权限制,存在风险。 危险目录映射(mounts:[...]) 容器启动时可以将宿主机目录映射到容器内,方便容器内业务直接读写宿主机上的资源。这是一种存在风险的使用方式,如果容器启动时映射了宿主机操作系统关键目录,容易造成从容器内破坏宿主机系统的事件。 HSS监控到容器启动时mount了宿主机危险路径时触发告警,定义的宿主机危险目录包括:“/boot”,“ /dev”,“/etc”,“/sys”,“/var/run”等。 告警名称为“容器挂载目录”,告警内容中提示“mounts:[{"source":"xxx","destination":"yyy"...]”,表示该容器映射的文件路径存在风险,需要按照告警中的目录映射关系排查是否存在危险的映射,可以将认为安全的挂载路径配置到容器信息收集的策略中。 说明: 对于docker容器常用的需要访问的宿主文件如“ /etc/hosts”、“/etc/resolv.conf”不会触发告警。 禁止启动命名空间为host的容器 容器的命名空间需要与主机隔离开,如果容器配置了与主机相同的命名空间,则该容器可以访问并修改主机上的内容,易造成容器逃逸的安全事件,存在安全风险。因此HSS会检测容器的pid,network,ipc命名空间是否为host。 告警名称为“容器命名空间”,告警内容中提示“容器pid命名空间模式”、“容器ipc命名空间模式”、“容器网络命名空间模式”,表示启动了命名空间为host的容器,需要按照告警中的提示排查容器的启动选项,如果存在业务需要,可以将该告警事件忽略。 容器镜像阻断 在Docker环境中容器启动前,HSS检测到镜像异常行为策略中指定的不安全容器镜像运行时触发告警。 说明: 需安装Docker插件。 可疑命令执行 检测通过命令或工具创建、删除计划任务或自启动任务。 检测远程执行命令的可疑行为。 用户异常行为 非法系统用户账号 黑客可能通过风险账号入侵容器,以达到控制容器的目的,需要您及时排查系统中的账户。 HSS检查系统中存在的可疑隐藏账号、克隆账号;若存在可疑账号、克隆账号等,则触发告警。 暴力破解 检测容器场景下“尝试暴力破解”和“暴力破解成功”等暴破异常行为,发现暴破行为时触发告警。 支持检测容器场景下SSH、Web和Enumdb暴破行为。 说明: 目前暂仅支持Docker容器运行时的暴力破解检测告警。 用户密码窃取 检测到通过非法手段获取用户密钥行为,一旦发现进行告警上报。 网络异常访问 异常外联行为 检测到服务器存在异常外联可疑ip的行为,一旦发现进行告警上报。 端口转发检测 检测到利用可疑工具进行端口转发行为,一旦发现进行告警上报。 集群异常行为 Pod异常行为 检测集群中存在创建特权pod、静态pod及敏感配置pod的异常行为,以及对现存pod执行的异常操作,一旦发现进行告警上报。 枚举用户信息 检测存在枚举集群用户的权限以及可执行操作列表的行为,一旦发现进行告警上报。 绑定集群用户角色 检测绑定、创建高权限集群角色或Service Account的行为,一旦发现进行告警上报。 Kubernetes事件删除 检测集群中删除Kubernetes事件的行为,一旦发现进行警上报。
  • 容器运行时安全 容器运行时安全功能实时监控节点中容器运行状态,发现挖矿、勒索等恶意程序,发现违反容器安全策略的进程运行和文件修改,以及容器逃逸等行为并给出解决方案。 表3 容器运行时安全 功能项 功能描述 检测周期 容器逃逸检测 从宿主机角度通过机器学习结合规则检测逃逸行为,简单精确,包括shocker攻击、进程提权、DirtyCow和文件暴力破解等。 实时检测 高危系统调用 检测容器内发起的可能引起安全风险的Linux系统调用。 实时检测 异常程序检测 检测违反安全策略的进程启动,以及挖矿、勒索、病毒木马等恶意程序。 实时检测 文件异常检测 检测违反安全策略的文件异常访问,安全运维人员可用于判断是否有黑客入侵并篡改敏感文件。 实时检测 容器环境检测 检测容器启动异常、容器配置异常等容器环境异常。 实时检测
  • CGS权限 默认情况下,系统管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CGS部署时通过物理区域划分,为项目级服务,授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CGS时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对CGS服务,系统管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。CGS支持的授权项请参见CGS权限及授权项。 表1 CGS系统角色 系统角色/策略名称 描述 类别 依赖关系 CGS Administrator 容器安全服务 (CGS)系统管理员,拥有该服务下的所有权限。 系统角色 依赖Tenant Guest策略,在同项目中勾选依赖的策略。 CGS FullAccess 容器安全服务所有权限。 系统策略 无。 CGS ReadOnlyAccess 容器安全服务只读访问权限,拥有该权限的用户仅能查看容器安全服务。 系统策略 无。
  • 容器安全策略 通过配置安全策略,帮助企业制定容器进程白名单和文件保护列表,确保容器以最小权限运行,从而提高系统和应用的安全性。 表2 容器安全策略 功能项 功能描述 检测周期 进程白名单 将容器运行的进程设置为白名单,非白名单的进程启动将告警,有效阻止异常进程、提权攻击、违规操作等安全风险事件的发生。 实时检测 文件保护 容器中关键的应用目录(例如bin,lib,usr等系统目录)应该设置文件保护以防止黑客进行篡改和攻击。容器安全服务提供的文件保护功能,可以将这些目录设置为监控目录,有效预防文件篡改等安全风险事件的发生。 实时检测
  • 部署架构 容器安全服务部署架构如图2所示,关键组件功能说明如表1所示。 图2 容器安全服务部署架构 表1 容器安全服务关键组件功能说明 组件 说明 CGS Container CGS作为一个容器运行在每个容器节点(主机)上,负责节点上所有容器的镜像 漏洞扫描 ,安全策略实施和异常事件收集。 管理Master 负责管理与维护CGS Container。 安全智能 安全智能是安全信息知识库,用于获取漏洞库、恶意程序库等更新,以及大数据AI训练模型等。 管理控制台 用户通过管理控制台使用容器安全服务。
  • 相关概念 镜像 镜像(Image)是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器 容器(Container)是镜像的实例,容器可以被创建、启动、停止、删除、暂停等。 镜像、容器和应用的关系说明如图1所示。 一个镜像可以启动多个容器。 应用可以包含一个或一组容器。 图1 镜像、容器、应用的关系
  • 容器镜像安全 容器镜像安全功能可扫描镜像仓库与正在运行的容器镜像,发现镜像中的漏洞、恶意文件等并给出修复建议,帮助用户得到一个安全的镜像。 什么是镜像详情请参见镜像概述。 镜像、容器、原因的关系详情请参见镜像、容器、应用的关系是什么? CGS支持对基于Linux操作系统制作的容器镜像进行检测。 表1 容器镜像安全 功能项 功能描述 检测周期 镜像安全扫描(私有镜像仓库) 支持对私有镜像仓库(SWR中的自有镜像)进行安全扫描,发现镜像的漏洞、不安全配置和恶意代码。 检测范围如下: 漏洞扫描 对SWR自有镜像进行已知CVE漏洞等安全扫描,帮助用户识别出存在的风险。 恶意文件 检测和发现私有镜像是否存在Trojan、Worm、Virus病毒和Adware垃圾软件等类型的恶意文件。 基线检查 检测私有镜像的配置合规项目,帮助用户识别不安全的配置项。 软件信息 统计和展示私有镜像软件。 文件信息 统计和展示私有镜像中不归属于软件列表的文件。 每日凌晨自动检测 手动检测 镜像漏洞扫描(本地镜像) 对CCE容器中运行的镜像进行已知CVE漏洞等安全扫描,帮助用户识别出存在的风险。 实时检测 镜像漏洞扫描(官方镜像仓库) 定期对Docker官方镜像进行漏洞扫描。 -
  • 服务版本说明 容器安全服务提供了企业版版本。支持的功能如表1。详细的功能介绍,请参见功能特性。 企业版提供更多种类的检测和监测功能,包含集群防护、镜像漏洞检测及修复、基线检查、恶意文件、容器运行时安全、安全配置等功能。用户购买容器安全防护配额后,即可使用企业版功能。 表1 服务版本功能说明 服务功能 功能项 企业版 (√:支持;×:不支持) 集群防护 集群防护 √ 本地镜像 本地镜像漏洞扫描 √ 私有镜像 私有镜像漏洞扫描 √ 私有镜像恶意文件 √ 私有镜像软件信息 √ 私有镜像文件信息 √ 私有镜像基线检查 √ 官方镜像 官方镜像漏洞扫描 √ 运行时安全 逃逸检测 √ 高危系统调用 √ 异常程序检测 √ 文件异常检测 √ 容器环境检测 √ 安全配置 进程白名单 √ 文件保护 √
  • 修订记录 发布日期 修改说明 2021-07-09 第十七次正式发布。 服务入口刷新。 2020-10-20 第十六次正式发布。 新增产品优势。 新增应用场景。 服务版本说明,优化相关内容描述。 计费说明,优化计费项说明。 2020-08-26 第十五次正式发布。 计费说明,优化相关内容描述。 2020-05-21 第十四次正式发布。 计费说明,下线宽限期内容。 2020-05-20 第十三次正式发布。 新增计费说明。 2020-04-20 第十二次正式发布。 功能特性,优化相关内容描述。 服务版本说明,新增功能描述。 2020-04-07 第十一次正式发布。 CGS权限管理,优化相关内容描述。 2020-02-28 第十次正式发布。 新增服务版本说明。 2020-02-21 第九次正式发布。 CGS权限管理,新增细粒度策略。 2019-12-18 第八次正式发布。 与其他云服务的关系,优化相关内容描述。 2019-10-24 第七次正式发布。 CGS权限管理,优化相关内容描述。 2019-08-13 第六次正式发布。 什么是容器安全服务,优化相关内容描述。 2019-06-24 第五次正式发布。 什么是容器安全服务,增加相关内容描述。 2019-05-30 第四次正式发布。 与其他云服务的关系,优化相关内容描述。 2019-05-27 第三次正式发布。 新增CGS权限管理。 2018-11-02 第二次正式发布。 与其他服务的关系章节,增加与 统一身份认证 服务的关系。 2018-10-18 第一次正式发布。