LXC

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
LXC (Linux Containers)
Linux Containers logo.png
作者 Dwight Schauer
最新版 2.0.4[1] / 2016年8月15日(12か月前) (2016-08-15[2]
プログラミング言語 C
対応OS Linux
プラットフォーム x86, x64, IA-64, PowerPC, SPARC, ARM
サポート状況 活発
種別 OSレベル仮想化
ライセンス 大半が GNU LGPL v2.1+
公式サイト linuxcontainers.org
テンプレートを表示
LXC and libvirt

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 権限で任意のコードを実行することが可能だった[3][4][5][6]。LXC 1.0 リリース後は、「非特権コンテナ」を用いてコンテナをホスト上の通常ユーザーとして実行することが可能となった[7]。非特権コンテナはハードウェアに直接アクセスできないという意味でより制限されている。また、LXC 1.0 のセキュリティモデルでは、適切に設定すれば特権コンテナでさえ十分な隔離を提供するとされる[7]

参照[編集]

  1. ^ [1]
  2. ^ GitHub: Relases lxc/lxc
  3. ^ Marco, d'Itri (2011年). “Evading from linux containers”. 2014年1月9日時点のオリジナルよりアーカイブ。2014年2月12日閲覧。
  4. ^ LXC - Gentoo Linux Wiki
  5. ^ Evading from linux containers
  6. ^ LXC入門 - Osc2011 nagoya” (2011年8月26日). 2017年9月10日閲覧。
  7. ^ a b Graber, Stéphane (2014年1月1日). “LXC 1.0: Security features [6/10]”. 2014年2月12日閲覧。 “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

外部リンク[編集]