クラウドの仮想マシン・インスタンスをセキュアにする

IBM SmartCloud Enterprise でプロビジョニングする際のセキュリティーに関する考慮事項

インターネットは、サーバーを実行する環境としては非常に過酷な環境です。企業内にコンピューティング・リソースを配備する場合、セキュリティーは不可欠な要素ですが、そのリソースを企業の外部へ移すとなると、なおのことセキュリティーが重要になってきます。クラウド・ベースのインフラストラクチャーが増加するのに伴い、経験の浅いクラウド・ユーザーや意識の低いクラウド・ユーザーがパブリック・クラウドにおけるセキュリティーの重要性を考慮しないケースが見受けられるようになってきました。この記事では、IBM SmartCloud Enterprise に仮想マシン (VM) をプロビジョニングする際に考慮が必要な事項をいくつか説明します。

Mitchell DeKeyrel, Technical Solution Architect, IBM

Mitchell DeKeyrel は IBM に 13 年以上勤務するテクニカル・ソリューション・アーキテクトです。これまで、大規模なラボ環境および本番データ・センターでのインフラストラクチャーおよびシステム管理で 5 年の経験を積み、IBM CIO Enterprise Content Management Solution の主任アプリケーション・アーキテクトとして 7 年間、IBM CIO オフィスに勤務しました。彼は業界全体でのエンド・ユーザーの要件を理解および解釈して、業界の動向に基づく ECM アプリケーション変更のロードマップを設定してきました。また、ECM 分野のサブジェクト・マター・エキスパートと協力し、他の戦略的アプリケーションおよび IBM 製品との統合の機会を特定してきました。現在は、IBM の GTS 部門でクラウド・サービス・イネーブルメントに取り組んでいます。



Matt Waldbusser, Cloud Service Enablement Lead, IBM

Matt Waldbusser は IBM GTS Division のクラウド・サービス実用化のリーダーであり、IBM に入社して 12 年になります。彼は過去 6 年間、クラウド・コンピューティング、医療、旅行、運輸、生命科学の業界で、IBM ミドルウェア・ソリューションをデプロイするお客様への支援を主に行ってきました。



Andrew Jones, Senior Cloud Solution Architect, IBM

Andrew R. Jones photoAndrew R. Jones は IBM で 22 年を超える経験を持つシニア・ソリューション・アーキテクトです。彼は過去 16 年、クラウド・コンピューティング、通信、ワイヤレス技術、ネットワーク・コンピューターにおける IBM のミドルウェア・ソリューション実現のために、顧客やビジネス・パートナーへの協力を行ってきました。彼は IBM Master Inventor であり、IBM 認定 IT アーキテクトでもあります。



2012年 2月 03日

IBM SmartCloud Enterprise (IBM Cloud) はセキュリティーに関して共有責任モデルを採用しています。パブリック・クラウド環境にリソースをデプロイしてシステムを構築するお客様のために、IBM は物理的にも論理的にもセキュアな管理インフラストラクチャーと、ベースとなるオペレーティング・システム環境を提供しています。この環境では、いったん仮想リソースがプロビジョニングされると、仮想リソースのセキュリティーの維持はお客様の責任となります。

IBM Cloud は、エンタープライズ・クラスの仮想サーバー環境に迅速にアクセスできるように設計されたアジャイルな IaaS (Infrastructure as a Service) クラウド・オファリングです。もう少し具体的に言うと、IBM Cloud は IBM がホストするマルチテナントのクラウド・オファリングであり、そこでは複数のお客様が共通のインフラストラクチャーを共有します。この共有方式により、お客様は他のインフラストラクチャー・ソリューションよりも低コストでこのソリューションを利用することができます。

この記事では、この共有責任モデルについて、また IBM Cloud に仮想マシンをプロビジョニングする際に考慮が必要な事項について説明します。

共有責任方式

IBM Cloud はセキュリティーに関して共有責任方式を採用しています。つまり、IBM はクラウド管理インフラストラクチャー (ハイパーバイザー以下) のセキュリティーに責任を持ち、お客様はハイパーバイザーよりも上のセキュリティーのすべてについて責任を持ちます。図 1 はこれらの責任の分担を示しています。

図 1. 責任の分担
責任の分担

IBM の責任範囲

