CKS 試験問題 26
クラスターワーカーノードで、準備されたAppArmorプロファイルを適用します
#include <tunables / global>
プロファイルdocker-nginxフラグ=(attach_disconnected、mediate_deleted){
#include <abstractions / base>
ネットワークinettcp、
ネットワークinetudp、
ネットワークineticmp、
生のネットワークを拒否し、
ネットワークパケットを拒否し、
ファイル、
umount、
/ bin / ** wlを拒否します、
/ boot / ** wlを拒否します、
/ dev / ** wlを拒否します、
/ etc / ** wlを拒否します、
/ home / ** wlを拒否します、
/ lib / ** wlを拒否します、
/ lib64 / ** wlを拒否します、
/ media / ** wlを拒否します、
/ mnt / ** wlを拒否します、
/ opt / ** wlを拒否し、
/ proc / ** wlを拒否します、
/ root / ** wlを拒否し、
/ sbin / ** wlを拒否し、
/ srv / ** wlを拒否します、
/ tmp / ** wlを拒否します、
/ sys / ** wlを拒否します、
/ usr / ** wlを拒否します、
監査/**w、
/var/run/nginx.pid w、
/ usr / sbin / nginx ix、
/ bin / dash mrwklxを拒否します、
/ bin / sh mrwklxを拒否し、
/ usr / bin / top mrwklxを拒否し、
機能chown、
機能dac_override、
機能setuid、
機能setgid、
機能net_bind_service、
deny @ {PROC} / * w、#/ procに直接(サブディレクトリではなく)すべてのファイルの書き込みを拒否
#/ proc / <number>/**または/proc/ sys/**にないファイルへの書き込みを拒否します
@ {PROC} / {[^ 1-9]、[^ 1-9] [^ 0-9]、[^ 1-9s] [^ 0-9y] [^ 0-9s]、[^1-を拒否します9] [^ 0-9] [^ 0-9] [^ 0-9] *} / ** w、@ {PROC} / sys / [^ k] ** wを拒否、#/ proc/sysを拒否/ proc / sys / k *(事実上/ proc / sys / kernel)は@ {PROC} / sys / kernel / {?、??、[^ s] [^ h] [^ m] **} w、#を拒否します/ proc / sys /kernel/のshm*以外のすべてを拒否する、マウントを拒否、/ sys / [^ f] * / ** wklxを拒否、/ sys / f [^ s] * / ** wklxを拒否、/ sys / fs / [^ c] * / ** wklxを拒否、拒否/ sys / fs / c [^ g] * / ** wklx、deny / sys / fs / cg [^ r] * / ** wklx、deny / sys /firmware / ** rwklx、deny / sys / kernel / security / ** rwklx、
}
準備したマニフェストファイルを編集して、AppArmorプロファイルを含めます。
apiVersion:v1
種類:ポッド
メタデータ:
名前:apparmor-pod
仕様:
コンテナ:
-名前:apparmor-pod
画像:nginx
最後に、マニフェストファイルを適用し、指定されたポッドを作成します。
確認:コマンドping、top、shを使用してみてください
#include <tunables / global>
プロファイルdocker-nginxフラグ=(attach_disconnected、mediate_deleted){
#include <abstractions / base>
ネットワークinettcp、
ネットワークinetudp、
ネットワークineticmp、
生のネットワークを拒否し、
ネットワークパケットを拒否し、
ファイル、
umount、
/ bin / ** wlを拒否します、
/ boot / ** wlを拒否します、
/ dev / ** wlを拒否します、
/ etc / ** wlを拒否します、
/ home / ** wlを拒否します、
/ lib / ** wlを拒否します、
/ lib64 / ** wlを拒否します、
/ media / ** wlを拒否します、
/ mnt / ** wlを拒否します、
/ opt / ** wlを拒否し、
/ proc / ** wlを拒否します、
/ root / ** wlを拒否し、
/ sbin / ** wlを拒否し、
/ srv / ** wlを拒否します、
/ tmp / ** wlを拒否します、
/ sys / ** wlを拒否します、
/ usr / ** wlを拒否します、
監査/**w、
/var/run/nginx.pid w、
/ usr / sbin / nginx ix、
/ bin / dash mrwklxを拒否します、
/ bin / sh mrwklxを拒否し、
/ usr / bin / top mrwklxを拒否し、
機能chown、
機能dac_override、
機能setuid、
機能setgid、
機能net_bind_service、
deny @ {PROC} / * w、#/ procに直接(サブディレクトリではなく)すべてのファイルの書き込みを拒否
#/ proc / <number>/**または/proc/ sys/**にないファイルへの書き込みを拒否します
@ {PROC} / {[^ 1-9]、[^ 1-9] [^ 0-9]、[^ 1-9s] [^ 0-9y] [^ 0-9s]、[^1-を拒否します9] [^ 0-9] [^ 0-9] [^ 0-9] *} / ** w、@ {PROC} / sys / [^ k] ** wを拒否、#/ proc/sysを拒否/ proc / sys / k *(事実上/ proc / sys / kernel)は@ {PROC} / sys / kernel / {?、??、[^ s] [^ h] [^ m] **} w、#を拒否します/ proc / sys /kernel/のshm*以外のすべてを拒否する、マウントを拒否、/ sys / [^ f] * / ** wklxを拒否、/ sys / f [^ s] * / ** wklxを拒否、/ sys / fs / [^ c] * / ** wklxを拒否、拒否/ sys / fs / c [^ g] * / ** wklx、deny / sys / fs / cg [^ r] * / ** wklx、deny / sys /firmware / ** rwklx、deny / sys / kernel / security / ** rwklx、
}
準備したマニフェストファイルを編集して、AppArmorプロファイルを含めます。
apiVersion:v1
種類:ポッド
メタデータ:
名前:apparmor-pod
仕様:
コンテナ:
-名前:apparmor-pod
画像:nginx
最後に、マニフェストファイルを適用し、指定されたポッドを作成します。
確認:コマンドping、top、shを使用してみてください