...

仮想化機能の強化

by user

on
Category: Documents
62

views

Report

Comments

Transcript

仮想化機能の強化
第162回 夜な夜な!なにわオラクル塾
Oracle×Sun 第21弾:
Oracle Solaris 11.3 ご紹介
クラウド・システム事業統括
2016/2/24
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Agenda
1
Oracle Solaris 11.3
2
仮想化機能の強化
3
セキュリティ機能の強化
4
その他の機能強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一
の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルや
コード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判
断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期
については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
3
Oracle Solarisの継続的なイノベーション
Solaris 10
Solaris 2.0
SunOS
Solaris 7
Solaris 2.4
Solaris 2.1,
2.2, 2.3
68000
(1982)
SPARC
NFS
Symmetric
Multiprocessing,
x86
Solaris 9
Solaris 2.5
Solaris 11.1
Solaris 11
Solaris 8
Solaris 11.3
Solaris 11 Express
Solaris 2.6
2005
2000
1990
SunOS と
SVR4 UNIX
のマージ
Solaris 11.2
64bitサポート
により、大幅な
スケールアップ
リソース管理
SPARC と x86 統合リリース
2010
革新的リリース
高い可用性のI/Oとネット
ワーク・リソース管理。
セキュアなシステム管理
マルチスレッディング
OSの仮想化、予測的自
己修復、大規模なデータ
管理、トラステッドOS
の統合
リソース管理の強化、
LDAPサーバ、ネット
ワークの暗号化
2015
ミッションクリティカルク
ラウド環境/基盤のための最
初のクラウド。組み込みの
サーバ、ストレージそして
ネットワークの仮想化。
Exadata
Exalogic
OS から
Cloud Platform へ
Oracle DBやJavaのための独自の機能
で、パフォーマンスや可用性の向上
次の時代を見据えた開発
Solaris
Solaris
Solaris
Solaris
Solaris 9
専用のサーバ群
Solaris Solaris
Solaris
Solaris 10
仮想化されたシステムへ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Solaris 11
クラウドへ
4
Oracle Solaris 11.3 発表
(2015年10月 OOWにて)
セキュアなコンピューティング基盤を実現
セキュアな配備
• 読込専用仮想マシン
マルウェアに踏み台に
されない
• パッチ適用自動化
相互依存するパッチ群
の認定済スタック生成
コンプライアンス
• 自動コンプライアンス
レポーティングと
end-to-end の監査証跡
セキュア・アクセス
• きめ細かい管理者権限
のコントロール、
時間指定アクセス
Copyright
2014 Oracle
its affiliates.
All rights
reserved.
Copyright
© 2016,©Oracle
and/orand/or
its affiliates.
All rights
reserved.
|
5
Oracle Solaris 11.3 新機能
セキュリティー、速度、簡易性
• SPARC M7 プロセッサの Silicon Secure Memory 機能をサポート
• カーネルゾーンのライブマイグレーションをサポート
• OpenStack Juno をサポート
• セキュリティと仮想化にフォーカスした新機能を多数追加
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
6
仮想化機能の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7
仮想化機能の強化(カーネルゾーン)
• カーネルゾーンのライブ移行(SPARC & x86)
– suspend/resume による cold/warm マイグレーションもサポート
• 共有ストレージでの Oracle Solaris ゾーン
– カーネルゾーンを NFS 上に配置可能に (ZOSS : Zone On Shared Storage)
• カーネルゾーンのライブゾーン再構成
– ゾーンの動的再構成をカーネルゾーンの一部リソースでもサポート
• カーネルゾーンでの SR-IOV のサポート
• カーネルゾーンの CPU 間の移行
• カーネルゾーンでの InfiniBand のサポート
• カーネルゾーンのデフォルト構成を変更 (4 vcpu, 4GB メモリ)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
8
仮想化機能の強化(ゾーン)
• 不変大域ゾーン内での非大域ゾーン作成
– 読み取り専用の大域ゾーンで、非大域ゾーンを作成可能に
• 孤立したゾーンブート環境の管理
– マイグレーション後に生じる孤立ゾーンブート環境の破棄
• ゾーンの仮想化されたクロック
– 異なる時間に実行する必要があるアプリケーション、閏秒のテスト等のために
仮想クロックをサポート
• ゾーンでの NPIV のサポート
– ゾーン(仮想OS)毎に仮想ポートを作成
• ゾーンのメモリー上限制御のパフォーマンス機能拡張
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
9
仮想化機能の強化 (Oracle VM Server for SPARC)
• 仮想 HBA
– 任意のタイプの SCSI デバイス (ディスク、テープ、CD、DVD など) を仮想化できる仮想
SCSI ホストバスアダプタ (vHBA) にゲストドメインからアクセス
• コア全体の動的再構成管理 (DRM : Dynamic Resource Manage)
– ドメインの使用率に基づいて CPU コアリソースを増減
• I/O ドメインの回復性
– I/O ドメインに仮想機能デバイスを提供しているルートドメインのいずれかが
中断された場合でも、I/O ドメインを代替デバイスパスにフェイルオーバー
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
10
Oracle Solaris 11.3 が提供する仮想化のタイプ
FUSION APPLICATIONS
DATABASE
FUSION APPLICATIONS
DATABASE
FUSION APPLICATIONS
DATABASE
FUSION APPLICATIONS
Native Zone
Kernel
Kernel
Kernel
Kernel
Kernel
Kernel Zone
S10 Zone
LDoms
LDoms
LDoms
Kernel
PDOM
PDOM
Hardware
Hardware
OVM Server for SPARC
Oracle Solaris Zones
Physical Domains
分離
柔軟性
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
11
Oracle Solaris 11.3
Solaris ゾーン関連 新機能











