管理インターフェース

管理者は、様々な運用機能に対してクラウドの管理統制を行う必要があります。また、これらの管理統制機能を理解して、セキュリティの確保を行うことが重要です。

OpenStack は、オペレーターやプロジェクト向けに複数の管理インターフェースを提供しています。

  • OpenStack dashboard (horizon)

  • OpenStack API

  • Secure shell (SSH)

  • nova-manage や glance-manage などの OpenStack 管理ユーティリティー

  • 帯域外管理インターフェース (IPMI など)

Dashboard

OpenStack dashboard (horizon) は、管理者やプロジェクトに対して、クラウドベースのリソースのプロビジョンやアクセスができるように Web ベースのグラフィカルインターフェースを提供します。ダッシュボードは、OpenStack API に呼び出しを行うことでバックエンドサービスと対話します。

機能

  • クラウド管理者として、ダッシュボードはクラウドのサイズや状態の俯瞰図を確認できます。また、ユーザーやプロジェクト (テナント) の作成、プロジェクトへのユーザーの割り当て、ユーザーやプロジェクトで利用可能なリソースの制限設定が可能です。

  • ダッシュボードでは、プロジェクト/ユーザーに対して、管理者が設定した制限値内で自身のリソースをプロビジョニングするためのセルフサービスポータルを提供します。

  • また、ダッシュボードではルーターやロードバランサーにも GUI 対応しています。例えば、ダッシュボードは主な Networking 機能をすべて実装するようになりました。

  • It is an extensible Django web application that allows easy plug-in of third-party products and services, such as billing, monitoring, and additional management tools.

  • また、ダッシュボードはサービスプロバイダーや他の商業ベンダー向けにブランディングすることも可能です。

セキュリティの課題

  • ダッシュボードは Web ブラウザーのクッキーと JavaScript を有効にする必要があります。

  • ダッシュボードをホストする Web サーバーは、データの暗号化が確実に行われるように TLS の設定をしてください。

  • バックエンドとの対話に使用する horizon Web サービスおよび OpenStack API はいずれも、サービス妨害 (DoS) などの Web 攻撃ベクトルからの影響を受けるため、必ず監視が必要です。

  • It is now possible (though there are numerous deployment/security implications) to upload an image file directly from a user's hard disk to OpenStack Image service through the dashboard. For multi-gigabyte images it is still strongly recommended that the upload be done using the glance CLI.

  • ダッシュボードからセキュリティグループを作成・管理します。セキュリティグループにより、セキュリティポリシーに関する L3-L4 パケットをフィルダリングして仮想マシンの保護が可能になります。

参考資料

OpenStack.org, ReleaseNotes/Liberty. 2015. OpenStack Liberty Release Notes

OpenStack API

OpenStack API はクラウドベースのリソースのアクセス、プロビジョニング、自動化を行う RESTful Web サービスのエンドポイントです。オペレーターやユーザーは通常、コマンドラインユーティリティ (例えば novaglance)、言語固有のライブラリ、またはサードパーティのツールで API にアクセスします。

機能

  • API はクラウド管理者がクラウドデプロイメントのサイズや状態の概要を把握できるようにするだけでなく、ユーザー、プロジェクトの作成、プロジェクトへのユーザーの割り当て、プロジェクトベースのリソースクォータの指定などができるようにします。

  • API はリソースのプロビジョニング、管理、アクセスに使用するプロジェクトインターフェースを提供します。

セキュリティの課題

  • API サービスはデータが確実に暗号化されるように TLS の設定が必要です。

  • Web サービスとして OpenStack API は、サービス妨害 (DoS) 攻撃など、よく知られている Web サイト攻撃ベクトルからの影響を受けます。

secure shell (SSH)

Linux や Unix システムの管理にはセキュアシェル (SSH) を使用するのが業界の慣習となっています。SSH は通信にセキュアな暗号化機能を使用します。一般的な OpenStack デプロイメントでの SSH の範囲や重要性において、SSH デプロイメントのベストプラクティスを把握することが重要です。

