Aqua EnterpriseのContainer Runtime Policy機能一覧
コンサル部のとばち(@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)でした。