Copyright
2014 Oracle
its affiliates.
All rights
reserved.
Copyright
© 2016,©Oracle
and/orand/or
its affiliates.
All rights
reserved.
|
12
多彩なカーネルゾーンの作成方法
Native Zone から Kernel Zone へ
(統合アーカイブ機能)
ISO
Solaris 11.2〜
ダイレクト
インストール
2GB
Virtual Mem
Dedicated
4GB
Mem
2GB
Virtual Mem
MYFIRST-KZ
ISO-KZ
CONVERTED-KZ
NATIVE-ZONE
Solaris 11.3 Zone
Solaris 11.2 Zone
Solaris 11.3 Zone
Solaris Native Zone
16GB
24GB
16GB
16GB
Oracle Solaris 11.3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
13
ゾーンのマイグレーション
分類
対象
内容
コールド
全てのゾーン
移行元でシャットダウン、移行先でブート
ウォーム
カーネルゾーン
メモリ状態をディスクに書込み、移行元で一時停止、移行先で再開
zoneadm suspend/detach
zoneadm attach/boot
ライブ
カーネルゾーン
メモリ状態を移行先にコピー、ほぼ無停止で移行
zoneadm -z zonename migrate -n ssh://target-host
マイグレーションは、SPARC/SPARC間、x86/x86間でサポートされ、異なるアーキテクチャ間ではサポートされません。
n-zone1
Native Zone
k-zone1
Kernel Zone
Oracle Solaris 11.3
Kernel Zone
Oracle Solaris 11.3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
14
環境とアプリケーションが仮想化の選択を決定
環境要件
Native Zone
Kernel Zone
Zone in Logical Domain
最初に選択する仮想化
Y
-
-
SPARC
Y
Y
Y
x86
Y
Y
-
高密度の統合
Y
-
-
素早い動的リソース変更
Y
Y
-
ライセンス共有の VM
Y
Y
-
メモリ集中型のアプリケーション
-
Y
-
メンテナンス時の継続動作
-
Y
Y
アプリケーションの即時マイグレーション
-
Y
-
厳格なメモリ分離が必要
-
Y
Y
OS のアップデート管理
-
Y
Y
カーネルへの依存関係を持つアプリケーション
-
Y
Y
データセンター間でのロードバランス
-
Y
Y
単一障害点の排除
-
-
Y
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
15
セキュリティの強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
16
イミュータブル・ゾーン
不変のゾーン(読み込み専用ゾーン)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
17
イミュータブル・ゾーン 概要
Solaris が提供するアンチマルウェアシステムの一部
データ
• アプリケーションとインフラストラクチャの
セキュリティを強化
保護
– 事前設定されたセキュリティポリシーの適用
– 特定のディレクトリへの読み取り/書き込み操作を強化
• ポリシーの適用はゾーンの外側から実施
インフラスト
ネットワーク
ラクチャ保護
保護
• 最も簡単な最小特権システム
アプリ
– 利用者とアプリケーションから保護
ケー
– SELinux はアプリケーションのみに適用される点が異なる
ション
保護
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
18
エンタープライズ・クラウド と
DevOps アプリケーション VM環境の保護
• 事前設定されたプロファイルによりゾーンをロック
ダウン構成に
• ゾーンの外からセキュリティポリシーを適用
• Solaris 11.2 から大域ゾーンでも利用可能に
• 選択可能なセキュリティプロファイル:
– strict - 読み込み専用のファイルシステム
– fixed - 一部書き込み可能: /var, local audit &
logs
– flexible – 固定設定 + 変更可能な /etc, root
home, syslog/audit 構成。システム/アプリ
ケーション・バイナリを保護
– dynamic -zones – 固定環境。
ただしゾーンの作成・削除が可能 (11.3)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
19
イミュータブル・ゾーンに適用可能な
セキュリティ・ポリシー
用途
パッケー
ジの追加
構成の変更
(/etc, /root)
SMFサービ
スの変更
/varへの
書き込み
Audit/Log の
配置場所
ゾーンの
作成
開発用途
Yes
Yes
Yes
Yes
Local/Remote
Yes
Flexible
アプリケーション
No
Yes
No
Yes
Local/Remote
No
Fixed
アプリケーション,
サービス,
インフラ
No
No
No
Yes
Local/Remote
No
Strict
一時的用途の
アプリケーション
No
No
No
No
Remote
No
OpenStack
Nova
No
No
No
Yes
Local/Remote
Yes
ポリシー
None
(Default)
Dynamic
*大域ゾーンのみ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
20
トラステッドパスログイン
• 不変ゾーンの Read-only 領域への書込みはトラステッドパスからのみ可能
• ILOM、シリアル接続、グラフィカルコンソールでのみ利用可能
t7-1 console login: ^@
WARNING WARNING WARNING
The trusted path logins needs to use untrusted files for a successful
login. This TPD login doesn’t protect this session against the super user
trusted path console login: root
password:
Last login: Mon Feb 22 12:31:29 2016 on console
Oracle Corporation
SunOS 5.11
11.3 December 2015
root@t7-1:~#
Global zone : コンソールから Send Break
root@t7-1:~# zlogin strictzone
[Connected to zone 'strictzone' pts/2]
Last login: Mon Feb 22 17:58:28 2016 on pts/1
Oracle Corporation
SunOS 5.11
11.3 December 2015
root@strictzone:~# touch /root/test
touch: cannot change times on /root/test: Read-only file system
root@strictzone:~# exit
logout
[Connection to zone 'strictzone' pts/2 closed]
root@t7-1:~# zlogin -T strictzone
[Connected to zone 'strictzone' pts/2]
Last login: Mon Feb 22 17:58:28 2016 on pts/1
Oracle Corporation
SunOS 5.11
11.3 December 2015
root@strictzone:~# touch /root/test
root@strictzone:~# ls -alF /root/test
-rw-r--r-- 1 root
root
0 2月 24日 09:37 /root/test
root@strictzone:~#
Local zone : zlogin -T zonename
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
21
Exploit の被害を低減させる新機能: sxadm (1M)
セキュリティ拡張
NXSTACK
Non Executable
Stack
概要
デフォルト
実行不能スタック:
スタック領域のデータを実行することを禁止する
従来 64bit は既に有効、32bitは/etc/system の
noexec_user_stack を設定することで有効化されていた
全て有効
NXHEAP
Non Executable
Heap
実行不能ヒープ:
ヒープ領域のデータを実行することを禁止する
タグ付けされたバイナリ
のみで有効
ASLR
Address Space
Layout
Randomization
アドレス空間レイアウトのランダム化
スタック、brk ベースのヒープ、メモリーセグメントマッピングな
どの配置をランダム化
Solaris 11.1 から追加
タグ付けされたバイナリ
のみで有効
•コンパイル時にタグを有効、無効切り替え可能
•sxadm コマンドでデフォルトから挙動を変更可能
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
22
Verified Boot
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
23
ブート領域の改ざんもチェック!
Verified Boot
• OS 起動のセキュリティ保護
– カーネルモジュールの破損
– 正当なカーネルモジュールになりすました悪意のあるプログラムの挿入置換
– 未承認のサードパーティーカーネルモジュールのインストール
– レガシー SPARC と x86 マシンでも利用可能
• チェックには elfsign を使用
改竄された
カーネル
モジュール
乗っ取り
など
改竄された
カーネル
Stop
モジュール
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Verifed Boot で検知、
ロードの阻止
24
SPARC マシンでの Verified Boot
• ILOM 連携でより強固なブート環境!
– SPARC T5 サーバなどで対応済み
– ILOM にて設定や証明書を保持
– OS とは独立した ILOM に持たせることでよ
り完全なチェック
チェック
チェック
チェック
OBP
Open Boot
ILOM
bootblock
unix/genunix
その他 の
カーネルモジュール
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
25
カーネル・ゾーンでもチェック Verified Boot
• カーネル・ゾーンでの Verified Boot
– Solaris 11.3 で実装
– zonecfg の verified-boot リソースで設定
– policy は enforce, warning, none
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
26
カーネル・ゾーンでもチェック Verified Boot
• zfs カーネル・モジュールを少し変更(ブートはする状況)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
27
Solaris Compliance Benchmark
Compliance Tailoring
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
28
システムのセキュリティコンプライアンスを評価
Solaris Compliance Benchmark
プロファイルを利用したセキュリティ評価とレポート機能
• プロファイルを利用したセキュリティ評価とレポート機能を搭載
– Solaris セキュリティーベンチマーク
• secure by default に基づく測定実装
– PCI DSS (Payment Card Industry-Data Security Standard)
• 主要なデビットカードやクレジットカードのカード所有者情報を扱う企業のための
機密情報のセキュリティー標準
• SCAP (Security Content Automation Protocol) 実装
– Solaris 11.1 で OpenSCAP 実装を提供、脆弱性管理やポリシー評価を自動化標準化
– OVAL (Open Vulnerability and Assessment Language)
– Script Check Engine (SCE)
• DISA-STIG, HIPAA, Sarbanes Oxley, etc などのプロファイルを提供予定
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
29
Solaris Compliance Benchmark
HTML ファイルのレポート生成機能
• compliance コマンドを提供
• Solaris Benchmark (200 Rule)
–# compliance assess –b solaris
– Recommended と Baseline の二つ
の profile
• PCI-DSS (191 Rule)
– # compliance assess –b pci-dss
• /var/share/compliance/assessments
ディレクトリ配下にレポートを生成
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
30
Solaris Compliance Benchmark
root ユーザーで ssh(1) が可能になってしまっている場合の警告例
• Result に fail を返
し、修正案を提示
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
31
システムに合った評価項目に仕立て!
システムで必要なルールのみを構成(tailoring)
• システム、用途にあった アセスメントの作成
• 不必要なルールの除去、必要なルールの構成
ルール
ルール
ルール
例 ) Benchmark = Solaris
Profile = Baseline
ルール
ルール
ルール
Tailoring = xxxx
Benchmark = Solaris
Profile = Baseline
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
32
システムに合った評価項目に仕立て!
システムで必要なルールのみを構成(tailoring)
• Tailoring で ssh 関連 7 ルールのみを選択
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
33
Hardware-Assisted Encryption
Security in Silicon
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
34
Oracle Solaris
暗号化フレームワーク
• Solaris で暗号化アルゴリズム
を集中管理するフレームワーク
• PKCS#11 API を提供
• OpenSSL サポート
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
35
Security in Silicon
Hardware-Assisted Encryption
Feature/Software Consumer
T4 Systems Running Oracle Solaris 10
T4 Systems and Later Running
Oracle Solaris 11
SSH
パッチ 147707-01 にて対応
自動的に有効
Java (Java Cryptography
Extension)
自動的に有効
自動的に有効
ZFS 暗号化
無し
データセットのプロパティを設定すること
で自動的に有効
IPsec
自動的に有効
自動的に有効
OpenSSL
パッチ 147707-01 にて対応
-engine pkcs11
T4 optimization が自動的に有効
KSSL (Kernel SSL Proxy)
自動的に有効
自動的に有効
Oracle TDE
Pending patch
Oracle DB 11.2.0.3 and ASOで自動的に
有効
Apache SSL
SSLCryptoDevice ディレクティブに pkcs11 を設定
SSLCryptoDevice ディレクティブに
pkcs11 を設定
OVM for SPARC
構成不要で常に有効化
構成不要で常に有効化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
36
高性能なセキュリティ機能により
完全に暗号化されたデーターセンターを実現可能
TDE
Database Tier
HTTPS
SSL
TLS
Client
JMS
TLS
JDBC
SSL
TLS
SSL
TLS
Web Tier
Key Manager
AES
Middleware Tier
SPARC M7
Security in Silicon
SHA2
AES
AES
Archive
ZFS Storage
ZFS Encryption
ウェブ、ミドルウェアおよびデータ
ベースの為の高性能セキュリティ
業界最速の Oracle
Transparent Data Encryption
Copyright
2014 Oracle
its affiliates.
All rights
reserved.
Copyright
© 2016,©Oracle
and/orand/or
its affiliates.
All rights
reserved.
|
Silicon Secured Memory
Security in Silicon
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
38
Security in Silicon: Silicon Secured Memory
いくつかの有名な事例: Heartbleed & VENOM
Silicon Secured Memory は メモリ への Read や Write 攻撃から守る
Buffer Over-Read Attack
Buffer Over-Write Attack
Copyright © 2015,
2016, Oracle and/or its affiliates. All rights reserved. |
39
脆弱性からの保護
SPARC M7 Silicon Secured Memory
バッファ・オーバーフローは未だに深刻な脆弱性



