機械翻訳について

第1章 Oracle VMセキュリティの概要

この項では、製品の概要およびアプリケーション・セキュリティの一般的な原則について説明します。

1.1 Oracle VMの概要

Oracle VMは、仮想化テクノロジの最新の利点をすべて持つ環境を完備したプラットフォームです。 Oracle VMを使用すると、サポートされている仮想化環境内にオペレーティング・システムとアプリケーション・ソフトウェアをデプロイできます。

1.1.1 Oracle VMアーキテクチャとは

Oracle VMは、仮想化テクノロジの最新の利点をすべて持つ環境を完備したプラットフォームです。 Oracle VMを使用すると、サポートされている仮想化環境内にオペレーティング・システムとアプリケーション・ソフトウェアをデプロイできます。 Oracle VMは、基礎となる仮想化テクノロジからユーザーと管理者を隔離して、毎日の操作が目標指向GUIインタフェースを使用して実行されるようにします。 図1.1「Oracle VMのアーキテクチャ」に、Oracle VMのコンポーネントを示します。


  • クライアント・アプリケーション: Webブラウザを使用してアクセス可能なグラフィカル・ユーザー・インタフェース(GUI)、SSHクライアントを使用してアクセス可能なコマンドライン・インタフェース(CLI)、またはOracle Enterprise Managerカスタム・ビルド・アプリケーション、WebサービスAPI (WS-API)を使用するスクリプトなどの外部アプリケーションなど、Oracle VM Managerとの様々なユーザー・インタフェースが用意されています。 Oracle VM Managerとのすべての通信は、キーまたは証明書ベースのテクノロジのいずれかを使用してセキュリティ保護されます。

  • Oracle VM Manager: Oracle VM Server、仮想マシンおよびリソースを管理するために使用されます。 これは、Webブラウザ・ベースのユーザー・インタフェースやコマンドライン・インタフェース(CLI)などの多くのサブコンポーネントで構成されており、外部スクリプトまたはコマンド・シーケンスの手動実行のいずれかによってコマンド・ラインからインフラストラクチャを直接管理できます。 これらの各インタフェースは、個別のアプリケーションとして実行され、WebサービスAPIを使用して、Oracle VM Managerコア・アプリケーションとのインタフェースとして機能します。

    Oracle VM Managerは、一般にスタンドアロン・コンピュータでホストされますが、注意深く設計された環境で仮想マシンとして実行することもできます。 ただし、仮想マシンでのOracle VM Managerの実行のサポートは制限され、警告が適用されます。 詳細は、「Oracle VMインストレーションおよびアップグレード・ガイド」Oracle VM Managerを仮想マシンとして実行に関する項を参照してください。

    Oracle VM Managerコア・アプリケーションは、Oracle Linuxで実行されるOracle WebLogicアプリケーションです。 ユーザー・インタフェースでは、アプリケーション開発フレームワーク(ADF)アプリケーションが使用され、他のOracle Webベース・アプリケーションと共通のルック・アンド・フィールが提供されます。 Oracle VM Managerコア・アプリケーションおよびOracle VM Manager Webインタフェースは、両方ともWebLogicアプリケーションで、同じプロセス領域を共有しますが、これらは別のアプリケーションです。

    Oracle VM Manager WebインタフェースおよびOracle VM Managerコマンドライン・インタフェースは、両方ともWebサービスAPIを使用して、Oracle VM Managerコア・アプリケーションとのインタフェースとして機能しますが、Oracle VM Manager Webインタフェースは、読取り専用操作のために、Oracle VM Managerデータベースに直接問合せを実行できます。 この設計決定により、Oracle VM Manager Webインタフェースで様々なフィルタリング・オプションが提供され、いくつかの操作でパフォーマンスを向上できます。

    Oracle VM Managerは、ポート8899でHTTPSを介してXML-RPCを使用して、Oracle VM Agentから各Oracle VM Serverと通信します。 Oracle VM Manager内で開始されるサーバー上のアクションは、この方法を使用してトリガーされます。 各Oracle VM Server上のOracle VM Agentは、同様に、通知、統計およびイベント情報をOracle VM Managerに返信できます。 Oracle VM AgentによってトリガーされるOracle VM Manager内のアクションは、Oracle VM Managerによって公開されるWebサービスAPIによってトリガーされ、HTTPSを使用してセキュリティ保護されます。

    Oracle VM ManagerはOracle VMインフラストラクチャ内での構成アクションの重要なコンポーネントですが、Oracle VM Managerが停止したとしても仮想環境は正常に機能し続けることができます。 これには、x86プラットフォームで実行される仮想マシンの高可用性を維持する機能およびライブ・マイグレーションを実行する機能が含まれます。 SPARCプラットフォームでライブ・マイグレーションを実行する方法は、Oracle VM Manager WebインタフェースまたはOracle VM Manageコマンドライン・インタフェースからしかサポートされないため、このプラットフォームで実行される仮想マシンのライブ・マイグレーションでは、Oracle VM Managerを正常に実行している必要があります

  • Oracle VM Manager Database: Oracle VM Managerコア・アプリケーションで使用され、構成、ステータス変更およびイベントの格納と追跡に使用されます。 Oracle VM Managerでは、インストーラにバンドルされているMySQL Enterpriseデータベースを使用し、VM Managerがインストールされているのと同じホストで実行されます。 データベースは、Oracle VM Managerを排他的に使用できるように構成され、他のアプリケーションで使用できないようにする必要があります。 データベースは、定期的なスケジュールで自動的にバックアップされ、手動バックアップを実行する機能も提供されます。

  • Oracle VM Server: ドメインともよばれ、仮想マシンを実行するための軽量でセキュアなサーバー・プラットフォームを提供する、管理された仮想化環境。 少なくとも1つのOracle VM Serverが必要ですが、クラスタリングを利用する場合は複数必要です。

    Oracle VM Serverは、ベア・メタル・コンピュータにインストールされ、Oracle VM Managerとの通信を管理するためのOracle VM Agentが含まれます。dom0は、ドメイン0の略記で、ハードウェアまたはデバイス・ドライバへの特権アクセスを持つ管理または制御ドメインです。 DomUは、ハードウェアまたはデバイス・ドライバに直接アクセスする権限を持たないドメインです。 ユーザー・ドメイン(domU)は、dom0によってOracle VM Serverで起動され、管理されます。

    x86ベースのシステムでは、Oracle VM Serverは基盤となるXenハイパーバイザ・テクノロジの更新されたバージョンに基づいており、これにはOracle VM Agentが付属しています。 また、様々なデバイスおよびファイル・システムをサポートするLinuxカーネルが含まれます。 Linuxカーネルはdom0として動作して、1つ以上のdomU仮想マシンを管理します(各仮想マシンは、Linux、Oracle SolarisまたはMicrosoft Windows™です)。

    一方、Oracle VM Server for SPARCは、Oracle VM Agent for SPARCと一緒に、SPARCファームウェアに含まれているハイパーバイザを利用します。 通常、デフォルトのOracle Solarisオペレーティング・システムがプライマリ・ドメインとして動作するようになります(これはx86システムでのdom0と同等です)。 プライマリ・ドメインが決まると、プライマリ・ドメインは、異なるバージョンのOracle Solarisオペレーティング・システムが実行している別のドメインの作成および管理に使用することができます。

    Oracle VM Serverのグループは、通常はクラスタ化され、サーバー・プールを作成します。 これにより、Oracle VM Managerを使用して、高可用性環境でロード・バランシングおよびフェイルオーバーを処理できます。 仮想マシンはサーバー・プール内で実行され、サーバー・プールを構成する様々なサーバー間で簡単に移動できます。 サーバー・プールでは、サーバーと仮想マシンが論理的に分離されます。 サーバー・プールは、1つのサーバーのみで構成される場合でも、Oracle VMインフラストラクチャ内で必要なエンティティです。

    各Oracle VM Serverには、独自のBerkeley Databaseが保持され、ローカル構成およびランタイム情報の格納に使用されます。 これにより、Oracle VM Managerが一定期間使用不可になった場合でも、Oracle VM Serverを引き続き正常に機能させることができます。 Oracle VM Serverが同時にクラスタ化される場所では、サーバー・プール・ファイル・システムに格納される個別のクラスタ・データベースがサーバー間で共有されます。 これにより、Oracle VM Managerが使用不可の場合でも、高可用性などのクラスタリング機能をサーバー・プールで引き続き提供できます。

  • 外部共有記憶域: 様々な用途の記憶域を提供し、クラスタリングで提供される高可用性オプションを有効化する必要があります。 記憶域検出および管理は、Oracle VM Managerを使用して実行され、Oracle VM Managerは、Storage Connectフレームワークを介してOracle VM Serverと対話し、記憶域コンポーネントと対話します。 詳細は、「Oracle VM概要ガイド」ストレージの理解の章を参照してください。 Oracle VMでは、NFS、iSCSI、ファイバ・チャネルなどの様々な外部記憶域型をサポートします。

