LXC

提供: miniwiki
移動先:案内検索

LXC (Linux Containers) とは、一つのコントロールホスト上で、複数の隔離された Linuxシステム(コンテナ)を走らせる、OSレベル仮想化のソフトウェア。LXC は仮想機械ではなく、個別のプロセスとネットワークスペースを作り出す仮想環境である。現状では、コンテナイメージ管理と自動デプロイを行う上位レイヤーのソフトウェアであるDockerを通じてLXCが利用されるパターンが多い。

OpenVZLinux-VServerといった類似のOSレベルの仮想化がLinuxにはあり、他のOSでは、FreeBSD jailSolaris Containersがある。

LXCはLinuxカーネル 2.6.29から利用可能になった、cgroupsに依存している。また、LXCは他の名前空間を隔離する機能に依存しており、それらは、Linuxカーネルのメインラインに統合されている。

2014年2月20日に LXC 1.0 がリリースされた。Ubuntu 14.04 LTS などに含まれ、安定版ブランチが git に作られ、1.0 以降は API は上位互換性を保つ。

セキュリティ

以前は、LXC コンテナは OpenVZ のような OS レベルの仮想化メソッドと比べてセキュリティが劣っていた。3.8 以前の Linux カーネルでは、chroot jail とほとんど同じようにゲストシステムの root ユーザーがホストシステムの root 権限で任意のコードを実行することが可能だった[1][2][3][4]。LXC 1.0 リリース後は、「非特権コンテナ」を用いてコンテナをホスト上の通常ユーザーとして実行することが可能となった[5]。非特権コンテナはハードウェアに直接アクセスできないという意味でより制限されている。また、LXC 1.0 のセキュリティモデルでは、適切に設定すれば特権コンテナでさえ十分な隔離を提供するとされる[5]

参照

  1. Marco, d'Itri (2011年). “Evading from linux containers”. 2014年1月9日時点のオリジナルよりアーカイブ。. 12 February 2014閲覧.
  2. LXC - Gentoo Linux Wiki
  3. Evading from linux containers
  4. LXC入門 - Osc2011 nagoya” (2011年8月26日). . 2017-9-10閲覧.
  5. 5.0 5.1 Graber, Stéphane (2014年1月1日). “LXC 1.0: Security features [6/10]”. . 12 February 2014閲覧. “However, at least in Ubuntu, our default containers ship with what we think is a pretty good configuration of both the cgroup access and an extensive apparmor profile which prevents all attacks that we are aware of. [...] LXC is no longer running as root so even if an attacker manages to escape the container, he’d find himself having the privileges of a regular user on the host

外部リンク

テンプレート:仮想化