CKS真題 -- AppArmor應⽤程序⾏爲限制

任務

在 cluster 的工作節點上,實施位於 /etc/apparmor.d/nginx_apparmor 的現有 APPArmor配置文件。
編輯位於 /home/candidate/KSSH00401/nginx-deploy.yaml 的現有清單文件以應用AppArmor 配置文件。 最後,應用清單文件並創建其中指定的 Pod 。

 

做題

  1. 在集羣所有節點上加載apparmor策略,並檢查
apparmor_parser /etc/apparmor.d/nginx_apparmor
apparmor_status|grep nginx-profile
  1. 回到主節點,編輯清單文件,添加配置
    vim /home/candidate/KSSH00401/nginx-deploy.yaml
apiVersion: 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

  1. 檢查
    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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章