目前的所有题目为2024年10月后更新的最新题库,考试的k8s版本为1.31.1
专栏其他文章:
- [CKS] K8S Admission Set Up
- [CKS] CIS基准测试,修复kubelet和etcd不安全项
- [CKS] K8S NetworkPolicy Set Up
- [CKS] 利用Trivy对image进行扫描
- [CKS] 利用falco进行容器日志捕捉和安全监控
- [CKS] Audit Log Policy
- [CKS] Create/Read/Mount a Secret in K8S
- [CKS] K8S Dockerfile和yaml文件安全检测
- [CKS] K8S RuntimeClass SetUp
- [CKS] TLS Secrets创建与挂载
- [CKS] falco扫描发现访问指定文件pod
- [CKS] 使用ingress公开https服务
- [CKS] bom工具生成SPDX文档
- [CKS] 执行Pod安全标准
- [CKS] Docker守护进程
- [CKS]启用apiserver身份验证
BackGround
Pod行为不当,对系统构成安全威胁。
Task
属于应用程序ollama
的一个Pod
出现异常。它正从敏感文件/dev/mem
直接访问系统的内存读取数据。
-
首先,识别访问
/dev/mem
行为不当的Pod
。 -
接下来,将行为不当
Pod
的Deployment
缩放为零副本。
注意:
除缩小副本外,不要修改Deployment其他内容。
不要修改任何其他Deployment。
不要删除任何Deployment。
Practice
Step 1:创建falco规则,扫描访问/dev/mem
的container id
在/etc/falco/falco_rules.local.yaml
文件中编辑新的自定义rules
- list: mem_file
items: [/dev/mem]
- rule: devmem
desc: devmem
condition: >
fd.name in mem_file
output: >
Shell (command=%proc.cmdline,file=%fd.name,container_id=%container.id)
priority: NOTICE
tags: [file]
创建完成之后,可以运行如下命令进行扫描
sudo falco -M 30 -r /etc/falco/falco_rules.local.yaml
根据扫描结果,你可以看到访问/dev/mem
的container id是0c27ee03096c
,根据这个id可以找到对应的pod
Step 2:查找对应pod,根据container id
我们可以通过以下命令查找到对应的pod。
sudo crictl ps | grep 0c27ee03096c
我们可以看到对应的pod是cpu-65cf4d685c-lvnqk
Step 3: 查找对应的deployment根据pod
通过kubectl get deployment
可以找到对应的deployment为cpu
Step 4:将deployment缩放为零副本
kubectl scale deployment --replicas=0 cpu