先ほど触れたように、IBM は IBM Cloud 環境を構成する物理インフラストラクチャー、そしてハイパーバイザー・レベル以下のすべてのコンポーネントに責任を持ちます。具体的には、以下に挙げる IBM Cloud の部分について、IBM は責任を持ちます。

物理的なセキュリティー
IBM は世界中の多くの場所でデータ・センターやホスティング・ビジネスに長年の実績があります。現在、IBM SmartCloud Enterprise は米国、カナダ、日本、シンガポールに拠点を持ち、IBM が物理セキュリティーに関してすでに持っている経験、ツール、手法を活用しています。そうしたツールや手法の例を以下に挙げますが、これらは一部にすぎません。

  • データ・センターにはデジタル CCTV (Closed Circuit Television) が設置され、24 時間もしくはイベント駆動 (動き検出) で監視映像が記録されます。CCTV による監視映像は最低 30 日間保存されます。
  • データ・センターの入口のドアには地区音響装置が設置されています。
  • コンピューター・ベースの入退室制御システム (CAS) にバッジ・リーダーを使用し、承認を得た人以外は管理区域に入室できないように制限しています。これらの管理区域への入退出はすべてログに記録されます。
  • 必要に応じて生体認証とカード・セキュリティーが導入されています。
  • アンチパスバック (バッジ・アウト) 機能により、同じバッジを使用して複数ユーザーがデータ・センターに入室するのを防止します。
  • 施設の設計と防火システムにより、障害が他のシステムに波及するのを防止します。

ハイパーバイザーよりも下のハードウェアとソフトウェアの管理
IBM はプロビジョニング環境 (実際のハイパーバイザー、物理ネットワーク、基礎となるハードウェア・インフラストラクチャーなど) の管理と保守を行います。これらのシステムは ITIL (Information Technology Infrastructure Library) ベースのプロセスを使用して管理されます。

IBM 社内の IT 管理プロセスが厳格に適用され、定期的に内部監査が行われます。IBM は商用製品と社内ツールの両方を使用してインフラストラクチャーを管理します。そうしたサービス・オファリングの例として、侵入防止と脆弱性スキャンのための IBM Managed Security Services などがあります。

IBM はネットワーク・インフラストラクチャーを含む IBM Cloud 環境の脆弱性スキャン、パッチ管理、自動ヘルス・チェック、コード・レビューを定期的に行っています。

不正侵入検知・防御システム (IDS/IPS)
IBM インフラストラクチャーに対してリアルタイムで IDS/IPS が適用されます。IDS/IPS により、ある程度までお客様の仮想マシンを保護することができます。

セルフサービス・ポータルと API (Application Programming Interface) のセキュリティー
ユーザーが IBM Cloud 環境でリソースをプロビジョニングする場合、以下の 2 つの方法があります。

  • IBM Cloud のセルフサービス・ポータルを使用する方法
  • IBM Cloud の API を使用する方法

これらのエントリー・ポイントの実装に使用されるインフラストラクチャーはすべて、ゾーン分けされたマルチティア・アーキテクチャーを使用したセキュアな IBM 設備で採用されています。これらのリソースは IBM 内の厳格なセキュリティー要件とプロセスの対象となるため、IBM ではこれらのリソースをスキャン、監視、管理するために実績のあるオファリングや製品 (Rational AppScan など) を使用しています。これらのリソースとお客様のクライアント (Web ブラウザーや API を使用してカスタムで構築されたアプリケーションなど) との間の通信はすべて、HTTP (HyperText Transport Protocol) over SSL (Secure Sockets Layer) を使用してセキュアに行われます。

パブリック・イメージ・カタログ
IBM はオペレーティング・システムとミドルウェアのイメージのパブリック・カタログを提供しています。これらのイメージは IBM ベンダーや IBM Software Group 組織の仕様に従って構築されています。カタログ内のベース・イメージのパッチ管理は IBM が行い、セキュリティー関連の修正をデプロイする際の IBM 社内標準に従って行われます。これらのイメージは定期的に更新され、また必要に応じてホット・フィックスによって更新されます。

いったんお客様が IBM Cloud カタログのインスタンスをプロビジョニングすると、その実行インスタンスと、そのインスタンスから作成されるすべてのイメージのパッチ管理はすべて、そのお客様の責任となります。お客様は自らがプロビジョニングしたインスタンスが自社のセキュリティー標準に従うように、常にそれらのインスタンスを検証する必要があります。

お客様の責任範囲