1.1.2 Oracle VMのセキュリティの側面

Oracle VMのセキュリティ・アーキテクチャは、多くのセキュリティ脅威を排除するように設計されています。 Oracle VMを使用する仮想化ソリューションをセキュアにデプロイメントするためのガイドラインは、主にネットワーク・セキュリティに関係します。 これらのガイドラインは、一般的には妥当ですが、Oracle VMがデプロイされる、広範な環境の各実装、セキュリティ要件およびポリシーのコンテキストにおいて、これらの妥当性を常に検証する必要があります。

Oracle VMセキュリティ・アーキテクチャの主要な側面は、次のとおりです。

  • Oracle VM ServerとOracle VM Managerはどちらも、iptablesまたはfirewalldファイアウォールとデフォルトのルールセットおよびポリシーを含むOracle Linux環境を提供します。

  • Oracle VM Serverは、Oracle Linuxから派生した最小限のOS実装で、パフォーマンスとスケールを向上させるために「Unbreakable Enterprise Kernel (UEK)リリース4」を使用しています。 設計上、可動部分をほとんど持たず、ネットワーク公開されるサービスを最小限にして、管理作業、オーバーヘッドおよび攻撃面を減らしています。

  • Oracle VM Manager 3.3.1環境以上では、Oracle VM Managerがインストールされているのと同じホストにローカルにインストールされたバンドルされたMySQLデータベースのみを使用できます。 アクセスはローカル・ホスト接続に制限されており、リモートからはアクセスできません。 さらに、バックアップ・プロセスは、障害発生時のリカバリを支援するために自動化されています。 MySQLデータベースは、Oracle VM Manager以外のアプリケーションには使用できません。

  • Oracle VM ServerまたはOracle VM Managerのデフォルト・インストールでは、物理的なセキュリティは提供されません。 物理コンソールにアクセスできるユーザーであれば、(ランレベル1またはレスキューcdを使用して)起動し、構成することができます。 このような露出を防ぐため、適切な物理的セキュリティを施す必要があります。

  • TLSは、Oracle VM ManagerとOracle VM Serversの間の通信を保護し、認証するために広範囲に使用されます。Oracle VM Manager Web Services APIへのアクセスを保護し、認証します。すべてのHTTPS通信を保護し、VM移行のネットワーク・コンポーネント内で保護します。

  • Oracle VM ManagerへのOracle VM Servers管理接続は、デフォルトでHTTPSを使用します。

  • 公開キーと秘密キーの認証を使用したOpensshは、Oracle VM Serverで完全にサポートされます。

  • VMとdom0のネットワーク・トラフィックを分離するために、802.1q VLANが完全にサポートされています。

