안녕하세요.
이번엔 약 한달전 취득한 CKS(Certified Kubernetes Security Specialist) 시험 합격 후기를 공유드리려고 합니다~
1. 준비기간
CKS 공부를 시작한건 2월부터 시작 했구요
처음에 자격증을 목표로 따야지! 라는 생각으로 하진 않고 가볍게 kubernetes에서는 보안쪽으로 어떤걸 공부해야할지 몰라 자격증 과정 교육을 들으며 준비했다고 보심 될 것 같아요~
저는 제 성격을 잘 알기에 어떤걸 무언가에 쫒기듯이 하면 금방 지쳐해서 천천히 길게 목표를 잡았습니다
강의는 Udemy와, 기존에 사두었던 Fastcampus 이성미강사님의 쿠버네티스 자격증 번들을 통해 두 강의를 병행하며 진행했습니다.
https://www.udemy.com/course/certified-kubernetes-security-specialist-cks/?couponCode=ST10MT8624
https://fastcampus.co.kr/dev_online_kubemaster
2. 공부방법
CKA를 취득하면서 기초적인 부분은 다져진 상태였고(CKS는 참고로 CKA자격증이 있어야지 응시자격이 주어집니다),
CKS를 공부하면서 중요하게 생각했던 부분은 과정별로 확실하게 이해하고 넘어가기 위해 노렸했고, 실습을 하게되면 숙달될때 까지 반복적으로 했었습니다.
CKS는 굉장히 어렵다는 소문을 많이 들었던 것도 있고, 이왕 공부하는거 확실하게 알고 넘어가자라는 맘 가짐도 있었습니다.
시험 합격에는 이러한 점들이 한번에 합격하는데 많이 도움이 됐던 것 같아요.
워낙 문제가 생각지도 못했던 방식으로도 출제가 되는데다 심지어 영어로 보기 때문에 확실하게 알아도 부족할 수 있겠다 라는게 컸습니다.
3. Killer shell과 실제 시험 난이도 차이
사람마다 의견이 갈리는 부분인데요
어떤분은 Killer Shell보다 실제 시험이 더 어려웠다라고 하는분도 있고, 어떤분은 실제시험이 더 쉬웠다 라고 하는분도 계신데, 저는 난이도는 비슷한것 같았습니다.
다만 확실하게 말씀드릴 수 있는건 실제 시험에 Killer Shell이 정말 도움이 많이 되었는데요.
그 이유는 난이도도 난이도인데 문제 유형이 Killer Shell도 굉장히 다양하게 나와서 실제 시험에서 당황하지 않고 문제를 풀 수 있던데에 많은 도움이 되었던 것 같습니다.
4. 시험 진행 후기
시험신청은 CKA때와 동일 하구요.
Killer Shell 또한 시험을 일정을 확정지으면 제공해줍니다.
시험시작 전에 신분증을 확인하는데요(참고로 저는 여권을 사용했습니다.) 노트북 카메라에 여권을 대고 버튼을 클릭하면 캡처할 수 있는데 이러한 방식으로 인증합니다.
시험시작 후 감독관이 여러가지를 확인합니다. 기억나기론
1. 책상 위에 있는 모든 걸 치우라함.(감독관마다 조금씩 다르지만 전 아무얘기 안나오게 책상위는 노트북이랑 마우스, 거치대만 뒀습니다.)
2. 물마실 보틀정도는 챙길거냐고 물어봄
3. 책상 밑, 거치대 밑, 마우스패드 밑
4. 방 전체
5. 귀, 손
6. 핸드폰 위치
등등
시험시간은 CKA와 동일하게 120분간 진행되는데요.
저는 검토까지 포함해서 정말 거의 딱 맞춰서 끝냈습니다.
츌제유형은 아래 시험범위를 통해 확인할 수 있는데요
시험범위
- https://github.com/cncf/curriculum/blob/master/CKS%202024%20-%20coming%20Sept%202024.pdf
제게 출제됐던 문제는 17문제 였던것 같은데 기억이 잘 안나네요;
1. Network Policy를 통한 어플리케이션 액세스 제한(2문제?)
2. CIS Benchmark review를 통한 Kubernetes Component 재설정(kubelet, etcd)(1문제)
3. Ingress TLS설정(1문제)
4. Cipher suites 설정(1문제)
5. Apparmor 설정
6. Seccomp설정
7. Pod내 어플리케리션 권한 최소화
- 예) containers.securityContext.privileged: true > false
8. 암호화된 secret 내 데이터 복호화
9. runtime class 설정
10. 어플리케이션의 권한 최소화를 위한 Dockerfile 내용 수정
11. Falco 룰 설정 통해 Pod에서 발생하는 이벤트를 추적하여 해당 내용 출력
12. Audit Log 설정
13. trivy를 활용해 image에 취약점이 있는 Pod제거
등등
5. 시험 진행간 팁
1. CKA때와 동일한데요 선언형으로 오브젝트를 배포하는 것을 추천드려요.
전부 doc을 찾아다니며 복붙하기에는 시간이 촉박합니다. 문제를 모두 보자마자 한번에 이해하고 바로 찾아서 배포하면 모르겠는데 저같은 경우 문제 이해하는데에도 시간이 걸려서 저는 반드시 선언형으로 yaml을 만들고 배포했습니다.
ex) k run nginx --image=nginx --dry-run -o yaml > nginx.yaml
2. 치트시트는 설정 돼있던 것으로 기억합니다.
3. CKA때와 마찬가지로 시험볼때 flag를 걸 수 있습니다. 저는 약 5문제정도는 약 5분정도 고민하다가 빠르게 판단하고 Flag를 걸고 넘어갔습니다.
6. 시험 결과.
저는 시험 종료 시간을 기준으로 23시간 정도 있다가 메일이 온 것 같아요.
시험 끝나고 약간 불안했는데 메일알람 보고 Congratulations! 확인하고 넘 기분 좋았네요
제가 딸 정도면 다른분들도 충분히 따실 수 있을 것이라 생각합니다.
꼭! Killer Shell 많이 풀어보고 가세요!
제가 땄으니 여러분도 무조건 따실 수 있을 거에요. 꼭 도전해보세요! 화이팅입니다!
'Kubernetes' 카테고리의 다른 글
[NKS] ConfigMap을 활용한 사용자별 액세스 컨트롤 (0) | 2024.08.07 |
---|---|
[NKS] IAM을 활용한 사용자별 액세스 컨트롤 (0) | 2024.08.07 |
Kubernetes Networkpolicy로 Pod간 트래픽 제어하기 (0) | 2024.03.31 |
Kubernetes ServiceAccount 관리 (0) | 2024.03.30 |
trivy를 활용한 Container Image 취약점 스캔하기 (0) | 2024.03.27 |