IBM SmartCloud Enterprise の共有責任モデルの一部として、お客様はクラウド環境にプロビジョニングされたリソースのセキュリティーのすべてについて責任を持ちます。以下のセクションでは、そうした責任に含まれるものの大部分について詳しく説明しますが、ここに挙げるものがお客様の責任範囲のすべてというわけではありません。

ID 管理とアクセス制御
どのようなクラウド環境においても、ID 管理には以下の 2 つの側面があります。

  1. IBM Cloud のプロビジョニング環境
  2. ゲスト・オペレーティング・システム

IBM Cloud のプロビジョニング環境で ID 管理を行う場合、ibm.com の全システムで使用されている標準的な IBM Web Identity システムが採用されます。

お客様が IBM Cloud サービスにサインアップすると、サインアップ・プロセスの際に指定された ID がエンタープライズ・アカウント管理者として割り当てられます。アカウント管理者は IBM Cloud のセルフサービス・ポータルを使用してユーザー ID の追加、削除、変更をすることができ、それらのユーザー ID をインスタンス、イメージ、ストレージなどのクラウド・リソースのプロビジョニングに使用することができます。

IBM Cloud のプロビジョニング環境にユーザー ID を追加する場合、お客様自身の要件を基にすべてのアカウント・ユーザー ID を管理する責任はお客様にあります。

ID 管理の典型的なベスト・プラクティスを以下に挙げます (これらがすべてではありません)。

  1. ユーザー ID 要求プロセス
  2. ユーザー ID 承認プロセス
  3. ユーザー ID 再検証プロセス
  4. ユーザー ID 取り消しプロセス
  5. パスワード管理のガイドライン
  6. パスワード強度のガイドライン
  7. 定期的にパスワードを変更するようユーザーに対して行う要求

IBM Cloud に仮想マシンがプロビジョニングされた後は、その仮想マシン上で実行されるオペレーティング・システムの ID 管理を行う必要があります。この ID 管理の部分は、その仮想マシンをプロビジョニングしたお客様が責任を持って行います。

仮想マシンが IBM Cloud にプロビジョニングされるとデフォルトで、そのインスタンスにアクセスできるユーザーは制限されます。このアクセスできるユーザーは以下のように仮想インスタンスのオペレーティング・システムによって異なります。

  • Red Hat または SuSE Linux の場合: IBM Cloud のユーザーがプロビジョニングしたインスタンスには、その同じユーザーが作成した鍵を使って、オペレーティング・システム内の 1 つのユーザー ID のみが SSH でリモート・アクセスすることができます。
  • Microsoft Windows の場合: IBM Cloud のユーザーがインスタンスをプロビジョニングする際に、1 つのユーザー ID とパスワードを指定します。この ID とパスワードの組み合わせを使用して、そのインスタンスに Microsoft の「リモート デスクトップ接続」でアクセスすることができます。

この時点で、インスタンスの所有者は実行する仮想マシン上で任意の数の ID 管理システムを実装することができます。ID 管理システムの例としては、デフォルトのオペレーティング・システム、LDAP や Microsoft Active Directory などの一般的なユーザー・リポジトリー、サードパーティーの ID 管理システムなどがあります。

ゲスト・オペレーティング・システム
IBM Cloud にはクラウド・リソースをプロビジョニングするためのセルフサービス環境が提供されています。IBM はお客様によってプロビジョニングされたリソースには一切関与しないポリシーをとっています。つまり、お客様が IBM Cloud にリソースをプロビジョニングした後は、物理レイヤーとハイパーバイザー・レイヤーよりも上のリソースのセキュリティーはすべてお客様の責任です。

IBM Cloud 環境にインスタンス (仮想マシン) をプロビジョニングしたお客様には、ゲスト・オペレーティング・システムに対する完全なルート権限、つまり管理者権限が与えられます。このレベルの権限を持つことで、お客様は自社内の要件や標準に基づき、プロビジョニングされたリソースをセキュアに維持することができます。

