第3章 Oracle VMのセキュリティ機能
この章では、Oracle VMによって提供される主なセキュリティ対策について説明します。 そのユーザーは管理者であり、Oracle VM ManagerとCLIを使用して物理環境と仮想環境を構成および維持します。 Oracle VMにおいてセキュリティ・レベルを定義する重要な要素は次のとおりです。
-
第2章、「セキュアなOracle VMのインストールの実行」で説明されているデフォルトのセキュアな状態へのインストール。
-
管理者権限の厳格な管理。
-
必要なサービスを除くすべてのサービスの暴露を防ぐためのネットワーク分離とホスト・アイソレーション。
-
エンドユーザーによる仮想マシンへのアクセスと、基盤となるOracle VMインフラストラクチャからの仮想マシンの分離。
Oracle VM自体は、ロールベースのアクセス制御を提供しません。 環境で必要な場合は、Oracle Enterprise Managerを使用して、使用する環境とその物理リソースと仮想リソースへのすべてのアクセスを管理します。
3.1 Oracle VMのネットワーク・モデル
ネットワーク構成およびアクセス制限を使用して、必要なものだけを外部へ公開します。
ネットワーク・セキュリティの観点から、リモート・ホスト接続およびアクセス制限は、通常、次のデプロイメント・カテゴリで定義および調整されています。
-
ネットワーク接続はありません。
-
隔離されたローカル・ネットワーク。
-
信頼できる内部ネットワーク。
-
信頼できない内部ネットワーク。
-
Internet-facing service.
これらのカテゴリは、ネットワーク・セキュリティ・リスクが低いものから高いものの順になっており、この順番で詳細を説明します。
3.1.1 ネットワークに接続しない
機密性の高い一部のアプリケーションでは、リモート接続または悪用の可能性を許容できない場合があります。 このレベルのセキュリティを必要とするマシンは、通常、アクセスが制限された部屋に保持され、ネットワーク・カードなしで構築されます。 このタイプの構成は、ルート証明局など、ルート・キーが危険にさらされることで、このルート証明局によって署名されたすべての証明書およびアプリケーションが起こる可能性がある資格証明生成システムに対する推奨のベスト・プラクティスです。
高可用性やマスター・フェイルオーバーなどのOracle VMの機能の一部は、ネットワーク、ピアOracle VM Serversおよび共有記憶域なしでは使用できませんが、VMがローカルのテキスト・コンソール、ホストを使用してこれらのセキュアなアプリケーションを提供できる単一ノード・サービス用に構成できますネットワークおよび/またはそれらにアクセスするための共有ディスクを含む。
同じホストの仮想マシン間で、ホスト・ベースのネットワーク・セキュリティおよびトラフィック制限が必要な場合、ebtablesアプリケーションによって、Linuxベースのブリッジ間で、イーサネット・フレーム・フィルタリングが提供されます。
ネットワーク接続なしのモデルのガイドラインは、次のとおりです。
-
マシンへの物理アクセスを制限します。
-
信頼できる管理者へのログイン・アクセスを制限します。
-
接続前および切断後にリムーバル・メディアを調べるか、またはリムーバル・メディアをセキュアな領域で禁止します。
-
交換されたハード・ドライブを安全に削除または破棄します。 取り付けの前に、交換用のハード・ドライブを調べたり、拭いたりしてください。
-
ゲスト間でホストベースのネットワーク・トラフィック制御が必要な場合、ebtablesルールを実装します。
3.1.2 分離されたローカル・ネットワーク
分離されたローカル・ネットワークは、他のネットワークに接続していない環境に接続されているサーバーから構成されています。 このモデルでは、大きな内部ネットワークまたはインターネットへのネットワーク接続はありません。 多数の不明なソースからのリモート悪用の可能性がないため、この環境によって、明確に定義された物理ネットワークおよびセキュリティ特性が提供されます。
定義によれば、この構成へのアクセスは、クローズ済のローカル・ネットワーク上の信頼できる管理ホスト(Oracle Enterprise ManagerまたはOracle VM Managerを含む)へのアクセス権を持つ担当者に制限されています。 簡単にできることで誤って他のネットワークに接続してしまうことや信頼できる管理者がマルウェア・エージェントを取り込む可能性がある書名なしのパッケージまたはアプリケーションをインストールすることが脅威になります。
分離されたローカル・ネットワーク・モデルのガイドラインは、次のとおりです。
-
すべてのデフォルトのパスワードを一意で複雑なパスワードに設定します。 マスター・ロールを任意のノードに移動できる高可用性および仮想IP機能を使用するには、各ノードのOracle VM Agentパスワードが複雑であるが、サーバー・プール全体で同一であることを確認してください。
-
Oracle VM Server (dom0)およびOracle VM Managerの物理アクセスを重要な担当者のみに制限します。
-
信頼できないサード・パーティのソフトウェアを避けます。
-
NFS共有記憶域を使用してクラスタリングする場合や、バックアップのためにOCFS2リポジトリをエクスポートする場合、特に
no_root_squash
を使用した文書化されたエクスポートが潜在的なエクスポージャを示すため、記憶域ネットワークもクラスタ・サブネットに制限されていることを確認してください。
3.1.3 信頼できる内部ネットワーク
信頼できる内部ネットワークは、よく管理されており、ネットワーク・トラフィックがクラスタ・サブネットに制限されていない信頼できる小さな内部ネットワークです。 この構成は、会社のインフラストラクチャ、サービスおよび記憶域へのアクセスでメリットがある一方、いくつかの脅威もあります。 これらのほとんどは悪意のないもので、侵入検知システム、ウィルス対策ソフトウェアおよびアクティブなネットワーク監視などの通常の内部保護によって、ネットワークの妨害を試みる危険な従業員またはボット侵入が対処されます。 クラスタ・サービスの停止の一般的な原因には、ネットワークを介した人為的なミスおよび新しい管理の失敗があります。
信頼できる内部ネットワーク・モデルのガイドラインは、次のとおりです。
-
分離されたローカル・ネットワーク・モデルのすべてのガイドラインを実装します。
-
ssh rootログインを無効化します。 管理者は、管理者として(自身のグローバルUIDを使用)、ユーザー権限を使用してログインする必要があります。 必要に応じて、ユーザーまたはrootごとに特定の管理コマンドを許可するように、sudoを設定します。 詳細は、第3.2項「Oracle VMの管理者権限」を参照してください。
-
共有記憶域がサーバー・プール・サブネットの外部からマウントされている場合、Oracle VM Server dom0およびVM IPアドレスへのエクスポートを制限します。 ファイバ・チャネルまたはSANストレージ上でNFS共有およびLUNをグローバルでアクセス可能にしないでください。
-
次に示すように、適切なネットワーク・ファイアウォールを作成します。
デフォルトのOracle Linuxインストールでは、iptablesまたはfirewalldファイアウォールが有効になっています。 ただし、ネットワーク・フィルタ処理のベスト・プラクティスとしては、追加の外部ファイア・フォール・デバイスを使用します。 これによって、制御(ネットワーク・アクセスのネットワーク管理者制御、グローバルに管理および監査されるルールの使用)の分離が可能になり、パケット・フィルタ・ルールの実装によるOracle VM dom0のCPUの高負荷が軽減されます。 iptablesまたはfirewalldが有効になっているシステムでOracle VM Managerを使用するには、Oracle VM Managerで使用されるポートを開くか、iptablesまたはfirewalldを無効にしてすべてのポートを開くことができます。 外部ファイアウォール・デバイスがない場合はネットワーク保護が削除されるため、後者はお薦めしません。
ネットワークの各部間にインストールされることのある様々なファイアウォール上の必要なポートを開いてください。 必要なポートの一覧や、コンポーネント同士の接続方法を示す図などの追加情報も2.1項、「Oracle VMのインストール前の作業」で見つけることができます。
外部ファイアウォール・デバイスが、任意のホストからのICMPタイムスタンプ・リクエストをフィルタリングまたはブロックすることを確認します。 ICMPタイムスタンプ(タイプ13)リクエストを送信してシステム情報を取得したり、さまざまな攻撃を実行することは可能です。
たとえば、iptablesの使用時に外部ファイアウォール・デバイスがない場合は、iptablesサービスが各ノードで実行されており、少なくともデフォルトのポリシーおよびルールセットがファイル/etc/sysconfig/iptables
に存在することを確認します:
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1:148] -A INPUT -p tcp -m state --state NEW -m tcp --dport 10000 -j ACCEPT -A INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 7002 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited -A INPUT -p icmp --icmp-type timestamp-request -j DROP -A INPUT -p icmp --icmp-type timestamp-reply -j DROP COMMIT
3.1.4 信頼できない内部ネットワーク
信頼できない内部ネットワークは、管理が甘く、監視されておらず、内部の進行中および修正されていない悪意のあるソフトウェアの被害を受けたワークステーションからまたは外部からすぐに危険にさらされるという特性があります。
このモデルでは、dom0管理制御およびVMは、トラフィック・フローが3ゾーン・ルーター/ファイアウォールによって制御される別々のVLANにパーティション化されます。 ファイアウォール・ポリシーでは、管理ネットワークの任意のアウトバウンド接続を許可しますが、信頼できない内部ネットワークからのインバウンド接続はブロックされます。 VMネットワークへのファイアウォール・ポリシーは、アプリケーションによって異なりますが、必要な内部ネットワークへサービス・ポートを公開する必要があります。 シグネチャ駆動型侵入検知システムは、攻撃が進行中であることを示すトラフィック・パターンを監視するVMネットワーク上のオプションです。
このモデルでは、内部ネットワークからのトラフィックを敵意の可能性があるものとして表示します。 このネットワークをさらに強化するには、インバウンド・トラフィックをブロックするハードウェア・ベースまたはソフトウェア・ベースのファイアウォールおよびポリシーを管理ホストおよびdom0ホストに実装します。 dom0ファイアウォールは、OCFS2 (7777)、Oracle VM Agent (8899)およびXen管理ポート(8002および8003)以外のすべてのポートのピアdom0トラフィックを拒否するよう強化することもできます。
信頼できない内部ネットワーク・モデルのガイドラインは、次のとおりです。
-
信頼できる内部ネットワークのガイドラインすべてを実装します。
-
ssh rootログインを無効化します。 管理者は、管理者として(自身のグローバルUIDを使用)、ユーザー権限を使用してログインする必要があります。 必要に応じて、ユーザーまたはrootごとに特定の管理コマンドを許可するように、sudoを設定します。 詳細は、第3.2項「Oracle VMの管理者権限」を参照してください。
-
iptablesを使用している場合は、最後のREJECT行の直前に、失敗した接続ロギングを既存のiptablesファイアウォールに追加します:
-A RH-Firewall-1-INPUT -m limit --limit 15/minute -j LOG --log-prefix "FW Drop:" -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-
リモートsyslogサーバーを設定して、すべてのユーザー・ログインおよびファイアウォール接続の失敗を追跡します。
-
各Oracle VM Server dom0でのVNC接続を無効化します。 Oracle VM Managerではなくsshおよびvncviewerを介したポート・フォワード接続は、次のとおりです。
#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5950 -j ACCEPT ssh -L 5900:vmserverhost:5900 vmserverhost
-
Oracle VM Managerでポート8888およびIPPポートを無効化します。
#-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT #-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
ノートこれは、セキュアなポート22、7002および10000をadminコマンドライン・アクセスおよびVM Manager接続用に残します。
-
信頼できる管理ネットワークまたはホストを定義して、そのネットワークまたはホストへのOracle VM ManagerおよびOracle VM Serverのssh接続を制限します。 これをiptablesに実装するには、デフォルトの
/etc/sysconfig/iptables
構成ファイルで既存のsshルールをコメント・アウトします。 信頼できるネットワークまたは単一のadminホストに適用可能な情報で置き換えます(192.168.0.0/24ネットワークまたはIPアドレスが192.168.0.67のホストなど)。#-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT -- or -- -A RH-Firewall-1-INPUT -p tcp -s 192.168.0.67 --dport 22 -j ACCEPT
ノート失敗した接続は、フォール・スルーし、箇条書きの3つ目で指定されたロギング・ルールによってロギングされます。 iptablesを使用する場合、/etc/sysconfig/iptablesのすべてのルールを変更して、選択したネットワークまたはホストへのアクセスを制限することもできます。
3.1.5 インターネットを使用するサービス
ネットワーク接続ホストの保護が最も困難なモデルは、VMベースのサービスを直接インターネット上に配置することです。 この場合、幅広い侵入技術および大規模で多種多様かつ攻撃的な一連の脅威からの悪用によって環境が危険にさらされないよう保証するために、十分な配慮が必要です。
侵入検出のない信頼できない内部ネットワークでも、内部ユーザーは、既知数で、監視されていることを知っているため、悪意を持ったり、過剰に好奇心が旺盛である傾向はありません。 対照的に、インターネットは、悪意のあるユーザー、犯罪組織や敵、設備の整った政府に仮想匿名を提供します。 匿名性に隠れ、常時実行する自動化ツールを使用した目立ったネットワーク・セグメントの調査および攻撃が、標準の手順になります。 周辺部ファイアウォールで、ssh、mysql、oracle、netbiosおよびsmtpサービス・ポートでの攻撃的な侵入の試行は、通常秒当たりの攻撃で測定されます。
攻撃を撃退し、成功した侵入イベントの影響を軽減するために役立つゾーン分離を提供する様々なトポロジがあります。 基本的ないくつかのアプローチを次に示します。
インターネットを使用したサービスに関するネットワーク・モデルのガイドラインは、次のとおりです。
-
信頼できない内部ネットワークのガイドラインすべてを実装します。
-
インターネットを使用するすべてのホストおよびVMをDMZ(非武装地帯)と呼ばれる分離されたネットワーク・スタブに配置します。 ネットワーク間での接続は、明確に定義されたルールおよびポリシーを試行するステートフル・ファイアウォールによって管理および監視されます。 可能な場合は、ゲストVM分離には、VMごとに個別のDMZ VLANが最適です。
-
Oracle VM Managerまたはその他のミッション・クリティカルな管理ツールをインターネット上に配置しないでください。 VPNを使用して、セキュアな内部管理ネットワークでこれらのホストにアクセスします。 これは、特に、ネットワーク化された記憶域に適用し、これらのホストは、インターネットを使用したネットワークに配置しないでください。
-
管理DMZでインターネット公開VMをホストしている各dom0 (Oracle VM Server)を配置します。 このゾーンでは、内部ネットワークまたはインターネットへの接続を開始できませんが、管理者VLANからアクセスできます。 dom0自体は、インターネットまたは内部ネットワークからアクセスできないようにする必要があります。
-
可能な場合は常に、インターネット公開Linux VMゲストのselinuxを使用します。
3.2 Oracle VMの管理者権限
各管理者は、Oracle VM ServerおよびOracle VM Managerへアクセスするために、個々のユーザー・アカウントを持っている必要があります。
管理ツール(ovm_admin)を使用して、Oracle VM Managerの一意のユーザー・アカウントを作成できます。 詳細は、「Oracle VM管理者ガイド」の「Oracle VM Manager管理者ツール(ovm_admin)」を参照してください。
Oracle VM dom0は、強い権限を持つ環境です。 セキュリティを最高に保つため、管理アクセスを厳密に制御し、認可されたユーザーのみに制限し、記録する必要があります。 ほとんどのOracle VM管理で推奨されるメソッドは、個々のサーバーにログオンするのではなく、Oracle VM Manager、Oracle VM Managerコマンドライン・インタフェース、またはOracle Enterprise Manager Opsセンターによって提供されるグラフィカル・ユーザー・インタフェースを使用することです。Oracle VM ServersはOracle Support Servicesによって必要または推奨されます。
とはいえ、管理のLinux管理コンソールをデプロイし、サポートを継続することを選択する場合があります。 特定の有効な例では、/etc/ssh/sshd_config
および/etc/sudoers
を変更して、SSHルート・ログインを防止し、管理者が管理者自身としてログインし、sudoを使用して、アクセス権限を取得します。 他の有効な例では、/etc/login.defs
を変更して、パスワードの長さおよび有効期限ポリシーを制御します。 デバイス・ドライバまたはrpmの追加は、サポートおよび適切な機能を害する可能性のある例で、Oracle VMサポートによって指示された場合にのみ実行します。 アクセスおよびセキュリティ制御がOracle VM環境に適しているか慎重に確認することをお薦めします。
Oracle VM環境の仮想マシンのエンド・ユーザーには、管理権を付与しないでください。 SSH、RDPまたはVNCを介して直接仮想マシンへアクセスする必要があります。 大規模環境では、かわりに、第3.4項「仮想マシンへのユーザー・アクセス」で説明するように、Oracle Enterprise Managerを介したロール・ベースのアクセス制御を適用します。
3.3 記憶域の構成
Oracle VM環境において、記憶域プロバイダは、その記憶域を利用するサーバーおよび仮想マシンに対してのみ公開されるように構成する必要があります。 各記憶域プロバイダの管理機能へのアクセスは、ストレージ構成を担当する管理者に制限する必要があります。
最初に、ストレージ・サーバーをOracle VM ManagerとOracle VM Serverからアクセス可能なプライベート・ネットワークに接続します。 記憶域プロバイダは、Oracle VM環境の外部からアクセスできる必要はありません。 このネットワークは、管理ネットワークの場合と、別のストレージ・ネットワーク(推奨)の場合があります。 記憶域へのアクセスを最も制限するセキュアな方法は、ストレージ・サーバーをストレージ・サブネット内のOracle VM Server(Oracle VM Managerを含む)の個々のIPアドレスにロックすることです。 最低限、ストレージ・サブネットに対してのみ公開します。
Oracle VMでは、ファイル・サーバーとSANを区別します。 どちらのカテゴリにも、前述の推奨事項は該当します。ローカル以外の大部分の記憶域が、ネットワーク上で(IPアドレスに基づいて)管理およびプロビジョニングされるためです。 例外は、ファイバ・チャネルやInfiniBandのような直接接続のストレージです。許可されていないアクセスを防ぐには、必要なサーバーのホスト・バス・アダプタ(HBA)のみを、ファイバ・チャネルまたはInfiniBandスイッチに物理的に接続するようにします。 NFSベースのファイル・サーバーとiSCSIベースのSANサーバーは、構成によってIPアドレスのサブセットに制限できます。
Oracle VM記憶域サーバーの管理は、記憶域プロバイダとの対話に使用されるOracle VM Storage Connectプラグインによって異なる場合があります。 対応する汎用Oracle VM Storage Connectプラグインを使用して汎用NFSまたはiSCSIプロバイダを使用している場合、構成はほぼ完全に記憶域ホスト上で行われます。 カスタムのサードパーティ製のOracle VM Storage Connectプラグインを使用している場合は、Oracle VM Manager内からより多くの記憶域構成を実行できます。 汎用のiSCSIストレージを使用するかどうかに関係なく、ターゲット、イニシエータおよびアクセス・グループをできるだけ最も制限する方法で構成するようにします。
記憶域プロバイダへのアクセスを構成する方法の詳細は、次のOracle VMドキュメントを参照してください。
-
全体的な記憶域管理: 「Oracle VM Managerユーザー・ガイド」の「記憶域タブ」を参照してください。
-
アクセス・グループによる記憶域アクセス構成: Oracle VM Managerユーザー・ガイドの「アクセス・グループのパースペクティブ」を参照してください。
-
Oracle VM Serversのアクセス・グループと記憶域イニシエータの管理: Oracle VM Managerユーザー・ガイドの「記憶域イニシエータのパースペクティブ」を参照してください。
Oracle VM Storage Connectの技術的な概要については、次の場所にあるOracle VM Storage Connectの技術的なペーパーを参照してください:
http://www.oracle.com/us/technologies/virtualization/ovm3-storage-connect-459309.pdf.
ご使用のストレージ・ハードウェア構成に固有の詳細は、そのハードウェア・メーカーのドキュメントを参照してください。
3.4 仮想マシンへのユーザー・アクセス
Oracle VM Manager GUIは、それ自体が管理者ツールです。 管理者アカウントには、すべての機能およびOracle VM Managerを介して管理されるすべてのリソースへの完全なアクセス権があります。 したがって、環境の構成および日々の管理を担当するわずかなユーザーにのみアカウントを与えることを強くお薦めします。 また、管理者は、仮想マシンのゲスト・オペレーティング・システムへのアクセス権を持ち、Oracle VM Manager GUI内からVMコンソールを使用する必要があります。 ただし、仮想マシン・アクセス権を持つすべてのユーザーがOracle VM管理者になる必要はありません。 これは、最小権限のセキュリティ原則に違反します。 (第1.2.3項「最小特権の原則に従う」を参照してください。) Oracle VMの特定のデプロイメントによっては、他の方法で仮想マシン・アクセス権を付与する場合があります。
仮想マシンへのアクセス制御を次の3つの方法に区別します。
-
Oracle VM Managerコンソール
-
直接リモート接続。
-
Oracle Enterprise Managerによるロールベースのアクセス制御。
VMコンソール・アクセス
Oracle VM管理者は、Oracle VM Managerのコンソールを介して、仮想マシンのゲスト・オペレーティング・システムに常にアクセスできます。 これは、Oracle VM環境でホストされている仮想マシンへ接続する標準の方法です。 たとえば、仮想マシンが、アプリケーションおよびサービスをホストしているサーバーである場合、システム管理者によって構成および保持されています。 このタイプの設定では、エンド・ユーザーは、サーバー上で実行しているサービスまたはアプリケーションと対話しますが、仮想マシン自体にはログオンしません。
このモデルでは、1人のみまたは少数のシステム管理者がOracle VM Managerコンソールを介して仮想マシンにアクセスできます。 セキュリティの観点から、少数の管理者アカウントは、管理しやすく、Oracle VMリソースが他のすべてのユーザーから非表示で保護されたままになります。
直接VMアクセス
特定のユーザーに仮想マシンへの管理アクセス権が必要であるが、Oracle VM環境の管理者でない場合は、Oracle VM Managerの追加の管理者アカウントを作成することはお薦めしません。 かわりに、Oracle VM管理者は、仮想マシン・ユーザーがOracle VM Managerを経由せずに接続を確立できるように、仮想マシンを設定およびリモート接続を構成する必要があります。 VMへの直接アクセスを確立するには、物理サーバーと同じ原則と手順に従います:
-
VMで適切なオペレーティング・システムをインストールおよび構成します。 必須の追加ソフトウェアも同様にインストールします。
-
必要なユーザー・アカウントを作成し、必要な権限を設定します。
-
VMユーザーにアクセスできるネットワークにVMを接続しますが、管理ネットワークおよびOracle VM環境に必要なその他のネットワークは保護されたままであることを確認します。 静的IPアドレスをVMに割り当て、リモート接続を容易にします。 管理アドレスにはパブリックIPアドレスを使用しないでください。かわりに、内部ネットワークのプライベートIPアドレスを使用して、まず内部ネットワークへのVPN接続を設定するようユーザーに強制します。
-
VMでリモート接続を構成します。 Windowsサーバーでは、RDPが使用でき、Unixサーバーでは、コマンドライン・アクセスにSSHを使用でき、グラフィカル・デスクトップ環境が使用されている場合はVNCが使用できます。
-
リモート・アクセスを必要とするユーザーにログイン資格証明、VM IPアドレス(またはDNS名)およびリモート・アクセス・ポート番号を指定します。
常に最小権限の原則を適用: ユーザーが必要とする機能のみを厳密に有効にします。
ロール・ベースのアクセス
Oracle VMの大規模なデプロイメントには、ユーザー管理およびアクセス制御に関して、異なる要件があります。 前述の2つのアクセス方法の組合せは、仮想マシンの数が増えるとともに、管理しにくくなり、別のカテゴリのユーザーには、仮想化リソースのグループへの別のレベルのアクセスが必要になります。 環境が大きく複雑である場合、ロールベースのアクセス制御およびディレクトリ・サービスの統合などの機能が必要です。 Oracle VM Managerにこの機能はありませんが、必要な場合は、Oracle VM環境とOracle Enterprise Managerを統合できます。
Oracle Enterprise Managerとの統合によって、Oracle VMに次のような重要な管理機能が多数追加されます。
-
ロールベースのアクセス制御: ユーザー・グループとアクセス許可プロファイル。
-
LDAP/ディレクトリ・サービス統合
-
リソースの割当ておよび所有権管理
-
リソース・グループ(VM、ネットワーク、記憶域など)の分離、アイソレーション、保護。
-
一度に複数のVMを作成し、オペレーティング・システムとソフトウェア・アプリケーションをプロビジョニングするためのプロファイルとデプロイメント計画。
Oracle Enterprise Managerによるロール・ベースのアクセス制御の概要については、Oracle's Virtualization Blog (https://blogs.oracle.com/virtualization/entry/crash_course_role_based_access)の投稿を参照してください。
Oracle VMとOracle Enterprise Managerとの統合の詳細については、Oracle Enterprise Managerのドキュメントを参照してください: http://www.oracle.com/technetwork/oem/grid-control/documentation/oem-091904.html
3.5 仮想マシンのセキュリティ考慮事項
仮想サーバーには、多くの点で物理サーバーと同一のセキュリティ要件があります。 ホストされるアプリケーションおよびサービスでも同様です。 仮想化には、セキュリティ上の利点があります。各仮想マシンは、異なる認証および認可ルール、および異なるプロセス、名前およびファイル・システム領域を使用するプライベート・セキュリティ・コンテキストを持つことができます。 アプリケーションを別の仮想マシンにデプロイすることで、複数のアプリケーションを同じホスト・オペレーティング・システムで実行する場合と比較して、よりよいセキュリティ制御が提供されます。1つの仮想マシンのOSが侵入されたとしても、必ずしも他の仮想マシンにあるワークロードおよびデータが危険にさらされるというわけではありません。 それでも、仮想化によってセキュリティの脆弱性がもたらされないようにするために、行うべきことがいくつかあります。
1つの側面として、物理的なセキュリティがあります。 仮想インフラストラクチャは、物理インフラストラクチャのように目に見えるものではなく、目的およびセキュリティ分類を示すラベルを仮想マシンに貼り付けることはできません。 データセンターがセキュリティ要件が非常に高いサーバーを識別し、データの改ざんや盗難を防ぐためにロックされた部屋やケージ内に物理的に隔離している場合は、同様に仮想化されたワークロードをホストする物理マシンを分離する必要があります。セキュアな領域がなくても、多くの機関が異なるセキュリティ・クラスのワークロードを異なるサーバーに保持します。 これらの同じ分離ルールは、仮想マシンにも適用されます。 保護されている仮想マシンが、安全性の低い場所にあるサーバーに移行されないように注意する必要があります。 Oracle VMのコンテキストでは、これは、それぞれが独自のサーバーのグループを持つ別々のサーバー・プールの保持することを意味します。
これらの分離ルールは、ネットワークにも適用する必要があります。スタッフが仮想マシンとの間または仮想マシン間のネットワーク・トラフィックの異なるルート、セグメントおよびタイプを識別および分離するために役立つ色分けされたネットワーク・ケーブルはありません。 アプリケーション、管理およびバックアップのトラフィックが分離されていることを確認するために役立つ視覚的なインジケータはありません。 ネットワーク・ケーブルを別の物理インタフェースおよびスイッチに接続するのではなく、Oracle VM管理者は、仮想ネットワーク・インタフェースが別の仮想ネットワークに接続されていることを確認する必要があります。 具体的には、VLANを使用して、仮想マシンをそれぞれ分離し、仮想マシン・トラフィック用の仮想ネットワークを管理、記憶域またはバックアップ用に使用されるものとは別の物理インタフェースに割り当てます。 これらはすべてOracle VM Managerユーザー・インタフェースから制御できます。 セキュアなライブ・マイグレーションが選択されていることを確認し、仮想マシンのメモリー・データが暗号化されずに送信されることがないことを保証します。
仮想マシン・ディスク・イメージには、さらに注意が必要です。 ほとんどの場合、仮想ディスクは、ネットワーク上で移行およびフェイルオーバー目的に使用できます。 多くの場合、これらのファイルは、ネットワーク記憶域のセキュリティが危険にさらされていると、簡単にコピーまたは盗用されます。 したがって、NASまたはSAN環境をロック・ダウンして、未認可アクセスを防止することが重要です。 ストレージ・ネットワーク上のワークステーションへのrootアクセス権を持つ侵入者によって、ストレージ・アセットがマウントされ、コンテンツがコピーまたは変更される可能性があります。 ストレージ・サーバーおよびOracle VMホスト間での転送に別のネットワークを使用して、そのトラフィックが公開されて、詮索の対象になっていないことを確認します。 未認可ユーザーにOracle VM Serverへのログインを許可しないようにしてください(ログインするとゲストの仮想ディスク・イメージや場合によってはより多くのものへのアクセスが可能になるためです)。
これらすべてのステップで、Oracle VM ManagerおよびOracle VM Server domain 0インスタンスへのアクセスを制御する必要があります。 これらのホストへのネットワーク・アクセスは、プライベート・ネットワークである必要があり、Oracle VM環境の任意のサーバーにログインできるユーザー・アカウントは厳密に制御され、最小限のユーザーに限定する必要があります。