8

Click here to load reader

OpenStack & SELinux

Embed Size (px)

DESCRIPTION

現段階で OpenStack のどこに SELinux を使うのが一番楽か

Citation preview

Page 1: OpenStack & SELinux

OpenStack on SELinux

Page 2: OpenStack & SELinux

SELinuxとは● Linux におけるリファレンスモニタの一つ● 強制アクセス制御の機能を提供

– root でも回避不能なアクセス制御● 最小特権の機能を提供

– 必要な権限を必要なだけ与える

● 「誰が」「何に」対して「何をできる」

Page 3: OpenStack & SELinux

Q.簡単に効く箇所はどこか● A. nova-compute

– KVM & SELinux = sVirt

– libvirt を拡張し SELinuxと連携

● SELinux なマシンで KVM を動かすだけで絶大な効果を得られる

● 他でも効果はあるが運用コストが高くなる

● 活用事例 : IBM Smart Business Cloud Enterprise

Page 4: OpenStack & SELinux

sVirt が守るもの● 仮想マシン

1. qemu/kvm に未知の脆弱が見つかる2. qemu権限で任意のコードを実行3. 他の VM に対する攻撃を実行

or ホストOSに対する攻撃を実行

Page 5: OpenStack & SELinux

sVirt が守るもの

Page 6: OpenStack & SELinux

仕組み

● 仮想マシン毎に仮想的な組織を付与– 異なる組織同士のアクセスは禁止

# ps axZ | grep qemusystem_u:system_r:svirt_t:s0:c87,c520 27950 ? 00:00:17 qemu-kvmsystem_u:system_r:svirt_t:s0:c65,c381 27950 ? 00:00:17 qemu-kvm

Page 7: OpenStack & SELinux

デモ

● 現状、 VMから VM への脆弱が見つからないので攻撃はしない

● 簡単なデモでご勘弁を。

● 組織を利用したアクセス制御

Page 8: OpenStack & SELinux

デモ

● 3ユーザを 3組織に所属させる– opsuser01: c1

– opsuser02: c2

– opsuser03: c0.c2 (c0,c1,c2)

● 4ファイルを 4組織に所属させる– /tmp/000.txt: c0 (権限 : 777)

– /tmp/001.txt: c1 (権限 : 777)

– /tmp/002.txt: c2 (権限 : 777)

– /tmp/003.txt: c3 (権限 : 777)