プロファイル適用性: レベル1
AppArmorは、標準のLinuxユーザおよびグループベースの権限を補完して、プログラムを限られたリソースセットに制限するLinuxカーネルセキュリティモジュールです。AppArmorは、任意のアプリケーションに対して構成でき、その潜在的な攻撃領域を減らし、より深い防御を提供します。これは、特定のプログラムやコンテナが必要とするアクセスを許可するように調整されたプロファイルを通じて構成されます。例えば、Linuxの機能、ネットワークアクセス、およびファイル権限などです。各プロファイルは、許可されていないリソースへのアクセスをブロックする強制モード、または違反を報告するだけのコンプレインモードのいずれかで実行できます。
AppArmorは、コンテナが実行できる操作を制限することで、より安全なデプロイメントを実現し、システムログを通じてより良い監査を提供するのに役立ちます。使用するコンテナランタイムには、デフォルトのAppArmorプロファイルが付属している場合がありますが、カスタムプロファイルを使用することもできます。
監査
次のコマンドを実行し、各ポッドの詳細を確認してください:
kubectl get pods --all-namespaces
Kubernetesバージョン1.30以降の場合:
各ポッドのsecurityContextを確認し、
appArmorProfile
が設定されていることを確認してください。Kubernetesバージョン1.30以前の場合:
各ポッドのコンテナのメタデータ注釈を
container.apparmor.security.beta.kubernetes.io/<container name>
について確認してください各コンテナにAppArmorが構成されていることを確認してください。
修復
AppArmorから
runtime/default
値を設定します。AppArmorドキュメントを使用して、各コンテナのリソースへのアクセスを制限します。