OpenStack Mitakaのセキュリティについて(1)
今回のMitakaでのセキュリティの変更点について、主要な各コンポーネントごとに
概略を見ていきます。
こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面です。
4/7にOpenStack Mitakaがリリースされました。今回から数回に分けて、Mitakaで変更されたセキュリティについて、各コンポーネントごとに見ていきます。
OpenStack Mitakaについて
2016/04/07に、オープンソースで開発されているクラウド基盤ソフトであるOpenStackの、13番目のバージョン「Mitaka」がリリースされました。
今回のリリースでは、APIの統合などにより、主に使い勝手と運用が改善されています。
また、Novaで手動による設定が必要だった設定項目が減少して設定が簡単になるなど、管理機能が改善されています。さらに、スケーラビリティの改善も行われているようです。
ここでは、それらMitakaでの改善点の中から、主にセキュリティ部分の新機能に関して、主要な各コンポーネント
Keystone
Neutron
Nova
Horizon
Cinder
ごとに見ていきます。Mitakaのリリースノートは各コンポーネントごとに詳細が用意されていますので、新機能を追っていくのも簡単になります。
(注) Swiftに関しては、特にセキュリティ上の新機能などが無かったため、今回の対象からは外しています。
KeystoneでのMitakaでのセキュリティ上の新機能
Keystoneは、OpenStackの各種サービスに対して、認証(Authentication)と認可(Authorization)を提供するコンポーネントです。OpenStackの複数のコンポーネント間での接続に必要な認証は、全てKeystoneが一括して行っています。
Keystoneに関して、Mitakaでの変更点はこちらのリリースノートに記載されています。
リリースノートの中の「New Feature(新機能)」だけでも、かなりの量があります。ここでは、この新機能の中の主要な変更として
ユーザによるイベントのオプトアウト設定
暗黙の(Implied) Role
Domain-Specific-Role
Time-based One-Time-Password
X.509認証のサポート
URLSafe
について取り上げていきます。
ユーザによるイベントのオプトアウト設定
まず新機能のひとつ目として、ユーザによるイベントのオプトアウト設定を見てみましょう。
Keystoneでは、現在、イベント通知機能が実装されており、サードパーティのアプリケーションはこの通知機能を用いてモニタリングやクォータなどに使用しています。
Keystoneではこの通知機能として、
Basic Notification
CADF(Cloud Auditing Data Federation)
の二種類をサポートしています。
例えば、Basic Notificationの場合、新たにユーザを作成すると、下記のような通知が送信されます。
{
"event_type": "identity.user.created",
"message_id": "0156ee79-b35f-4cef-ac37-d4a85f231c69",
"payload": {
"resource_info": "671da331c47d4e29bb6ea1d270154ec3"
},
"priority": "INFO",
"publisher_id": "identity.host1234",
"timestamp": "2013-08-29 19:03:45.960280"
}
また、下記の例はCADFで、ユーザが認証した際に送信される通知になります。
{
"event_type": "identity.authenticate",
"message_id": "1371a590-d5fd-448f-b3bb-a14dead6f4cb",
"payload": {
"typeURI": "http://schemas.dmtf.org/cloud/audit/1.0/event",
"initiator": {
"typeURI": "service/security/account/user",
"host": {
"agent": "curl/7.22.0(x86_64-pc-linux-gnu)",
"address": "127.0.0.1"
},
"id": "c9f76d3c31e142af9291de2935bde98a"
},
"target": {
"typeURI": "service/security/account/user",
"id": "openstack:1c2fc591-facb-4479-a327-520dade1ea15"
},
"observer": {
"typeURI": "service/security",
"id": "openstack:3d4a50a9-2b59-438b-bf19-c231f9c7625a"
},
"eventType": "activity",
"eventTime": "2014-02-14T01:20:47.932842+00:00",
"action": "authenticate",
"outcome": "success",
"id": "openstack:f5352d7b-bee6-4c22-8213-450e7b646e9f"
},
"priority": "INFO",
"publisher_id": "identity.host1234",
"timestamp": "2014-02-14T01:20:47.932842"
}
今回、Keystoneでユーザによるopt-out設定により、通知をオプトアウト(通知を送信しない)することが可能になり、不要な情報を流さないようにすることが出来るようになりました。
こちらの設定は、/etc/keystone/keystone.confで行います。例えば、
[DEFAULT] notification_opt_out = identity.user.created
とすれば、ユーザ作成に成功した旨のメッセージを送信しなくなります。
まとめ
今回はMitakaでのセキュリティ上の改善の中から、特にKeystoneの中の「イベントのオプトアウト」について説明しました。
次回はKeystoneでのセキュリティ上の改善点の残りの部分を説明します。
また、SIOSではOpenStackのPoC支援のサポートメニュー提供を開始しました。
OpenStackに関しての導入を検討されている方は、是非こちらもご活用頂ければと思います。
7/22にノベル株式会社様と共催で「クラウド・OSSセキュリティセミナー」と題して、OpenStack基盤自体のセキュリティに関して、デモを交えたセミナーを行います。
https://sios.secure.force.com/webform/SeminarDetail?id=70110000000sotpAAAがプログラム内容と申し込みの詳細になりますので、是非お申し込み下さい。