Oracle VMインストールのすべてのコンポーネントは、セキュアな方法で相互に通信します。 次の表は、個々の通信回線がどのようにしっかりと設定されているかを詳細に示しています:

通信

説明

ブラウザからOracle VM Manager GUI

Oracle VM Managerにログオンするときは、HTTPSを使用してTCPポート7002に接続することを強くお勧めします。これは、ユーザー・インタフェースで保護する必要があるユーザー名とパスワードを使用して認証が行われるためです。 バージョン3.1.1では、SSLで暗号化された通信が使用可能であり、TCPポート7001での通常のHTTPは、デフォルトで無効化されています。 ただし、これはOracle WebLogic Serverからテストおよびデモの目的で有効化される場合があります。

Oracle VM 3.3以上では、通信暗号化に使用されるSSL証明書は、デフォルトでOracle VM Manager内で生成され、Oracle VM Manager内の内部CA (Certificate Authority)証明書によって署名されます。 必要に応じて、この証明書を信頼できるサードパーティCAによって署名されたものに置き換えるか、内部CA証明書を取得して、Webブラウザまたはアプリケーション・キーストア内の信頼できるCA証明書に追加するためのツールが利用できます。 このCA証明書は、Oracle VM ManagerのHTTPSポートに接続するときに表示されるSSL証明書を検証するために使用できます。 これらの証明書を管理するために提供されるツールの詳細は、Oracle VM管理者ガイドで説明されています。

Oracle VMリリース3.4.5以降、Oracle VM Manager内のデフォルトはTLSバージョン1.2 (TLSv1.2)です。

Oracle VM Manager GUIからOracle VMコア

Oracle VM Managerアプリケーションは、基盤となるWebサービスAPIを使用して、同じサーバー上で動作するOracle VM Coreと通信します。 WebサービスAPIはOracle VM Managerアプリケーションと同じHTTPSポートで公開されます。これは、Oracle WebLogic Server内の同じプロセス領域から提供されるためです。 すべての通信は、Oracle VM Manager GUIとWebブラウザ間の通信を暗号化するために使用されるのと同じSSL証明書を使用して保護されます。 Oracle VM ManagerアプリケーションのOracle VM Coreへの認証は、ユーザー・インタフェースのフロントエンドに対して認証されたユーザーのユーザー名とパスワードを使用して行われます。

Oracle VM Managerアプリケーションが開始されると、Oracle VM Core Web-Services APIに接続してGUIモデルにデータを入力し、イベントを定期的にポーリングしてGUIモデルを最新の状態に保ちます。 この目的のためにOracle VM ManagerアプリケーションをOracle VM Coreに認証するには、SSL証明書を使用します。 この証明書は、Oracle VM Managerのインストール時に生成されます。 証明書は、Oracle VM CoreがOracle VM Managerアプリケーションからの接続を検証して認証するために使用する内部CAによって署名され、登録されます。 この証明書とキーのペアのパブリック証明書は、Oracle VM Coreで使用可能なJavaトラスト・ストアに格納されています。 この証明書の秘密キーは、Oracle VM Managerアプリケーション内の安全なJavaキーストアに格納されます。

WebサービスからOracle VMコア

Oracle VM Coreは、TCPポート7002でHTTPS経由で公開されるRESTエンドポイントを提供するWebサービスAPI (WSAPI)を提供します。 通信は、Oracle VM Manager GUIとWebブラウザ間の通信を暗号化するために使用されるのと同じSSL証明書を使用して暗号化されます。 Oracle VM管理者ガイド「SSLの設定」で説明されているkeytool管理アプリケーションを使用して、Oracle VM Coreで証明書を登録して署名し、Oracle VM Coreに基づいた認証を行うことも、Oracle VM WebサービスAPI開発者ガイド「RESTを使用した証明書ベースの認証のための証明書管理」で説明されているようにWSAPI自体によって提供されたメソッドを使用してプログラムによって認証を行うこともできます。 認証目的で使用する証明書を作成するときは、適切なパスフレーズで証明書キーが生成され、証明書とキーがパスフレーズで保護されたキーストアに格納されているか、または保護された領域に格納されていることを強くお勧めします。アクセス権を持つファイル・システムは、それらを使用しようとするユーザーに限定されます。

クライアントからCLI

Oracle VM Managerコマンドライン・インタフェース(CLI)はバージョン3.2.1で正式にサポートされています。 クライアントは、ポートTCP/10000上のSSHを使用して、(Oracle VM Managerホストで実行している)CLIに接続します。 公開キーをSSHサーバーに設定して、CLIユーザーが毎回資格証明を入力しなくても自動的にログオンできるようにすることができます。 この方法を使用する場合は、秘密キーに対してパスフレーズが設定されており、SSHエージェントを使用して繰り返しリクエストのキーの認証を処理することをお勧めします。 秘密キーは、ファイル・システム上の安全なロケーションに格納する必要があります。アクセス許可は、そのファイル・システムを使用するユーザーに限定されています。

バージョン3.4.1以降、CLIは、CLIに入力されたときに画面上の機密情報を隠すオプションもサポートしています。 この機能については、Oracle VM Managerコマンドライン・インタフェース・ユーザー・ガイド「マスキングの機密データ」で詳しく説明しています。 ユーザーは、VMメッセージング・チャネルを使用してパスワードを送信する場合など、機密データをCLIに入力する際にこの機能が使用されていることを確認する必要があります。