•
•

•
•
 SPARC M7はハードウェアレベルで対策がとれる唯一のCPU
 ライブラリ、開発ツールを同時に提供
 アプリケーションデータの完全性
(ADI : Application Data Integrity)を実現
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
40
SPARC M7 Silicon Secured Memory
通常のプログラムによるメモリ領域アクセス
 通常、アプリケーションプロ
グラムはOSに割り当てられ
たメモリ領域だけをアクセス
可能
メモリ領域
メモリ領域
A
メモリ領域
B
 正しいプログラムであれば
通常の動作
プログラム
コード領域
プログラム
コードA
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
プログラム
コードB
41
SPARC M7 Silicon Secured Memory
バッファ・オーバーフロー
 アプリケーションプログラムは
他のプログラムのメモリ領域
をアクセス
メモリ領域
 複数の要因で起こる
メモリ領域
A
メモリ領域
B
 プログラミング等のバグ
 悪意のあるコードを含んだ
プログラム
プログラム
コード領域
プログラム
コードA
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
プログラム
コードB
42
SPARC M7 Silicon Secured Memory
シリコン・セキュアド・メモリによるメモリ保護
 プログラムで利用可能な
メモリ領域を完全に保護
 SPARC M7とSolarisによって
メモリ領域管理とメモリ例外
アクセスの禁止を実現
 プログラム毎に占有保証メモリ領域を
