참고: Itcertkr에서 Google Drive로 공유하는 무료, 최신 CKS 시험 문제집이 있습니다: https://drive.google.com/open?id=1487xJBsUuoFk3Jkbgb4zPZT8Q7ffOyLu
Linux Foundation인증CKS시험을 패스하기가 어렵다고 하면 합습가이드를 선택하여 간단히 통과하실 수 잇습니다. 우리Itcertkr에서는 무조건 여러분을 위하여 관연 자료덤프 즉 문제와 답을 만들어낼 것입니다. 우리덤프로Linux Foundation인증CKS시험준비를 잘하시면 100%Linux Foundation인증CKS시험을 패스할 수 있습니다. Itcertkr덤프로 여러분은Linux Foundation인증CKS시험을 패스는 물론 여러분의 귀증한 간도 절약하실 수 있습니다.
CKS 인증 시험은 클러스터 설정, Kubernetes 구성 요소 보안, 컨테이너 이미지 보안, 네트워크 및 저장소 구성 보안, Kubernetes API 및 인증 보안 등 Kubernetes 보안과 관련된 다양한 분야에 대한 개인의 전문 지식을 검증하기 위해 설계되었습니다. 시험은 온라인으로 진행되며, 시험 기간은 2시간입니다. 시험은 17-20개의 성과 중심 과제로 구성되어 있으며, 개인의 지식을 실제 시나리오에 적용할 수 있는 능력을 테스트합니다.
>> Linux Foundation CKS최고덤프 <<
아무런 노력을 하지 않고 승진이나 연봉인상을 꿈꾸고 있는 분이라면 이 글을 검색해낼수 없었을것입니다. 승진이나 연봉인상을 꿈꾸면 승진과 연봉인상을 시켜주는 회사에 능력을 과시해야 합니다. IT인증시험은 국제적으로 승인해주는 자격증을 취득하는 시험입니다. Itcertkr의Linux Foundation인증 CKS덤프의 도움으로 Linux Foundation인증 CKS시험을 패스하여 자격증을 취득하면 승진이나 연봉인상의 꿈이 이루어집니다. 결코 꿈은 이루어질것입니다.
리눅스 재단 CKS (Certified Kubernetes Security Specialist) 자격증 시험은 Kubernetes 클러스터 보안에 대한 지식과 기술을 검증하려는 전문가들을 위한 필수 자격증 프로그램입니다. 이 자격증 시험은 다양한 보안 주제를 다루며, 벤더 중립적이어서 다양한 산업에서 일하는 전문가들에게 유용한 자격증입니다. 시험은 엄격하고 성과 기반으로 진행되어, 자격증을 취득한 전문가들이 Kubernetes 환경을 효과적으로 보호하기 위해 필요한 지식과 기술을 보유하고 있음을 보장합니다.
질문 # 20
SIMULATION
Create a Pod name Nginx-pod inside the namespace testing, Create a service for the Nginx-pod named nginx-svc, using the ingress of your choice, run the ingress on tls, secure port.
정답:
설명:
See the Explanation belowExplanation:
$ kubectl get ing -n <namespace-of-ingress-resource>
NAME HOSTS ADDRESS PORTS AGE
cafe-ingress cafe.com 10.0.2.15 80 25s
$ kubectl describe ing <ingress-resource-name> -n <namespace-of-ingress-resource> Name: cafe-ingress Namespace: default Address: 10.0.2.15 Default backend: default-http-backend:80 (172.17.0.5:8080) Rules:
Host Path Backends
---- ---- --------
cafe.com
/tea tea-svc:80 (<none>)
/coffee coffee-svc:80 (<none>)
Annotations:
kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{},"name":"cafe-ingress","namespace":"default","selfLink":"/apis/networking/v1/namespaces/default/ingresses/cafe-ingress"},"spec":{"rules":[{"host":"cafe.com","http":{"paths":[{"backend":{"serviceName":"tea-svc","servicePort":80},"path":"/tea"},{"backend":{"serviceName":"coffee-svc","servicePort":80},"path":"/coffee"}]}}]},"status":{"loadBalancer":{"ingress":[{"ip":"169.48.142.110"}]}}} Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 1m ingress-nginx-controller Ingress default/cafe-ingress
Normal UPDATE 58s ingress-nginx-controller Ingress default/cafe-ingress
$ kubectl get pods -n <namespace-of-ingress-controller>
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-67956bf89d-fv58j 1/1 Running 0 1m
$ kubectl logs -n <namespace> ingress-nginx-controller-67956bf89d-fv58j
------------------------------------------------------------------------------- NGINX Ingress controller Release: 0.14.0 Build: git-734361d Repository: https://github.com/kubernetes/ingress-nginx
-------------------------------------------------------------------------------
....
질문 # 21
Enable audit logs in the cluster, To Do so, enable the log backend, and ensure that
1. logs are stored at /var/log/kubernetes-logs.txt.
2. Log files are retained for 12 days.
3. at maximum, a number of 8 old audit logs files are retained.
4. set the maximum size before getting rotated to 200MB
Edit and extend the basic policy to log:
1. namespaces changes at RequestResponse
2. Log the request body of secrets changes in the namespace kube-system.
3. Log all other resources in core and extensions at the Request level.
4. Log "pods/portforward", "services/proxy" at Metadata level.
5. Omit the Stage RequestReceived
All other requests at the Metadata level
정답:
설명:
Kubernetes auditing provides a security-relevant chronological set of records about a cluster. Kube-apiserver performs auditing. Each request on each stage of its execution generates an event, which is then pre-processed according to a certain policy and written to a backend. The policy determines what's recorded and the backends persist the records.
You might want to configure the audit log as part of compliance with the CIS (Center for Internet Security) Kubernetes Benchmark controls.
The audit log can be enabled by default using the following configuration in cluster.yml:
services:
kube-api:
audit_log:
enabled: true
When the audit log is enabled, you should be able to see the default values at /etc/kubernetes/audit-policy.yaml The log backend writes audit events to a file in JSONlines format. You can configure the log audit backend using the following kube-apiserver flags:
--audit-log-path specifies the log file path that log backend uses to write audit events. Not specifying this flag disables log backend. - means standard out
--audit-log-maxage defined the maximum number of days to retain old audit log files
--audit-log-maxbackup defines the maximum number of audit log files to retain
--audit-log-maxsize defines the maximum size in megabytes of the audit log file before it gets rotated If your cluster's control plane runs the kube-apiserver as a Pod, remember to mount the hostPath to the location of the policy file and log file, so that audit records are persisted. For example:
--audit-policy-file=/etc/kubernetes/audit-policy.yaml \
--audit-log-path=/var/log/audit.log
질문 # 22
You have a Kubernetes cluster running an application with multiple deployments. You want to implement RBAC rules to ensure that only specific users can manage the deployments belonging to their respective teams. For instance, the "dev" team should only be able to manage deployments With the label 'team: dev' , while the "ops" team should only manage deployments With the label steam: 'ops'.
정답:
설명:
Solution (Step by Step) :
1. Create Role for Each Team:
- dev-role.yaml:
- ops-role_yaml:
2. Create RoleBindings for Each Team: - dev-rolebinding.yaml:
- ops-rolebinding.yaml:
3. Apply the Roles and RoleBindings: - Apply the YAML files using kubectl apply -f dev-role.yaml dev-rolebinding.yaml ops-role.yaml ops-rolebinding.yamr 4. Create Test Deployments (with Team Labels): - Create a deployment labeled with steam: devs and another labeled with 'team: ops'. You can use 'kubectl create deployment with the appropriate label. 5. Verify RBAC Permissions: - Log in as the "dev" user and attempt to manage the "dev" team deployment. - Log in as the "ops" user and attempt to manage the "ops" team deployment - The users should only be able to access the deployments belonging to their respective teams.
질문 # 23
Explain the role of security contexts in Kubernetes and how you would use them to mitigate potential security risks associated with container images.
정답:
설명:
Solution (Step by Step) :
1. understanding Security Contexts:
- Security Contexts in Kubernetes define the security attributes of a container, controlling its access to system resources and capabilities. They allow
you to enforce security policies and mitigate risks related to container images.
2. Key Security Context Settings:
- runASUser: Specifies the user ID under which the container will run. This can restrict access to files and resources that the container user might not need.
- runAsGroup: Similar to 'runAsUser, but for the group ID.
- fsGroup: Controls file system permissions. By setting this, you can grant specific access to certain files and directories.
- readOnlyRootFilesystem: Prevents the container from modifying the root file system
- privileged: Grants the container full root privileges. It should be avoided whenever possible.
- allowPfivilegeEscalatiom Controls whether the container can elevate its privileges.
- capabilities: Defines the Linux capabilities that the container is allowed to use. This can restrict access to specific system resources and operations.
- seLinuxOptions: Controls the benavior of the containers SELinux context. This can be used to enforce additional security policies based on SELinux.
3. Using Security Contexts for Image Security:
- Restricting Privileges: Set 'runAsUser', 'runAsGroup', 'privileged' , and 'allowPrivilegeEscalation' to limit the privileges of a container.
- Controlling File System Access: Utilize 'tsGroup' and readOnlyRootFilesystem' to restrict the containers ability to modify files and directories, minimizing the impact of potential vulnerabilities.
- Limiting Capabilities: Use the 'capabilities' field to selectively enable only the capabilities that the container needs to run. This can prevent malicious
code from accessing sensitive system resources.
- Enforcing SELinux Policies: Configure 'seLinuxOptionS to enforce stricter security policies that are aligned with your overall security requirements.
4. Example Security Context in Deployment YAML:
5. Best Practices: - Least Privilege Principle: Apply the least privilege principle to security contexts. Only grant containers the resources and capabilities they require. - Security Context Constraints: Define security context constraints (SCC) tor your cluster. SCCS entorce security policies across all pods. - Regular Auditing: Periodically review and adjust security context settings to ensure they align with your evolving security requirements. - Consider Security Tools: Use tools like Kubernetes Security Posture Management (KSPM) and security scanning solutions to help enforce and monitor security context configurations.
질문 # 24
Before Making any changes build the Dockerfile with tag base:v1
Now Analyze and edit the given Dockerfile(based on ubuntu 16:04)
Fixing two instructions present in the file, Check from Security Aspect and Reduce Size point of view.
Dockerfile:
FROM ubuntu:latest
RUN apt-get update -y
RUN apt install nginx -y
COPY entrypoint.sh /
RUN useradd ubuntu
ENTRYPOINT ["/entrypoint.sh"]
USER ubuntu
entrypoint.sh
#!/bin/bash
echo "Hello from CKS"
After fixing the Dockerfile, build the docker-image with the tag base:v2
정답:A
질문 # 25
......
CKS퍼펙트 최신 공부자료: https://www.itcertkr.com/CKS_exam.html
Itcertkr CKS 최신 PDF 버전 시험 문제집을 무료로 Google Drive에서 다운로드하세요: https://drive.google.com/open?id=1487xJBsUuoFk3Jkbgb4zPZT8Q7ffOyLu