CLIからOracle VMコア

Oracle VM Managerコマンドライン・インタフェース(CLI)は、HTTPSを使用してTCP/7002上のWebサービスAPI経由でOracle VM Coreと通信します。 通信は、Oracle VM Manager GUIとWebブラウザ間の通信を暗号化するために使用されるのと同じSSL証明書を使用して暗号化されます。 Oracle VM CoreへのCLIの認証は、ユーザー・インタフェースのフロントエンドに対して認証されたユーザーのユーザー名とパスワードを使用して行われます。

Oracle VM AgentからOracle VMコア

Oracle VM Serversで動作するOracle VM Agentsは、WSAPIを介してTCP/7002 (HTTPS)経由でOracle VM Coreと通信するためにSSL/TLS暗号化を使用します。 所有権の取得時にOracle VM Agentに登録されたSSL証明書を使用して認証が行われます。 APIへのアクセスは、イベントの通知や統計情報の提供など、エージェントがOracle VM Coreで持つ通信のタイプに制限されています。

Oracle VMコアからOracle VM Agent

次にOracle VMコアは、TCP/8899を使用して、その環境内のOracle VM Agentと通信します。 プロトコルは、HTTPSです。 Oracle VM Coreは、Oracle VM Serverの所有権を取得するプロセス中に、ユーザー名とパスワードの組み合わせを使用して、最初はOracle VM Agentに自身を認証します。 Oracle VM CoreがOracle VM Agentによって認証されると、追加のSSL証明書が交換され、Oracle VM AgentはSSL証明書キーのペアと「逆に」を使用してOracle VM Coreの将来の認証を実行できます。

VNCおよびシリアル・コンソール・アクセス

Oracle VM Managerは、Oracle VM Serverで実行されているリモート仮想マシンごとに、Xenハイパーバイザによって作成されたVNCサーバーへのセキュアなSSL暗号化接続を開きます。 これらは、TCPポート6900以降のOracle VM Serverでアクセスされます。 クライアントのWebブラウザからの接続は、Oracle VM Manager Webユーザー・インタフェース内で提供されるnoVNCコンソールを利用します。 この接続では、Webユーザー・インタフェースにアクセスするために使用されたものと同じTCP 7002ポートが使用され、これは同じSSL証明書を使用して保護されます。

シリアル・コンソール接続の場合、Oracle VM Managerは、Oracle VM Server上で動作する各リモート仮想マシン用にエクスポートされたシリアル端末へのセキュアなSSL暗号化接続を開きます。 これらは、TCPポート10000以降のOracle VM Serverでアクセスされます。 クライアントWebブラウザからの接続では、Oracle VM Manager Webユーザー・インタフェース内で提供されるjsTermターミナル・エミュレータを利用します。 この接続では、Webユーザー・インタフェースにアクセスするために使用されたものと同じTCP 7002ポートが使用され、これは同じSSL証明書を使用して保護されます。

ライブ・マイグレーション

仮想マシンのライブ・マイグレーションに関連するトラフィックは、別々のポート(暗号化されていない場合はTCP/8002、SSL暗号化(TCP)ライブ・マイグレーションの場合はTCP/8003)を使用します。 セキュアなライブ・マイグレーションは、ユーザーが必要に応じてサーバー・プール・プロパティで切り替える必要がある設定です。 この設定に基づいて、Oracle VM Managerは実行中の仮想マシンのSSLまたは非SSLの移行を開始します。 セキュリティとパフォーマンスを最適化するには、ライブ・マイグレーション用に別々のネットワークを作成することによって、ネットワークを切り分けることを検討します。

Oracle VM Agent証明書

インストール時に、Oracle VM AgentはSSLキーと一致する証明書を生成します。 プロパティは次のとおりです。

  • キー・アルゴリズム: RSA

  • 秘密キーのサイズ: 2048ビット

  • 証明書データ管理: X.509標準に従う

  • SSLキーと証明書の場所: /etc/ovs-agent/cert

デフォルトでは、VNCトラフィック、仮想マシン移行トラフィックおよびOracle VM Agent通信のすべてが同じSSLキーと証明書を使用して保護されます。 管理者は、Oracle VM Serverのコマンドラインからovs-agent-keygenコマンドによってキー/証明書の組合せを再生成できます。 Oracle VM Agent通信とセキュアな仮想マシン移行に別々のSSLキーと証明書を使用することは、技術的には可能です。 サーバー上のSSLキーと証明書の組み合わせを変更するには、サーバーがOracle VM Managerによって所有権から解放され、操作の完了後にサーバーの所有権を再度取得する必要があることに注意してください。

Oracle VM ManagerインスタンスがOracle VM Serverの所有権を取得するプロセスでは、Oracle VM Agentによって使用されるパブリック証明書がOracle VM Managerと交換され、内部CA証明書を使用して署名され、Oracle VM Managerインスタンスに登録されます。 新しいキーが生成され、Oracle VM Agentに提供されます。 このキーと署名付き証明書は、Oracle VM Managerとのその後の通信を認証して保護するために使用されます。

その他のトラフィック

Oracle VM環境では、Oracle VM Managerホストは、時間同期を提供するための参照として頻繁に使用されます。 この場合、NTPトラフィックにはすべてのOracle VM ServersからUDPポート123へのインバウンド接続が必要です。

クラスタ化されたサーバー・プールのOracle VM Serverは、OCFS2プールのファイル・システムを使用し、ハートビート・ネットワーク機能に、各クラスタ・メンバーのステータス確認を要求します。 この特定のタイプのトラフィックに使用されるポートは、TCP/7777です。

