CKS考试小计

月初的时候参加了CKS考试,闲暇之余写点笔记。
感觉下来,CKS考试比CKA考试难的多。时间也是很紧张。CKS目前考试的版本也是v1.21,虽然kubernetes已经1.22了。


CKS-2.png

CKS考试中会有:

  1. RBAC的设置,控制用户的操作资源权限。

  2. 会有扫描image的trivy工具,扫描image中是否含有不安全的点。(原理也是检索CVE网站里面是否含有被爆出漏洞的image版本号)。

  3. 检索master和node上k8s上的各项配置是否合理,安全(kube-bench)。

  4. falco和sysdig,要来查看输出系统的指标(包含不限于时间时间,名称,程序信息等)

  5. 网络隔离设置。networkpolicy--限制pod service的ingress和egress的访问。

  6. audit policy,配置需要audit的资源类型和模式,方便用于troubleshooting。

  7. ImagePolicyWebhook,https://kubernetes.io/zh/docs/reference/access-authn-authz/admission-controllers/#imagepolicywebhook。主要用来限制集群中拉取的image的安全。

  8. 获取secret的几种方式。通过api获取secret。 curl https://kubernetes.default/api/v1/namespaces/restricted/secrets -H "Authorization: Bearer $(cat /run/secrets/kubernetes.io/serviceaccount/token)" -k token可以在docker inspect里面找到路径,然后进入容器内获取,这种方式可以拿到指定namespace(restricted)所有的secrets。https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#-strong-read-operations-secret-v1-core-strong-
    etcdectl 的方式获取secret。ETCDCTL_API=3 etcdctl get /registry/secrets/default/secret1 [...] | hexdump -C

    https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#verifying-that-data-is-encrypted
    当然,还有一种可能,如果RBAC都限制了,用户无法查看。可以查看当前image运行在哪个node上,然后通过docker inspect的方式查看关于passwd或者serviceAccount或者secret的路径。

  9. apparmor。AppArmor是一个高效和易于使用的Linux系统安全应用程序。AppArmor对操作系统和应用程序所受到的威胁进行从内到外的保护,甚至是未被发现的0day漏洞和未知的应用程序漏洞所导致的攻击。

  10. 只读系统的文件目录。securityContext:ReadOnlyRootFilesystem
    https://kubernetes.io/docs/concepts/policy/pod-security-policy/#volumes-and-file-systems

  11. 编写Dockfile和yaml的最佳方式。Dockerfile里面,减少层级,减少密钥暴露。可参考上一篇[Dockerfile 的最佳写法]https://www.jianshu.com/p/91deab07f70e

  12. dashboard的tls方式。

  13. 容器运行时,runtimeClass,为了支持多个容器运行时,比如docker,containerd。

总之,学习完感觉还是挺有意思的,特别是设置secret那块,比较好玩。

cks-3.png
cks-7.png

你可能感兴趣的:(CKS考试小计)