M7が割り当て
• 図ではプログラムコードAから
プログラムコードBが制御する
メモリ領域Bへのアクセスは不可能
メモリ領域
 1つのプログラム内でも複数のメモリ
領域に目的毎のアクセス制御が可能
 SPARC M7はH/Wレベル
から対策をとることが可能な
唯一のCPU
プログラム
コード領域
メモリ領域
A
プログラム
コードA
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
メモリ領域
B
プログラム
コードB
43
バイナリそのままでもSSMの有効化が可能
右のソースをコンパイル、gcc でも Solaris Studio でもOK
サンプルソース
gcc -g -std=c99 -m64 -o test test.c
実行すると、secret まで見れてしまう(バッファオーバーリード)
30
30
for(int ii = 0; ii < 96; ii++)
printf("%c", public[ii]);
LD_PRELOAD でSSM対応した malloc APIを上書き
SSMが正しく機能して同プロセス内部のメモリアクセスを保護
env LD_PRELOAD=/lib/sparcv9/libadimalloc.so ./test
public text -> PUBLIC
secret text -> SECRET
Segmentation Fault (コアダンプ)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
44
Security in Silicon: Silicon Secured Memory
Solaris Studioを使用した安全なソフトウェア開発
Discover ADI
Silicon Secured Memoryを利用した
コードセキュリティ検知ツール
Discover ADI によるメモリ違反の検出
 バッファーオーバーフロー