いくつかの外部アプリケーションは、TCP/54322で利用可能であり、SSL/TLSを使用して保護されている従来のAPIを引き続き使用することがあります。 このAPIは非推奨であり、現在使用しているアプリケーションを将来的にアップグレードする必要があります。 Oracle VM以外のアプリケーションを使用していない場合は、環境内で管理を実行するために、ファイアウォール・ルールでこのポートへのアクセスが禁止されていることを確認する必要があります。

ノート

Oracle VMリリース3.4.5以降、すべてのSSL/TLS暗号化通信では、送信および受信されるメッセージにTLSv1.2プロトコルが使用されます。 セキュリティ上の理由から、SSLv3とTLSv1はデフォルトでOracle VM Manager内で無効になっています。

1.1.3 Oracle VMのセキュリティに関する考慮事項

この節では、Oracle VMを使用する際に注意する必要がある重要なセキュリティ上の考慮事項について説明します。

Oracle VM Managerホストへのアクセスの制限

Oracle VM ManagerコアがOracle VMデプロイメント内で非常に強力なコンポーネントであり、多くのサーバーや仮想マシンを制御できるということは十分に強調されていません。 これを念頭において、このホストへのアクセスを厳しく制限する必要があります。 ユーザー・アカウントは、デプロイメントを管理するためのアクセス権が必要な管理者に限定する必要があります。 さらに、ファイアウォールのルールを強化して、管理者がいるネットワークへのアクセスを制限する必要があります。

どのようにしてもOracle VM Managerコアと通信するユーティリティやツールにアクセスできるユーザーは、ユーザー名とパスワード、SSL証明書のどちらを使用しても、認証に使用する資格証明は非常に機密性が高く、Oracle VM Manager自体を脅かすだけでなく、デプロイメント内のすべてのサーバーと仮想マシンを攻撃に対して脆弱にします。

アイデンティティと資格証明の管理に関する適切なセキュリティ・プラクティスは常に守られなければなりません。

システム保護の詳細については、1.2項、「一般的なOracle VMのセキュリティ原則」を参照してください。

暗号化された通信

HTTPS経由のOracle VM Managerとの多くの通信は、機密情報の通信を保護するためにSSL証明書を使用して暗号化されています。 デフォルトでは、この証明書は、インストール時にOracle VM Managerインスタンス用に生成された内部CA証明書によって署名されています。 ユーザーWebブラウザを含むほとんどのクライアント・アプリケーションにはこのCA証明書がインストールされていないため、多くのクライアント・アプリケーションがHTTPS経由でOracle VM Managerサービスにアクセスする際に提示されるSSL証明書を検証することはできません。 SSL証明書が検証できない場合、一部のクライアント・アプリケーションは完全に失敗する可能性がありますが、他のアプリケーションは警告を出してユーザーが自己責任で処理することができます。 中間者攻撃の可能性を最小限に抑えるためには、検証が実際に行われることが重要です。 したがって、次のいずれかの措置をとることが適切です:

  • Oracle VM ManagerインスタンスのCA証明書を、Oracle VM Managerにアクセスするすべてのクライアント・アプリケーションの信頼できるCA証明書ストアにインストールします。

  • Oracle VM ManagerでHTTPS通信に使用するSSL証明書を変更して、すべてのクライアント・アプリケーションにすでにCA証明書がインストールされている、信頼できるサードパーティCAによって署名された証明書を使用するようにします。

これらの操作の詳細は、Oracle VM管理者ガイド「SSLの設定」を参照してください。

最初のOracle VM Server検出とキー交換の間、パスワードは、認証目的のために、Oracle VM ManagerからOracle VM Agentへのワイヤーを通して送信されます。 この通信はSSL経由で行われるため、安全である必要があります。 ただし、Oracle VM Agent証明書が不明なため、この時点でOracle VM Agent証明書に対して証明書の検証は実行されません。 したがって、このチャネルが中間者の攻撃にさらされる可能性があります。悪意のあるエンティティがサーバーを偽装し、管理者が認証しようとしてこのエンティティにパスワードを送信します。 Oracle VM Managerシステムは、可能であれば、Oracle VM環境内のOracle VM Serversと同じローカル・エリア・ネットワーク内で実行する必要があります。このネットワークには、悪意のある攻撃者がman-in-the-ミドル・アタック。 さらに、各Oracle VM Server上のOracle VM Agentのパスワードが一意であることを確認することが重要です。 万が一、中間者攻撃によって単一のサーバーが侵害されたとしても、デプロイメント内のすべてのサーバーへのアクセスがすぐには取得されず、被害が制限される可能性があります。

証明書ベースの認証

証明書ベースの認証を使用すると、パスワードの使用よりシステムが自動的に安全になるという誤解はよくありますが、必ずしもそうであるとは限りません。 証明書ベースの認証は、パスワード認証と同じような攻撃の多くを受けます。 この項では、セキュリティ・レベルをよく理解できるように、このシステムが攻撃される可能性のあるいくつかの方法について説明します。 使用されるすべてのプロトコルは、OSCS (Oracle Secure Coding Standard)で文書化されている最新のベスト・プラクティスに準拠しています。

