diff --git a/README.md b/README.md index 213bd15..a342e79 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,11 @@ The goal is to help candidates: * [Describe and demonstrate how to configure RBAC with UCP.](data/5_Security/ucp_rbac_config.yaml) * [Describe and demonstrate how to integrate UCP with LDAP/AD.](data/5_Security/ucp_ldap_ad_integration.yaml) * [Describe and demonstrate how to create UCP client bundles.](data/5_Security/ucp_client_bundle.yaml) +* [Describe Docker Bench for Security.](data/5_Security/docker_bench_security.yaml) +* [Describe seccomp profiles.](data/5_Security/seccomp_profiles.yaml) +* [Describe AppArmor and SELinux with Docker.](data/5_Security/apparmor_selinux.yaml) +* [Describe Docker secrets management.](data/5_Security/docker_secrets.yaml) +* [Describe read-only containers.](data/5_Security/readonly_containers.yaml) ### Domain 6: Storage and Volumes (10% of exam) @@ -120,6 +125,10 @@ The goal is to help candidates: * [Describe and demonstrate how storage can be used across cluster nodes.](data/6_storage_and_volumes/volume_cluster.yaml) * [Describe how to provision persistent storage to a Kubernetes pod using persistentVolumes.](data/6_storage_and_volumes/peristent_volumes.yaml) * [Describe the relationship between container storage interface drivers, storageClass, persistentVolumeClaim and volume objects in Kubernetes.](data/6_storage_and_volumes/relationship_storage_volume.yaml) +* [Describe tmpfs mounts.](data/6_storage_and_volumes/tmpfs_mounts.yaml) +* [Compare storage drivers.](data/6_storage_and_volumes/storage_driver_comparison.yaml) +* [Describe docker system df and prune commands.](data/6_storage_and_volumes/system_cleanup.yaml) +* [Describe volume plugins and NFS.](data/6_storage_and_volumes/volume_plugins_nfs.yaml) ## Contributions diff --git a/data/5_Security/apparmor_selinux.yaml b/data/5_Security/apparmor_selinux.yaml new file mode 100644 index 0000000..1afb17e --- /dev/null +++ b/data/5_Security/apparmor_selinux.yaml @@ -0,0 +1,54 @@ +questions: + - uuid: b4d2e8a1-c5f3-4976-9d07-6b1a3e7f2c89 + question: What type of access control do AppArmor and SELinux provide for Docker containers? + answers: + - { value: 'Discretionary Access Control (DAC)', correct: false } + - { value: 'Role-Based Access Control (RBAC)', correct: false } + - { value: 'Mandatory Access Control (MAC)', correct: true } + - { value: 'Attribute-Based Access Control (ABAC)', correct: false } + help: https://docs.docker.com/engine/security/apparmor/ + + - uuid: e7f1c3b5-a2d4-4868-b9e0-8d6a1f5c4b27 + question: What is the name of the default AppArmor profile that Docker applies to containers? + answers: + - { value: 'docker-apparmor', correct: false } + - { value: 'container-default', correct: false } + - { value: 'docker-default', correct: true } + - { value: 'apparmor-docker-profile', correct: false } + help: https://docs.docker.com/engine/security/apparmor/ + + - uuid: 9a5b1d8e-f4c2-4637-a0b3-7e6d3c1f9a45 + question: Which flag is used to specify a custom AppArmor profile when running a Docker container? + answers: + - { value: '--apparmor-profile=', correct: false } + - { value: '--security-opt apparmor=', correct: true } + - { value: '--cap-add apparmor=', correct: false } + - { value: '--mac-profile=', correct: false } + help: https://docs.docker.com/engine/security/apparmor/ + + - uuid: 2c8f4a6d-b1e3-4d59-87b0-5e9a3d7c1f62 + question: How do you apply SELinux label options to a Docker container at runtime? + answers: + - { value: '--selinux=