CKS真题 -- AppArmor应⽤程序⾏为限制
任务
在 cluster 的工作节点上,实施位于 /etc/apparmor.d/nginx_apparmor 的现有 APPArmor配置文件。
编辑位于 /home/candidate/KSSH00401/nginx-deploy.yaml 的现有清单文件以应用AppArmor 配置文件。 最后,应用清单文件并创建其中指定的 Pod 。
做题
在集群所有节点上加载apparmor策略,并检查
1
2apparmor_parser /etc/apparmor.d/nginx_apparmor
apparmor_status|grep nginx-profile回到主节点,编辑清单文件,添加配置
vim /home/candidate/KSSH00401/nginx-deploy.yaml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16apiVersion: v1
kind: Pod
metadata:
name: nginx-deploy
annotations:
# 从官网复制,注意格式:container.apparmor.security.beta.kubernetes.io/<container_name>: <profile_ref>
# <container_name> 的名称是配置文件所针对的容器的名称,<profile_def> 则设置要应用的配置文件。 <profile_ref> 可以是以下取值之一:
# runtime/default 应用运行时的默认配置
# localhost/<profile_name> 应用在主机上加载的名为 <profile_name> 的配置文件
# unconfined 表示不加载配置文件
container.apparmor.security.beta.kubernetes.io/nginx-deploy: localhost/nginx-profile-1
spec:
containers:
- name: nginx-deploy
image: busybox
command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]
kubectl apply -f /home/candidate/KSSH00401/nginx-deploy.yaml
- 检查
kubectl get pod
kubectl exec nginx-deploy – cat /proc/1/attr/current
kubectl exec nginx-deploy – touch /tmp/test
参考
https://kubernetes.io/zh-cn/docs/tutorials/security/apparmor/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Eryoung2的个人博客!
评论
ValineDisqus