一般に、証明書認証は、辞書攻撃やセキュリティで保護された通信チャネルでのブルートフォース攻撃の影響を受けにくいです。 ただし、SSL証明書をOracle VM Managerによって署名して登録するには、Oracle VM Manager内でパスワード・ベースの認証が引き続き使用されます。 これは、初期検出をサポートし、所有権のリクエストを取得するため、およびセカンダリ(非所有)マネージャによる検出を許可するために、パスワード・ベースの認証を使用する必要があるOracle VM Agentに特に関係します。 同様に、すべてのユーザーには、WebブラウザでOracle VM Manager Web Interfaceの使用リクエストを認証するように構成できるSSL証明書とキーのペアが発行されていると見なすことはできません。 その結果、Oracle VM Manager Web Interfaceはパスワード・ベース認証のみをサポートします。 したがって、Oracle VM内にはディクショナリおよびブルートフォース攻撃に対応しているチャネルがあります。 これらのリスクは、相互にアクセスする必要のある異なるシステムの要件に基づいて、厳密なファイアウォール・ポリシーを使用してシステムへのアクセスを制限することによって最小限に抑えることができます。 パスワード交換は常にSSL/TLSを使用して暗号化され、平文で公開されることはないことを理解することが重要です。 さらに、保存されたパスワードは、パスワードを保持するシステム上で常に暗号化されます。

証明書ベースの認証が使用されている場合、通信のどちらかで使用される秘密キーが侵害された場合、攻撃者はその秘密キーと対応する証明書を使用して他のエンティティにログインできます。 Oracle VM Managerでは、キーは暗号化され、キー・パスワードとキーストア・パスワードの両方で保護されたJKSキーストア・ファイルに格納されます。 これらのパスワードは、長くランダムに生成されたパスワードで、Oracle CSF (Credential Store Framework)に格納されています。 これらのパスワードの長さとランダムな性質は、辞書攻撃またはブルートフォース攻撃を排除するはずですが、CSFが侵害された場合、キーを取り出すことができます。 このメカニズムは、OSCSによって概説されている現在のセキュリティ・ガイドラインに準拠しています。

Oracle VM Agentの場合、キーと証明書は暗号化されていないPEM形式で保存されます。 これらのファイルはrootユーザーだけが読むことができますが、ルート・ユーザー・アカウントが侵害された場合、ユーザーはこの情報を使用して偽の通知情報をマネージャに送信できます。 同様に、ルート・アクセス権を持つ悪意のあるユーザーは、Oracle VM Agentコマンドのために自身を認証できるように、Oracle VM Agentの証明書情報を自身の証明書で置き換えることができます。 しかし、すでにサーバー上のrootアカウントを侵害している場合は、すでにシステムへの無制限のアクセス権があるため、これはおそらく不確実な点です。

WSAPIを使用するカスタム・ビルド・アプリケーションで証明書ベースの認証を使用する場合は、キーを誤って使用するのを防ぐために適切な処置が講じられていることを確認する必要があります。 これには、キーに合理的なパスフレーズを設定し、キーが暗号化された形式で格納されるようにすることが含まれます。 Oracle VM Managerに対する認証用に登録されたキーにアクセスする悪意のあるユーザーは、すべての仮想マシン、すべての記憶域、すべてのサーバー、Oracle VM Managerを含むOracle VM環境全体にフル・アクセスできます。

Oracle VM Managerで認証するために証明書が登録されると、マネージャへの認証を許可する許可された証明書がOracle VM Managerデータベースに格納されます。 この証明書は公開キー情報のみを含んでいるため、Oracle VM Managerへのログインには使用できません。 ただし、Oracle VM Managerデータベースを変更できるユーザーは、これを独自の証明書に置き換えることができます。 この攻撃ベクトルが機能するには、信頼できるCA (Oracle VM Manager CAなど)によって証明書に署名する必要があります。 したがって、WebLogicトラスト・ストアの適切な管理によってリスクを緩和することができます。 このような証明書を作成するためのOracle VM Manager CA秘密キーにアクセスするには、CSFも妥協する必要があります。

1.2 Oracle VMの一般的なセキュリティの概念

次の原則は、アプリケーションを安全に使用するための基本となります。

1.2.1 ソフトウェアを最新に保つ

セキュリティの実践に関する原則の1つは、すべてのソフトウェアのバージョンとパッチを最新に保つことです。 このドキュメントでは、Oracle VM Managerを実行しているOracle Linuxホストと、ご使用の環境のOracle VM Serversに、必要なセキュリティ・パッチとパッケージ更新をインストールしていることを前提としています。 推奨事項は、次のとおりです。

  • Oracle VM ManagerホストをUnbreakable Linux Network (ULN)に登録します。 ULNの使用に関する情報は、Unbreakable Linux Networkを参照してください。

  • X86ベースのOracle VM Serverの場合は、ローカルのYumリポジトリを設定し、ULNのOracle VMチャネルから更新を取得します。 OTNのOracle Linux Yum Serverスタート・ガイドの記事を参照してください。 Oracle VMリリース3.3以降、IPSのサーバー更新リポジトリを使用してSPARCベースのサーバーをアップグレードできます。 これらのサーバー更新リポジトリの設定については、Oracle VM Managerユーザー・ガイドを参照してください。

  • Oracle VM ManagerでOracle VM Serverのサーバー更新リポジトリを作成します。 サーバー更新リポジトリの作成の詳細については、Oracle VM Managerユーザー・ガイドを参照してください。

1.2.2 重要なサービスに対するネットワーク・アクセスを制限する

ファイアウォールで適切にネットワークを保護します。 ソフトウェア・ファイアウォールは、Oracle VM ManagerとOracle VM Serverのインストールに含まれますが、ベスト・プラクティスは、さらに外部ファイアウォールを使用することです。 プライベート・ネットワーク・セグメントですべてのOracle VMサービスを保持し、それを必要とするサービスおよびシステムとのみパブリック・アクセスを許可します。 ファイアウォールは絶対確実ではありませんが、既知のネットワーク経路に対してシステムへのアクセスを高い水準で制限し、必要な場合は監視したり、より厳しく制限することができます。