以下のリストには、プロビジョニングされたリソースの管理に関してすべてのお客様が考慮すべきタスクが含まれています。ただし、このリストにはすべてが網羅されているわけではないこと、またお客様は自社内のリソースを管理する場合と同じ注意をもってお客様自身のクラウド OS リソースを管理する必要があることに注意してください。

  • パッチ管理とセキュリティー修正: OS ベンダーは新たな脅威に対処するために、彼らの製品に常にパッチを当てており、これらのパッチをいつ、どこまで適用するかは完全にお客様の裁量に任されています。IBM はお客様に対し、常に OS ベンダーのセキュリティー情報を確認し、お客様の要件に最も合う形で更新や修正を適用するように提言しています。
  • 追加したソフトウェアもセキュアに保つ: どのようなソフトウェアであれ、ゲスト・オペレーティング・システムにソフトウェアをインストールし、構成、管理する場合、お客様はそのソフトウェアを十分セキュアに保ち、そのソフトウェアによって行われるシステムへのアクセスも十分セキュアに行うように注意する必要があります。ソフトウェア・ベンダーは自社の製品にセキュリティーの脆弱性が発見されると必ずパッチを当てます。IBM はお客様に対し、常にソフトウェア・ベンダーのセキュリティー情報を確認し、必要に応じてパッチを当てるように提言しています。
  • ゲスト・オペレーティング・システム上でのセキュリティー・ポリシーを作成し、実装する: 以下のような項目が含まれます (これらの項目がすべてではありません)。
    • ゲスト・オペレーティング・システムのファイアウォール・ポリシー
    • ゲスト・オペレーティング・システムの SSH 鍵の保護と配布
    • オペレーティング・システム上のデータの暗号化
    • アンチウィルス・ソフトウェアが必要な場合のソフトウェアの選択
    • 不必要と考えられるパッケージやサービスの削除


ネットワーク・アクセス
IBM Cloud にプロビジョニングされた各インスタンス (仮想マシン) にはデフォルトで、パブリック・ルーティング可能な IP アドレスが 1 つ以上割り当てられ、インターネット経由でアクセスできるようになります。

IBM Cloud ではオプションとして VPN (Virtual Private Network) サービスが提供されます。オプションの各 VPN は、お客様の IPsec (Internet Protocol Security) 対応ゲートウェイと 1 つの IBM Cloud データ・センターとの間のインターネット上に IPsec ベースの VPN トンネルを提供します。この VPN オプションを利用すると、お客様はプライベート VLAN (Virtual Local Area Network) を利用できるようになり、インスタンスをプロビジョニングする対象をパブリック VLAN にするかプライベート VLAN にするかを選択することができるようになります。VPN オプションにより、お客様はデータを暗号化してインターネット経由で通信することができ、また IBM Cloud による仮想ネットワーク内で一層の分離を実現することができます。

VPN オプションを利用する場合、お客様はパブリック VLAN とお客様のプライベート VLAN の両方にまたがるインスタンスをプロビジョニングすることもできます。この機能により、IBM Cloud 内に階層化されてデプロイされるアーキテクチャーを柔軟に実現することができます。この機能は、ソフトウェア・ファイアウォールで保護する必要があります。ソフトウェア・ファイアウォールはオペレーティング・システムに付属のものでもサードパーティー製のものでもよく、ホストとポート両方からのアクセスを制限することでこの機能を保護します。この機能の詳細については、developerWorks の記事、「IBM SmartCloud Enterprise についてのヒント: 別々の VLAN にまたがる」を読んでください。


ハイパーバイザーとゲスト・ファイアウォールのルール
IBM Cloud では、お客様はホスト・オペレーティング・システム・レベルでもゲスト・オペレーティング・システム・レベルでも、カスタムのファイアウォール・ルールを設定することができます。またデフォルトで、各イメージは実際にポートをフィルタリングするソフトウェア・ファイアウォール・ルールを持つように構成されます。Linux イメージは iptables を使用するように構成され、デフォルトで TCP ポート 22 (SSH) を使用することができます。Windows インスタンスはデフォルトで、TCP ポート 3389 (RDP) を使用できるように構成されます。

図 2. ホスト・ベースのファイアウォール・ルールとゲスト・ベースのファイアウォール・ルール
ホスト・ベースのファイアウォール・ルールとゲスト・ベースのファイアウォール・ルール

お客様はカスタム・イメージを作成して parameters.xml ファイルを管理することで、ホスト・ベースのファイアウォール・ルールを設定することができます。この機能を利用することで、お客様はネットワーク・トラフィックがゲスト・オペレーティング・システムに送信される前にトラフィックをフィルタリングすることができます。これらのカスタマイズの方法についての詳細は、IBM Smart Business Cloud の「サポート」タブの「資料ライブラリー」セクションに「イメージのカスタマイズおよびソフトウェア・バンドル」というアセットとしてドキュメントが用意されています (IBM Cloud のアカウントにログインする必要があります)。イメージの parameters.xml ファイルの使い方についての詳細は developerWorks の以下の記事に説明されています。

