LXC 1.0.5 リリースのお知らせ¶
2014/07/14
このリリースは LXC 1.0 シリーズの 5 回目のバグフィックスとなるリリースです。
seccomp profile¶
通常のバグフィックス以外に、このリリースは重要な変更を一つ含みます。LXC が seccomp サポートでビルドされているシステムでは、コンテナは seccomp プロファイルが有効になります。このプロファイルにより、以下のシステムコールの呼び出しを防ぎます: kexec_load, open_by_handle_at, init_module, finit_module, delete_module.
これは特に、最近よく見られる "shocker" エクスプロイトのような攻撃を防ぐでしょう。
このプロファイルは新しいコンテナや、(共通の設定を lxc.include で読み込んでいる) 新しいスタイルの LXC 設定ファイルを使ったコンテナに適用されます。つまり、現時点では以下のディストリビューションに適用されます: centos, debian, fedora, gentoo, oracle, plamo, ubuntu.
コンテナの設定で "lxc.seccomp =" を追加することにより、このプロファイルの適用をオフにできます。
共通の設定を読み込む仕組みを使っていないコンテナでこの機能をオンにしたい場合は、"lxc.seccomp = /usr/share/lxc/config/common.seccomp" というような設定を、コンテナの設定ファイルに追加します。
変更点¶
- core: 最近のカーネルで非特権コンテナが動作するように修正しました(訳注: 最近のカーネル = 3.15.1 or 3.14.8 以降)
- core: -Werror=maybe-uninitialized を付けた時のビルドの問題を修正しました
- core: seccomp: 解決できないシステムコールを使った時に失敗しないようにしました
- core: lxc-init: ケーパビリティのドロップを強制しないようにしました
- core: configure: LIBS から -lcap と -lselinux を分けました
- core: configure: libexecdir の展開の問題を修正しました
- core: seccomp: セクションで使えるアーキテクチャとして 'all' をサポートしました
- core: seccomp: 32-bit のルールを修正しました
- core: seccomp: すべてのテンプレートに対してデフォルトのフィルタを有効にしました
- core: write_config 内のデータの破損を修正しました (訳注: 設定ファイルを書き出す際にデータが破損する可能性があったのを修正しました)
- core: attach: 現在のパーソナリティ (personality) の問い合わせができていなかったのを修正しました
- core: cgmanager: cgm_set と cgm_get は可能であれば絶対パスを使います (訳注: 非特権コンテナを起動したログインセッションと別のセッションから lxc-info, lxc-cgroup を実行できるようになりました)
- core: cgmanager: cgm_get 内で @value が確実に NULL で終わるようにしました
- core: cgmanager: シグナルのフィルタリング・パース部分のコードの最適化を行いました
- core: apparmor: デフォルトで hugetlbfs を使えるようにしました (tmpfs と同様に hugetlb cgroup コントローラの使用が制限されていました)
- find_fstype_db が空白行とコメント行を無視するようになりました (訳注: fstab ファイルで空白とコメント行が無視できるようになりました)
- lxc-autostart: -P が与えられた場合、適切に扱うようになりました (訳注: -P はログの設定にのみ使い、コンテナリストの取得には使わなくなりました)
- lxc-attach: 使い方の typo を修正しました
- lxc-start: コンテナの終了コードを取得できるようにしました
- lxc-stop: 不適切なタイムアウトの扱いを修正しました
- lxc-device: --version オプションをサポートしました
- lxc-ls: --version オプションをサポートしました
- lxc-start-ephemeral: --version オプションをサポートしました
- tests: 可能な限りダウンロードテンプレートを使わないようにしました
- HOME が定義されていないとき失敗しなくなりました
- tests: apparmor: 常に newline を付けた終了メッセージが出力されるようにしました
- tests: エラーメッセージを明確にし、リターンコードを修正しました
- tests: lxc-test-ubuntu は bind9-host を必要としなくなりました
- lxc-debian: コード表記の統一化
- lxc-debian: コード表記の修正
- python3: attach_wait とスレッドを修正しました
これらの stable の修正は 11 名のコントリビュータによってなされました。
ダウンロード¶
このリリースの tarball は ダウンロードページ から取得できます。
そして、各ディストリビューションがすぐに LXC 1.0.5 のパッケージをリリースするでしょう。
個々の変更点に興味がある場合、そして開発の履歴を見たい場合、stable ブランチは GitHub にあります。