IPアドレスに基づいてアクセス制限を指定する必要がありますが、これは、アプリケーションのクライアント/サーバー・プログラムがDHCPクライアントで失敗する原因になることがあります。 これは、一般的にはDHCPサーバーで静的IPアドレスまたはIPアドレス予約を使用することで解決されます。 DHCPサーバーでのアドレス予約は、IPリースが期限切れでDHCPサーバーが不達の場合、接続が失敗することがあることに注意してください。 Oracle VMでは、静的IPアドレスを割り当てるようにしてください。 Oracle VM Managerホストが管理するOracle VM Serverは、サーバー検出の際に、IPアドレスをすべて記録するため、Oracle VM ManagerホストでIPアドレスを保持する必要があります。 IPはOracle VM Agentデータベースに格納され、Oracle VM Managerとの通信に使用されます。 同じメカニズムがサーバー・プールの仮想IPアドレスに適用され、静的に構成される必要もあります。

あるOracle VM実装のネットワーク・モデルは、使用されるハードウェア、環境の規模およびそのゲスト仮想マシンを通してデプロイされる特定のサービスに応じて異なります。 様々なネットワーク構成、ネットワーク・モデルのセキュリティ機能およびネットワーク・タイプごとのガイドラインは、第3.1項「Oracle VMのネットワーク・モデル」のセキュリティ機能の章を参照してください。

1.2.3最小権限の原則に準拠

最小特権の原則とは、ユーザーに自分の業務を実行できるだけの最小限の権限を与えることです。 責任、役割、権限などを過剰に与えたためにシステムが不正使用に対して無防備になることがよくあり、特に組織のライフサイクルの初期に少数の人員ですばやく作業を処理する必要があるときなどに見られます。 ユーザーの権限を定期的に見直し、現在の業務上の責任に対して適切かどうかを判断するようにしてください。

ただし、Oracle VMはサーバー仮想化ソリューションであり、最初の段階の管理者ツールでもあります。 Oracle VM Managerへのアクセスは、基礎となるWebLogicアプリケーション・サーバーによって制御され、Oracle VM Managerへの複数のログイン・アカウントを作成することが可能である一方で、すべての管理者アカウントの権限が同じです。 そのため、Oracle VMの構成とリソースへのフル・アクセスが必要なユーザーに対してのみ管理者アカウントを作成し、各アカウントに強いパスワードを使用することをお薦めします。 小文字、大文字および数字を組み合せた、8文字以上16文字以下のパスワードを使用します。

1台以上の仮想マシンへのアクセスが必要で、Oracle VM構成の変更を許可されていないユーザーのために、管理者はその仮想マシンでのリモート・アクセスを設定することができます。 Windowsサーバーでは、RDPが使用でき、Unixサーバーでは、コマンドライン・アクセスにSSHを使用でき、グラフィカル・デスクトップ環境が使用されている場合はVNCが使用できます。 仮想マシンを、信頼できる内部ネットワークからアクセス可能なネットワークに接続します。

Oracle VMの特殊な実装が、ロールベースのファイン・グレイン・アクセス・コントロールを必要とする大規模構成である場合、代替策として、Oracle Enterprise Manager Ops Centerを使用して環境を管理することもできます。 この構成の場合、アクセス制御はEnterprise Manager Ops Centerに組み込まれています。

Oracle VMのサブスクリプションには、Oracle Enterprise Manager Cloud ControlおよびOracle Enterprise Manager OpsCenterの完全な使用が含まれます。 これらの製品の仮想化とオペレーティング・システム管理機能を使用するライセンスが、Oracle VMの一部としてOracle VMサブスクリプションに含まれます。 製品の完全なセット(Oracle Enterprise Manager Cloud Control、Oracle Enterprise Manager OpsCenter、Oracle VM Manager、およびOracle VM Agent)は、1つの製品スイートとみなされます。

1.2.4 システム・アクティビティの監視

システムのセキュリティには、優れたセキュリティ・プロトコル、適切なシステム構成およびシステム監視の3つが基本となります。 この3つ目の要件は、監査レコードの監査と確認によって対応できます。 システム内の各コンポーネントには、なんらかの監視機能があります。 監査アドバイスに従って、監査レコードを定期的に監視してください。

Oracle VM管理者として、Oracle VM Manager GUI内部のイベントと統計にアクセスすることができます。 これらは、セキュリティ・リスクを含む潜在的な問題を最初に示すものです。 調査を必要とする特に重要なエラーは、Oracle VM Serverのdisconnectイベントとofflineイベントで、これらは想定外の接続の問題を示します。

Oracle VMは、異なるコンポーネントの多数のログ・ファイルを環境内に保持します。 これらのログ・ファイルは、Oracle VMの管理とサポートにとって重要です。 次の表に、トラブルシューティングとセキュリティ監査に役立つログ・ファイルの概要を示します。

Oracle VM Managerログ

ログ・ファイル

場所

説明

Oracle VM Managerのインストール・ログまたはアップグレード・ログ

/tmp/install-yyyy-mm-dd-<id>.log

または(あるいは両方)

/tmp/upgrade-yyyy-mm-dd-<id>.log

インストールまたはアップグレードの手順の間に発生するすべてのアクションと操作が、このファイルに保存されます。 単なる情報のログ・エントリもありますが、多くのデバッグ情報も含まれます。

Oracle VM Managerログ

/u01/app/oracle/ovm-manager-3/domains/ovm_domain/servers/AdminServer/logs/

access.logファイルには、Oracle VMドメインのアクセスとステータスに関する情報が含まれています。 これらのログは、実際にはWebLogic Serverのものです。

AdminServer.logファイルには、Oracle VM Manager内のイベントおよび統計などの情報が含まれますが、より詳細なログになります。

CLIログ

/u01/app/oracle/ovm-manager-3/domains/ovm_domain/servers/AdminServer/logs/CLIAudit.log

