Click here to load reader
Upload
hiroki-ishikawa
View
972
Download
5
Embed Size (px)
DESCRIPTION
現段階で OpenStack のどこに SELinux を使うのが一番楽か
Citation preview
OpenStack on SELinux
SELinuxとは● Linux におけるリファレンスモニタの一つ● 強制アクセス制御の機能を提供
– root でも回避不能なアクセス制御● 最小特権の機能を提供
– 必要な権限を必要なだけ与える
● 「誰が」「何に」対して「何をできる」
Q.簡単に効く箇所はどこか● A. nova-compute
– KVM & SELinux = sVirt
– libvirt を拡張し SELinuxと連携
● SELinux なマシンで KVM を動かすだけで絶大な効果を得られる
● 他でも効果はあるが運用コストが高くなる
● 活用事例 : IBM Smart Business Cloud Enterprise
sVirt が守るもの● 仮想マシン
1. qemu/kvm に未知の脆弱が見つかる2. qemu権限で任意のコードを実行3. 他の VM に対する攻撃を実行
or ホストOSに対する攻撃を実行
sVirt が守るもの
仕組み
● 仮想マシン毎に仮想的な組織を付与– 異なる組織同士のアクセスは禁止
# 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
デモ
● 現状、 VMから VM への脆弱が見つからないので攻撃はしない
● 簡単なデモでご勘弁を。
● 組織を利用したアクセス制御
デモ
● 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)