配列境界を超える読み込み/書き込み - ABR/ABW
 解放済みメモリの読み込み/書き込み - FMR/FMW
 Stale Pointer Access – Special case of FMR/FMW
 メモリの二重解放 - DFM
 割り当てられていないメモリの読み込み/書き込み - UAR/UAW
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Security in Silicon: Silicon Secured Memory
Solaris Studioを使用した安全なソフトウェア開発
discover: メモリアクセスをリアルタイムにチェック
70x
Base line performance
30x
1.01x
Valgrind/Linux
Oracle Studio /
Discover in Software
Overhead with Memory
checking enabled
SSM in hardware on
M7
• Code Analyzer: 一般的なメモリ破損検出ツールより高速に動作
• Code Analyzer + M7: SSMハードウェアはほぼリアルタイムにチェック
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
46
Security in Silicon
あなたのために Bug を見つけます
安全なソフトウェアがシンプルにします – 事例
• メモリを大量に使う、エンタープライズアプリケーション
• SPARC M7で迅速な価値への転換
– 2日間で4つのプラットフォームをまたいだバグを発見
– 180倍高速なバグの特定
• 他のメモリvalidation tool: 3時間
Silicon Secured
Memory
• Silicon Secured MemoryとDiscover tool:
たった1分
+
Oracle Solaris
Studio
Integrated. Simple. Fast.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Silicon Secured Memory 対応アプリケーション
アプリケーション
概要
要件
Oracle Database 12c
• SGA 領域を保護対象に
• 不正なメモリアクセスを
ORA-7445 として報告
• デフォルトで有効
BP13 以降
…
出力例:
ORA-07445: exception encountered: core dump
[kgh_recr_change_pdbid()+8] [SIGSEGV] [ADDR:0xFFFFFFFF7C81EA04]
[PC:0x10C8E15C8] [Application data integrity disrupting]
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
48
Solaris アプリケーションにおける
Silicon Secured Memory サポートについて
SSM を利用するための条件
• SPARC M7 ベースのプラットフォームであること
• Solaris 11.3 以降
– API の提供(Oracle Database 12c 12.1.0.2 BP13 以降対応済み)
– libadimalloc の提供(リコンパイル無しで動的に有効化可能)
• malloc (3C) を使用しており、カスタムメモリーアロケータでは無いこと
• 64bit アプリケーション
– 32bitアプリケーションはサポート無し
• ネイティブゾーン, Oracle VM Server for SPARC での動作
– カーネルゾーンは現時点では未対応
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Security in Silicon: Silicon Secured Memory
Solaris Studioを使用した安全なソフトウェア開発
予防:高速にアプリ
ケーション開発者へ詳
細な診断を提供
予防:より高速にアプ
リケーション開発者へ
詳細な診断を提供
Solaris Stuio
Lib + discover
Solaris 10〜11.2
その他の SPARC
または Intel システム
保護:バイナリを再コンパイルす
る必要なくリアルタイムに保護機
能を提供
Studio’s ADI
Lib +
discover
保護:リアルタイムで適切
な回復アクションを取るた
めにアプリケーションへの
保護機能を有効化
Solaris’
LD_PRELOAD_64=
libadimalloc.so
libc API または syscall
を利用するようアプリ
を修正
libadimalloc
libc が提供する
adi* ファンクション
Solaris 11.3 (Solaris Kernel) 〜
(ユーザーアプリケーションのためのシステムコールを提供)
M7 hardware
(Silicon Secure Memory 機能が常時 ON )
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
50
その他のセキュリティ機能強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
51
その他のセキュリティ機能の拡張
• SSHメディエータ
– SunSSH から OpenSSH へ (Sun SSH のリプレースを予定)
• パケットフィルタ
– OpenBSD の PF 5.5 (Packet Filter) を採用
– 帯域幅の管理およびパケットの優先順位付けの両方が可能
• GRUB メニューのパスワード保護 (x86)
– GRUB メニュー編集をパスワードで保護可能
• TCP の MD5 署名オプション
– ボーダーゲートウェイプロトコル等でセッションを保護
– 詳細は、tcpkey(1M)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
52
エンタープライズクラスを実現する
組み込みセキュリティ機能
Oracle Solaris における深層防御 (Defense in Depth)
• あらゆるレベルでの保護:
– 環境: ユニークな読み込み専用の仮想化
– メモリ: Silicon Secured Memory
– ネットワーク: 組み込まれたネットワーク
保護機能
– データ保存: ZFS 暗号化
– データの移動: End to End Encryption
• パフォーマンスへの影響なし:
– CPUが持つセキュリティ機能へ自動オフ
ロード
• 悪意のある行為または意図しない行
為からの保護
DATABASE
WEBLOGIC SERVER
Solaris Zone
Solaris Zone
VNIC
VNIC
PNIC
PNIC
ZFS
Oracle Solaris
None
Flexible
Fixed
Strict
/, /usr, /lb, …
Writeable
Read Only
Read Only
Read Only
/etc
Writeable
Writeable
Read Only
Read Only
/var
Writeable
Writeable
Writeable
Read Only
other
Writeable
Read Only
Read Only
Read Only
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
53
その他の機能強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
54
OpenStack の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
55
OpenStack on Oracle Solaris 11.3 新機能
• OpenStack Juno へアップデート
– VM コンソール, SNAT(many-to-one
NAT/port NAT), IPv6, Flat Networks 等
• 新しい OpenStack サービス
– Heat – アプリケーション自動構築
– Ironic – ベアメタル・プロビジョニング
リリース名
コンポネント
Solaris リリース
Icehouse
Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove
Solaris 11.2
Juno
Nova, Glance, Swift, Horizon, Keystone, Neutron,
Cinder, Heat, Ceilometer, Trove, Sahara
Solaris 11.3
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
56
OpenStack をベースとした
セキュアな IaaS, PaaS, DBaaS 環境を
• 安全なサービス
– 最小限の特権制御
• データの保存
– ZFS Encryption
• データの移動
– Secure Migration
Zone
Zone
Zone
• Network
– データリンク保護
Zone
Zone
Zone
Zone
Zone
Oracle Solaris
Oracle Solaris
Oracle Solaris
• アプリケーション
– 読み込み専用の VM
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
57
データ管理機能の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
58
データ管理機能の強化
• ZFS スナップショットの相違点の再帰的な確認 (zfs diff)
• ZFS LZ4 圧縮
– LZ4圧縮アルゴリズムの追加、2〜5倍の圧縮率
• ZFS のデフォルトのユーザーまたはグループの割り当て
– Quota のデフォルト値設定が可能
• ZFS スペアデバイスの処理の向上
– 使用されてないホットスペアデバイスを自動的にチェック
• SMB 2.1
– 現在のネットワーク環境に合わせ再設計、コマンドを SMB 1.0 の 100個から 19個に整理
– 高速ネットワーク向け性能強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
59
データ管理機能の強化
• ZFS 操作のモニタリング
– zpool monitor コマンドで実行中のプール操作およびファイルシステム操作の進捗を
モニターできます
– 対象は zfs send, receive, scrub, resilver
# zpool monitor -t send west 5 5
pool
provider pctdone total speed timeleft other
west
west
west
west
send
send
send
send
36.3
38.7
41.3
43.8
17.2G
17.2G
17.2G
17.2G
74.1M
74.7M
75.5M
76.2M
2m31s
2m24s
2m16s
2m09s
west/fs1@snap1
west/fs1@snap1
west/fs1@snap1
west/fs1@snap1
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
60
データ管理機能の強化
• ZFS のスケーラブルなパフォーマンスの改善
– ZFS ARC (Adaptive Replacement Cache) は、大容量メモリーシステムに
スケーラビリティーを提供するように再設計
– 永続的な L2ARC (SSD 等へのキャッシュ) と圧縮で起動および処理時間を短縮化
– ローカルディレクトリアクセスのロックのパフォーマンスが、スレッドまたは
CPU の数の増加によって向上
– Solaris 11.3 における ZFS ARC のメモリ割り当ての改善
/etc/system にARC最大値を制限する必要が無しに
• https://blogs.oracle.com/yappri/entry/changes_to_zfs_arc_memory
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
61
ネットワーク機能の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
62
ネットワーク機能の強化
• vswitch でのプライベート VLAN のサポート
– VLANの中に別の VLANを作成し同一サブネット内で通信を分離
– ホテルやマンションで利用する
• VNIC のハードウェア SLA のサポート
– Intel の Fortville NIC など、SR-IOV PCIe 仮想機能 (VF) をサポートする NIC と
カーネルゾーンに対して帯域幅共有機能が利用可能
• My Traceroute ユーティリティー
– ping コマンドおよび traceroute コマンドからの情報を 1 つのユーティリティーに
組み合わせるネットワーク診断
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
63
ネットワーク機能の強化
• データリンクの LRO (Large Receive Offload)
– パケットを類似のソース、宛先、およびポートの特性で集約しインバウンドトラフィックを
より効率的に処理
• EVS の機能拡張と EVS コントローラ、IPnet、および VPort の機
能拡張
– 新しいフラットな (タグなし) レイヤー 2 ネットワークタイプ、計算ノードごとの複数の
アップリンク、割り当てプール、およびポートごとにリンク保護を明示的に設定する機能
• CEE のデータセンターブリッジング拡張
– FCoE (Fibre Channel over Ethernet) の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ネットワーク機能の強化
• DSCP (Differentiated Services Code Point )マーキングをサポート
– ネットワーク QoS で利用される DSCP フィールドを拡張
• ネットワークフロー制御の強化
– inbound-only または outbound-only のフロー制御などが可能に
• VRRP ルーターのグローバルな有効化または無効化
– 冗長プロトコル (VRRP) ルーターを、一括してグローバルに有効または無効
• Netboot 環境でのバニティー名の命名
– Ethernet および iSCSI を介したネットワークブート環境のプロビジョニング中に、データリ
ンクにバニティー名を指定するサポート
• IPoIB での VNIC のサポート
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
システム管理機能の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
66
システム管理機能の強化
• リソース上限デーモン
– 物理メモリの上限管理デーモンの性能向上、管理コマンドの簡略化
• RAD (リモート管理機能) に REST API を追加
– Support for ZFS, IPS, datalinks, and flows
• 改善されたデバイス管理
– diskinfo (1M) コマンドでNVMe およびフラッシュをサポート
– NVMe (Non Volatile Memory Express) は、SSDの新規格、PCI-E直結の高速I/O
• 定期的なサービスおよびスケジュールされたサービス
– SMF に定期的にサービスを実行する機能に加えて、特定のスケジュールでサービスを実行す
るよう機能追加
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
システム管理機能の強化
• Oracle Solaris プロジェクトのマルチ CPU バインディング
– project で MCB (Multi CPU Binding) をサポート
– pbind, processor-set よりも柔軟に構成可能
• Hiera
– Puppet で利用可能なツール
– Solaris 11.3 では Puppet 3.6.2 にアップデート
• USB FMA
– USB クライアントドライバで FMA (障害管理)をサポート
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
パフォーマンスの強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
69
プラットフォームとパフォーマンスの拡張機能
• 最適化された共有メモリー V2
– Oracle Database 12c のシステムグローバル領域 (SGA) を高速化
– 2〜6倍に高速化
• Oracle Solaris カーネル動的トラップトレース管理ツール
– システムを停止せず、トラップアクティビティーに関する情報を収集
• プラットフォームファームウェアの IPS パッケージ
– SPARC プラットフォームファームウェアを IPSからダウンロード
– サーバーのファームウェアは自動ではなく手動で更新
• 高精度リアルタイム計算のパフォーマンス向上
– gethrtime(3C) and gettimeofday(3C) の性能向上
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
プラットフォームとパフォーマンスの拡張機能
• スケーラブルな読み取り/書き込みロック
– 特に規模の大きいシステム上のアプリケーションのパフォーマンスが強化
• 遅延ダンプ
– システムがリブートされるまでメモリーにダンプが保持され、ディスクベースのダンプデバ
イスを完全にバイパスしてファイルシステムにダンプを書き込む
• ZFS ARC
(Adaptive Replacement Cache)
およびカーネルケージの削減
– メモリ割り当ての向上
• IOMMU の統計情報サポート拡張
• Oracle VTS 7.0 Patch Set 19.2
• NVIDIA ドライバの更新
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
開発者向け機能の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
72
開発者向け機能の強化
• シリコンセキュアメモリーのAPI とライブラリ
– SPARC M7 の Silicon Secured Memory を活用
• Oracle Solaris Studio での SSM のサポート
• POSIX Spawn 関数
– Java をより高速かつ効率的に実行できるようにする新しい C API
– 詳細は、posix_spawn(3C) および posix_spawn_file_actions_addchdir_np(3C)
• 拡張されたシグナル送付
– 別のプロセスの特定のスレッドと直接やり取りすることによって、プロセス内のスレッドに
もシグナルを送信
– 詳細は、proc_thr_kill(3C) および proc_thr_sigqueue(3C)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
開発者向け機能の強化
• 新しいイベントソース
– 詳細は、port_create(3C)、port_associate(3C)、および port_dissociate(3C)
• ランダム番号およびエントロピーを収集するシステムコール
– 詳細は、getentropy(2) および getrandom(2)
• 名前付きスレッド
– アプリケーションのスレッドにラベルを付けて、アプリケーションのデバッグを単純化
– 詳細は、prstat(1M) および pthread_attr_setname_np(3C)
• DTrace の noresolve 実行時オプション
– 実行時オプション –x noresolve を介して、ユーザースペースシンボルの自動解決を防ぐ
• DTrace EoIB SDT プローブ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Solaris ロードマップ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
75
Oracle SPARC プロセッサ
社外公開されている SPARC/Solaris ロードマップ
http://www.oracle.com/us/products/servers-storage/servers/sparc /oracle-sparc /sparc-roadmap-slide-2076743.pdf
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
76
Oracle Solaris Lifetime Support
サポートについて
Solaris 8
Sustaining Support
Extended
Support
Solaris 9
Oracle
Solaris 10
Solaris Legacy
Containers
Oracle
Solaris 11
2011
Sustaining Support
Extended
Support
Premier Support
Sustaining Support
Extended Support
Premier Support
2015
2018
Sustaining Support
Sustaining
Support
Extended
Support
2021
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
2024
77
本日のデモ機:SPARC T7-1 Server
• 1x SPARC M7 4.13GHz プロセッサ
– 32 コア, 256 スレッド
• 最大512 GB メモリ
– 8x or 16x DIMM構成, DDR4 16GB or 32GBメモリ
• 6x ロープロファイル PCIe 3.0 スロット
– 最大 2つの x16レーン スロット 構成が可能 (構成依存)
• 8x ホットスワップ 2.5” SFF ディスクドラブ
– 最大 8x SAS HDD/SSD
– 最大 4x NVMe SSD
– SAS と NVMe ドライブの混在が可能
•
•
•
•
•
1x オンボード SAS-3 コントローラ (HW RAID 0,1,10/1E)
1x NVMe PCIe スイッチ オプション (工場組込みオプション)
4x 10GBase-T ポート (2x オンボード NIC)
2x 1000 W ホットプラグ電源 (1+1)
2RU シャーシ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
78
SPARC M7 Processor
より高いスループット性能
32コア、256スレッド
Silicon Secure Memory
Cryptographic
Acceleration
より高いシングルスレッド性能
4.13GHz
より大きいメモリ帯域
168GB/s
SQL in Silicon
– より多くのコア – 高いクロック周波数 – より多くのキャッシュ – より多くのコアあたりのキャッシュ
– 多より大きいメモリ帯域とIO帯域 – より多くの PCIe レーン – より低いキャッシュレイテンシー
– より低いメモリレイテンシー
Copyright
© 2016,
its affiliates.
All rights reserved. |
Copyright © 2015, Oracle and/or its
affiliates.
All Oracle
rightsand/or
reserved.
|
79
ドキュメント
• https://docs.oracle.com/cd/E62101_01/html/E62482/index.html
Oracle® Solaris 11.3 新機能
• https://docs.oracle.com/cd/E62101_01/html/E62729/index.html
Oracle® Solaris 11.3 でのシステムおよび接続されたデバイスのセキュリ
ティー保護
• https://publishedrs.lanyonevents.com/published/oracleus2015/sessionsFiles/1729/CON6
083_Yznaga-CON6083-SSM-and-Oracle-DB.pdf
Silicon Secured Memory in SPARC: Unparalleled Security and
Performance for Oracle Database [CON6083]
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
80
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
81
Fly UP