/u01/app/oracle/ovm-manager-3/domains/ovm_domain/servers/AdminServer/logs/CLI.log

CLIAudit.logは、Oracle VM Managerホスト上にあり、実行されたすべてのコマンドの完全な監査ログが保持されます。

CLI.logファイルには、CLIコンポーネントのエントリが含まれます。

Oracle VM Serverログ

ログ・ファイル

場所

説明

Oracle VM Agentログ

/var/log/ovs-agent.log

Oracle VM Agentログは、内部の通信の監査と環境内の物理サーバーの接続に不可欠です。 セキュリティ上の視点から、誤った資格証明による認証失敗や接続失敗のエントリ、または異常な回数のアクセス試行は、不正なアクセスの試行を示していると思われます。

Oracle VM Agentの通知ログ

/var/log/devmon.log

Oracle VM AgentからOracle VM Managerに送信されたすべての内容(ストレージ・デバイス・イベント、ネットワーク・イベントなどを含む、サーバーからのすべてのイベント)の詳細が含まれます。

Oracle VMコンソール・ログ

/var/log/ovm-consoled.log

このファイルには、ゲスト・コンソールをエクスポートするOracle VMコンソール・サーバーのすべての詳細が記録されます。

Oracle VM Storage Connectプラグイン・ログ

/var/log/osc.log

このファイルは、Oracle VM Storage Connectプラグインに関連するすべてのインストール活動を記録します。 どのプラグインがインストールされているか、どのバージョンが使用中であるか、インストールが正確に行われたかが表示されます。

Xenハイパーバイザ・ログ

/var/log/xen/

xend.logファイルには、Xen固有の操作に関する詳細が含まれます。 起動や移行の失敗など、仮想マシンに関連するエラーの追跡に、特に有用です。

製品のセキュリティおよび監査性に関して、各Oracle VM Manager管理者アカウントによってどの操作が実行されたかが様々なログ・ファイルに示されます。 また、Oracle VM Managerでの許可されていないログイン試行やOracle VM ServerへのSSH接続の失敗などがログ・ファイルに反映されます。 セキュリティ上の問題を早期に検出するには、ログを頻繁に監視します。

1.2.5 常に最新のセキュリティ情報を入手する

Oracleはソフトウェアとマニュアルを継続的に改善しています。 OracleのWebサイトで、関連製品とテクノロジのページを定期的に確認してください。 次に例を示します。

1.3 Oracle VM環境の理解

必要なセキュリティをよく理解するため、次の事項を確認してください。

  • どのリソースを保護するのか

    Oracle VM環境のリソースは、Oracle VM Managerアプリケーション、これを実行するOracle Linuxオペレーティング・システム、Oracle VM Server (domain 0のOSインスタンス)およびゲスト仮想マシン(テンプレートとして機能するものを含む)で構成されています。 最後のリソースは、最もわかりやすいもので、仮想システム以外のデータやアプリケーションの保護と同様ですが、仮想環境ではより複雑です。セキュリティを侵害されたゲストは、自身のコンテンツのみでなく、周辺リソースや使用するインフラを同じリスクにさらすことになるためです。 これらが使用するネットワーク・リソースやストレージ・リソースも、保護する必要のあるリソースであり、攻撃を受けやすいリソースであることを忘れないでください。 これらのリソースについて、理解する必要がある独自の保護要件があります。

  • 誰からリソースを保護するのか

    Oracle VM Server環境は、物理的な侵入、特にシステムが接続されているネットワーク経由でのネットワーク・ベースの攻撃から保護する必要があります。 インターネットに直接接続する環境の場合、リソースはインターネット上のすべての人から保護する必要があります。 イントラネット環境の場合、従業員または契約者による、許可されていない操作から保護する必要があります。 一般に、仮想マシン環境は、マルチユーザー、マルチテナント環境であるため、ユーザーは相互に保護する必要があります。 コンソールのような、仮想マシンのリソースへのアクセスは、物理マシンの場合と同様、運用担当者に対してのみ許可するようにしてください。 システム管理者は、担当業務の遂行に必要なリソースに対してのみアクセス権を持つようにする必要があり、これはエラーと不正な侵入の両方から保護するためだけでなく、コンピュータまたはログイン資格証明が危険にさらされた場合の不注意による漏洩を防ぐためでもあります。 極めて少数の信頼できるシステム管理者にのみ、機密データや戦略的なリソースへのアクセスを許可することを検討してください。

  • 戦略的リソースの保護に失敗するとどうなるか

    セキュリティの保護に失敗すると、漏洩したリソースによっては、多大な損害を被る場合があります。 各リソースに対するセキュリティの影響を理解することは、リソースを適切に保護するために役立ちます。 ゲスト仮想マシンでのセキュリティ障害は、そのゲストに格納されているデータとアプリケーションを危険にさらすだけでなく、侵入者に他のゲストやOracle VM Serverを攻撃するために使用できる攻撃手段(ネットワーク・トラフィックの傍受、サービス拒否攻撃のマウント、IPアドレスのなりすましなど)を提供することになります。 Oracle VM Serverが危険にさらされると、攻撃者はさらにゲストの仮想ディスクやコンソールにアクセスしたり、停止させることが可能になります。 危険にさらされたOracle VM Managerインスタンスは、侵入者に対して、サーバー・プールのリソースを制御し、仮想ディスクとコンソールにアクセスして、すべてのサーバーとディスクを攻撃することを許すことになります。

これらすべての理由から、最もセキュアな環境は多重防護の原則に基づくものであり、パスワード漏洩のような、1つの領域での障害が、すべての環境を危険にさらすことがないように、複数レイヤーの保護がある環境ということになります。