Aqua EnterpriseのContainer Runtime Policy機能一覧

2022.03.30

コンサル部のとばち(@toda_kk)です。

Aquaでは、クラウドネイティブなアプリケーションを対象としたRuntime Protection(ランタイム保護)の機能があります。

このうち、コンテナランタイムを保護するための機能であるContainer Runtime Policyについて、適用できる項目の一覧を記載します。

なお、Container Runtime以外にも、Aquaにはアプリケーションの実行環境を保護する機能としてHost AssuranceやFunction Runtime Policyなどがあります。それぞれ、詳細については下記の記事をご参照ください。

実際にAmazon EKS環境にContainer Runtime Policyを適用する手順については、下記の記事をご参照ください。

前提・注意点について

本記事における検証においては、Aqua社から提供いただいたトライアルアカウントを利用しています。Aquaのセットアップに必要なコンテナイメージや公式ドキュメントなどは、アクセス用のアカウントが必要となりますのでご留意ください。

Container Runtime Policyに適用できる項目一覧

上図が、Aqua Consoleから確認できるControl(適用できる項目)の一覧になります。

それぞれのControlについて、適用される内容について以下に記載します。

  • 対応するEnforcerに応じて、Controlを適用可能なコンテナ実行環境が異なりますので、ご注意ください。
  • 「Linuxのみ」と記載したControlについては、Windowsでは利用できません。
  • 「Enforceのみ」と記載したControlについては、Runtime PolicyのEnforcement Modeを「Audit」に設定している場合には適用できません。
  • 「Auditのみ」と記載したControlについては、検知およびAuditログへの出力のみ行います。
  • 「コンテナ再起動が必要」と記載したControlについては、Runtime Policyの作成や更新の後、適用のために実行中のコンテナを再起動する必要があります。
Control 対応するEnforcer 説明 備考
Block Container Exec Aqua Enforcer 実行中のコンテナに対するコマンド実行を防止する
Block Cryptocurrency Mining Aqua Enforcer / MicroEnforcer 暗号通貨のマイニングに利用されていることがわかっているDNSやIPアドレスへの通信を検知し防止する
Block Fileless Exec Aqua Enforcer / MicroEnforcer インメモリ実行を検知し防止する Linuxのみ
Block Non-compliant Images Aqua Enforcer / KubeEnforcer / MicroEnforcer ポリシーに準拠していないコンテナイメージの実行を防止する
Block Non-compliant Resources KubeEnforcer ポリシーに準拠していないKubernetesワークロードの実行を防止する Linuxのみ
Block Non-Kubernetes Containers Aqua Enforcer Kubernetes以外のコンテナの実行を防止する Linuxのみ
Block Reverse Shell Aqua Enforcer / MicroEnforcer / Pod Enforcer コンテナ内でのリバースシェルを防止する Linuxのみ / Allowリストを設定できる
Block Unregistered Images Aqua Enforcer / KubeEnforcer / MicroEnforcer Aquaに登録されていないコンテナイメージの実行を防止する
Capabilities Block Aqua Enforcer 指定したUnix Capabilitiesの利用を防止する Linuxのみ / Enforceのみ / コンテナ再起動が必要
DNS/IP Reputation Aqua Enforcer / MicroEnforcer 悪用されていることがわかっているDNSやIPアドレスへの通信を検知し防止する
Drift Prevention Aqua Enforcer / MicroEnforcer 元のコンテナイメージにないファイルの実行を防止する Linuxのみ / Allowリストを設定できる
Executables Allowed Aqua Enforcer / MicroEnforcer コンテナ内で実行を許可するファイルのリストを設定できる 設定しない場合はすべてのファイルを実行できる
Executables Blocked Aqua Enforcer / MicroEnforcer コンテナ内で実行を禁止するファイルのリストを設定できる
File Block Aqua Enforcer / MicroEnforcer 読み取り、変更、実行の操作を防止するファイルのリストを設定できる
File Integrity Monitoring Aqua Enforcer / MicroEnforcer 指定したファイルやディレクトリの整合性を監視する Auditのみ
Forensics Aqua Enforcer / MicroEnforcer すべてのプロセスや通信、コマンドライン引数をAuditログに出力する設定ができる
Fork Guard Aqua Enforcer / MicroEnforcer コンテナ内のFork爆弾の実行を防止する
Limit Container Privileges Aqua Enforcer 指定した特権操作のコンテナ内での実行を防止する
Limit New Privileges Aqua Enforcer コンテナ実行時の新しい特権の取得を防止する Linuxのみ / Enforceのみ / コンテナ再起動が必要
Package Block Aqua Enforcer / MicroEnforcer 読み取り、書き込み、実行を防止するパッケージのリストを設定できる Linuxのみ
Port Block Aqua Enforcer / MicroEnforcer 指定したPortのインバウンド/アウトバウンドをブロックする
Port Scanning Detection Aqua Enforcer / MicroEnforcer コンテナ内のポートスキャン操作を検知する Auditのみ
Read-Only Directories and Files Aqua Enforcer / MicroEnforcer 読み取り専用に制限するファイルやディレクトリのリストを設定できる
Real-time Malware Protection Aqua Enforcer マルウェアスキャンの対象から除外するファイルやディレクトリのリストを設定できる
Registries Allowed Aqua Enforcer / MicroEnforcer コンテナイメージの実行を許可するレジストリのリストを設定できる 設定しない場合はすべてのレジストリを許可する
System Integrity Monitoring Aqua Enforcer システム時間変更など指定したイベントを監視しAuditログに出力する Auditのみ
Volumes Blocked Aqua Enforcer コンテナからのマウントを禁止するボリュームのリストを設定できる コンテナ再起動が必要

参考

以上、コンサル部のとばち(@toda_kk)でした。