Sophos Linux Sensor のコンテナのランタイムの可視性
Sophos Linux Sensor(SLS) は、実行中のイベントとホスト上に展開されたコンテナに対して異なるレベルの可視性を提供します。これには、コンテナテクノロジーとコンテナを使用する仮想化テクノロジーを実行している環境に SLS を導入する場合も含まれます。SLS はほとんどのイベントをカーネルレベルで収集し、cgroups や名前空間の使用など、カーネルによって隔離されたコンテナテクノロジーを可視化します。
SLS が見ることができるイベントは、使用されているコンテナランタイムに依存します。
Docker
SLS は、コンテナやイメージ名などのコンテナメタデータイベントを Docker Engine デーモンから収集します。SLSは privileged container was created などのコンテナ内のイベントやコンテナイベント、メタデータを可視化します。SLS によって、どのプロセスがどのコンテナにあるかを知ることができます。
CRI-O および containerd
SLS は Kubernetes Container Runtime インターフェース (CRI) を使ったメタデータの収集をサポートしています。デフォルトでは、SLS は次の CRI ソケットを検索します。
- /var/run/containerd/containerd.sock
- /var/run/crio/crio.sock
- /var/run/cri-dockerd.sock
- /var/run/dockershim.sock
runc が基盤となる Open Container Initiative (OCI) ランタイムである場合、SLS はコンテナ内のイベントを可視化できます。Kubernetes のような CRI インターフェースを介して作成されたコンテナのコンテナイベントとメタデータのみを可視化できます。
仮想化テクノロジー
仮想化テクノロジーには、仮想マシン(VM)をサポートするソリューションと、VM と Linux コンテナ (LXC) の両方を同じホストに導入できるハイブリッドソリューションが含まれます。これらのソリューションは、アプリケーションの導入と保守に柔軟性をもたらしますが、ホスト、VM、LXC で実行されているイベントを完全に可視化するために、SLS を導入する際に考慮する必要がある要素があります。
たとえば、VM を導入する場合、各 VM は仕様上、完全な OS 機能と独自のカーネルを持つ独立したインスタンスです。これは、専用の VM ソリューションと、VM と LXC を実行しているハイブリッドソリューションの両方にあてはまります。LXC はカーネルをホストと共有しますが、一部のハイブリッドソリューションでは、LXC が特権モードで実行されるオプションが制限されています。
仮想化テクノロジーの導入戦略として、次のことを推奨しています。
-
専用 VM ソリューション:SLS をホストに導入して、ホストで実行されているイベントを可視化します。各 VM がホストから隔離されている場合、ホスト上で実行されている各 VM に SLS を導入して、VM 上のイベントを可視化する必要があります。
-
ハイブリッド ソリューション:SLS をホストに導入して、ホストで実行されているイベントを可視化します。これによって、ホスト上で実行されているコンテナも可視化されます。ほとんどのハイブリッドソリューションでは、SLS をコンテナイメージとして導入すると、ホスト上のイベントは可視化されますが、コンテナ内のイベントは可視化されません。各 VM のイベントを可視化するには、ホスト上で実行されている各 VM に SLS を導入する必要があります。