ホストキーのフィンガープリント

頻繁に見逃されるのが SSH ホストのキー管理の必要性です。OpenStack デプロイメントホストのすべてまたは多くが SSH サービスを提供します。このようなホストへの接続の信頼性を確保することが重要です。SSH ホストキーのフィンガープリントの検証に関して比較的セキュアでアクセス可能なメソッドを提供できないと、悪用やエクスプロイトの温床となるといっても過言ではありません。

SSH デーモンにはすべてプライベートのホストキーがあり、接続するとホストキーのフィンガープリントが提供されます。このホストキーのフィンガープリントは未署名のパブリックキーのハッシュです。これらのホストに SSH 接続する前に、ホストキーのフィンガープリントを把握しておくことが重要です。ホストキーのフィンガープリントの検証は中間者攻撃の検出に役立ちます。

通常、SSH デーモンがインストールされると、ホストキーが生成されます。ホストキーの生成時に、ホストには十分なエントロピーが必要になります。ホストキーの生成時にエントロピーが十分にないと、SSH セッションの傍受が発生してしまう可能性があります。

SSH ホストキーが生成されると、ホストキーのフィンガープリントはセキュアでクエリ可能な場所に保存されるはずです。特に有用なソリューションは、RFC-4255 で定義されているように SSHFP リソースレコードを使用した DNS です。これをセキュアにするには、DNSSEC のデプロイメントが必要になります。

管理ユーティリティ

OpenStack 管理ユーテリティは、API 呼び出しを行う、オープンソースの Python のコマンドラインクライアントです。OpenStack サービス (例えば、nova や glance) 毎にクライアントがあります。標準の CLI クライアントに加え、サービスの多くには管理コマンドラインがあり、データベースへ直接呼び出しを行います。これらの専用の管理ユーテリティは徐々に廃止予定となっています。

セキュリティの課題

  • 場合によっては専用の管理ユーテリティ (*-manage) は直接データベースへの接続を使用することがあります。

  • 認証情報が含まれている .rc ファイルのセキュリティが確保されているようにします。

参考資料

OpenStack.org, OpenStack End User Guide section. 2016. OpenStack command-line clients overview

OpenStack.org, Set environment variables using the OpenStack RC file. 2016. Download and source the OpenStack RC file

帯域外管理インターフェース

OpenStack コンポーネントを実行するノードにアクセスする場合、OpenStack の管理は IPMI プロトコルなどのアウトオブバンド管理インターフェースに依存します。IPMI は非常に有名な仕様で、オペレーティングシステムが実行中である場合やシステムがクラッシュした場合でもリモートでのサーバー管理、診断、リブートを行えます。

セキュリティの課題

  • 強力なパスワードを使用してセーフガードするか、クライアント側の TLS 認証を使用してください。

  • ネットワークインターフェースはプライベート (管理または個別) ネットワークに設定されていることを確認します。管理ドメインはファイアウォールか他のネットワーク機器で分離してください。

  • If you use a web interface to interact with the BMC/IPMI, always use the TLS interface, such as HTTPS or port 443. This TLS interface should NOT use self-signed certificates, as is often default, but should have trusted certificates using the correctly defined fully qualified domain names (FQDNs).

  • 管理ネットワークのトラフィックを監視します。トラフィックの多いコンピュートノードよりも例外のトラッキングが簡単になる場合があります。

また、アウトオブバンド管理インターフェースはグラフィカルのコンソールアクセスが可能な場合が多くあります。デフォルトではない可能性もありますが、これらのインターフェースは暗号化されていることがあります。これらのインターフェースの暗号化については、お使いのシステムのソフトウェア文書を確認してください。

参考資料

SANS Technology Institute, InfoSec Handlers Diary Blog. 2012. Hacking servers that are turned off