Windows ファイアウォールまたは Linux システムの iptables を使用することで、お客様はいつでもお客様自らのインスタンスに保護レイヤーを追加することができます。

データの制御
先ほど触れたように、仮想マシンのオペレーティング・システムへのアクセスに関し、お客様にはデフォルトでフルアクセスの権限が与えられます。そのため、お客様は IBM Cloud 環境内のデータの処理方法を完全に制御することができます。お客様は任意のソフトウェア・ツールを実装してデータを移動することができますが、そのツールの保守とアクセス制御の管理はお客様の責任となります。お客様には、自らのデータに対してファイルシステムの暗号化などのセキュリティー手段を追加することをご検討するようお勧めします。

IBM はポリシーとして、お客様がプロビジョニングしたリソース (イメージ、インスタンス、永続的ストレージなど) をあるデータ・センターから別のデータ・センターへと移動またはマイグレートすることはありません。リソースをプロビジョニングする際、お客様はそのリソースをどのデータ・センターにプロビジョニングするかを選択することができます。このポリシーは、特定の地理地域外にデータを移動することにセキュリティー上の懸念をお持ちのお客様にとって重要なポリシーとなる可能性があります。


お客様が選択可能なその他の構成に関する選択肢

お客様にとって重要となり得る構成に関する選択肢を以下に記載します。

  • ファイアウォール・ルールを使用すると、ゲストのハイパーバイザー、および iptables (Linux の場合) もしくは Windows ファイアウォール (Windows Server の場合) の両方で詳細な防御をすることができます。
  • Linux オペレーティング・システムの場合、各ユーザーがそれぞれのユーザー ID で sudo を実行することにより、特権ユーザーの権限を行使できるようになります。sudo を利用すると、他のシステムのミドルウェアの ID (db2user など) で実行する特権を付与できるようになります。
  • SSH 鍵による認証を Linux インスタンスで使用することができます。
  • インスタンスを制御できるようになると、即座に初期パスワードと SSH 鍵を変更することができます。一般に、アカウントを設定したら、最初にログインしたときにパスワードを変更するように強制します。
  • IBM Cloud では、ゲストのセキュリティーを監視するためのモニタリング機能やモニタリング・アプリケーションを実装することができます。
  • IBM Cloud では、必要に応じてゲストの監査とロギングを実装することができます。
  • お客様は、インスタンスに対するルート・アクセスを許可しないような設定にすることができます。
  • デフォルト以外のアカウントを使用してください。ミドルウェアのデフォルトのアカウント名以外のアカウントを使用することで、アカウントに対するセキュリティー侵害を防ぐことができます。一般的なアカウント名や既知のアカウント名は既に知られているため、悪用されることがよくあります。
  • リモート・アクセスを必要とするアカウント以外はリモート・アクセスできないように制限してください。
  • 不必要なパッケージやソフトウェアをインスタンスから削除してください。
  • いずれかのサービスが不必要ではないかを判断してください。不必要とみなされるサービスを停止して無効にするか、削除してください。
  • IBM Cloud では、インターネットからアクセス可能なアセットをお客様が定期的にスキャンすることができます。
  • ホスト・ベースの IDS (Intrusion Detection System: 侵入検知システム) を追加してください。
  • オペレーティング・システム、ソフトウェア、ミドルウェアに対して定期的にパッチを確認し、パッチがある場合は適用することができます。

まとめ

この記事では、IBM がクラウドのセキュリティーに関して IBM Cloud に採用している共有責任モデルについて説明し、お客様が持つセキュリティーの責任範囲について注意を喚起しました。またこの記事では、IBM Cloud にインスタンスをプロビジョニングすることによって危険にさらされる可能性のある、潜在的なセキュリティー・ギャップを解消するための助言を提供しました。

参考文献

学ぶために

製品や技術を入手するために

  • IBM SmartCloud Enterprise で利用可能な製品イメージを調べてみてください。

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=790345
ArticleTitle=クラウドの仮想マシン・インスタンスをセキュアにする
publish-date=02032012