3.1 Oracle VMのネットワーク・モデル

3.1.1 ネットワークに接続しない
3.1.2 分離されたローカル・ネットワーク
3.1.3 信頼できる内部ネットワーク
3.1.4 信頼できない内部ネットワーク
3.1.5 インターネットを使用するサービス

ネットワーク構成およびアクセス制限を使用して、必要なものだけを外部へ公開します。

ネットワーク・セキュリティの観点から、リモート・ホスト接続およびアクセス制限は、通常、次のデプロイメント・カテゴリで定義および調整されています。

これらのカテゴリは、ネットワーク・セキュリティ・リスクが低いものから高いものの順になっており、この順番で詳細を説明します。

3.1.1 ネットワークに接続しない

機密性の高い一部のアプリケーションでは、リモート接続または悪用の可能性を許容できない場合があります。このレベルのセキュリティを必要とするマシンは、通常、アクセスが制限された部屋に保持され、ネットワーク・カードなしで構築されます。このタイプの構成は、ルート証明局など、ルート・キーが危険にさらされることで、このルート証明局によって署名されたすべての証明書およびアプリケーションが起こる可能性がある資格証明生成システムに対する推奨のベスト・プラクティスです。

高可用性およびフェイルオーバーなどのOracle VMの一部の機能は、ネットワーク、ピアOracle VM Serverおよび共有記憶域なしでは使用できませんが、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リポジトリをエクスポートする場合、特に、root_no_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ファイアウォールが有効になっています。ただし、ネットワーク・フィルタ処理のベスト・プラクティスとしては、追加の外部ファイア・フォール・デバイスを使用します。これによって、制御(ネットワーク・アクセスのネットワーク管理者制御、グローバルに管理および監査されるルールの使用)の分離が可能になり、パケット・フィルタ・ルールの実装によるOracle VM dom0のCPUの高負荷が軽減されます。iptablesが有効なシステムでOracle VM Managerを使用するには、Oracle VM Managerが使用するすべてのポートを開くか、またはiptablesを無効にしてポートを開きます。外部ファイアフォール・デバイスがない場合はネットワーク保護が削除されるため、後者はお薦めしません。

Oracle VM ManagerへのWebブラウザ接続には、ポート7001、7002および15901が必要です。Oracle VM Serverは、リモートAPIアクセス用に、ポート7001、7002およびオプションで54321、54322を使用して、 Oracle VM Managerに接続します。

次に、Oracle VM Managerは、Oracle VM Agent通信用にポート8899、および仮想マシンへのセキュアなVNCトンネリング用(1つのVM当たり1つのポート)にポート5900以上を介してOracle VM Serverに接続します。ネットワークの各部間にインストールされることのある様々なファイアウォール上の必要なポートを開いてください。詳細および図については、第2.1項「Oracle VMのインストール前のタスク」を参照してください。

iptablesを使用する場合、各ノードでサービスが実行中であり、すくなくともデフォルトのポリシーとルールセットがファイル/etc/sysconfig/iptablesに表示されていることを確認します。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j DROP
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP
-A INPUT -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-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 ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5950 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8002 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8003 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8899 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7777 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

3.1.4 信頼できない内部ネットワーク

信頼できない内部ネットワークは、管理が甘く、監視されておらず、内部の進行中および修正されていない悪意のあるソフトウェアの被害を受けたワークステーションからまたは外部からすぐに危険にさらされるという特性があります。

このモデルでは、dom0管理制御およびVMは、トラフィック・フローが3ゾーン・ルーター/ファイアフォールによって制御される別々のVLANにパーティション化されます。ファイアフォール・ポリシーでは、管理ネットワークの任意のアウトバウンド接続を許可しますが、信頼できない内部ネットワークからのインバウンド接続はブロックされます。VMネットワークへのファイアフォール・ポリシーは、アプリケーションによって異なりますが、必要な内部ネットワークへサービス・ポートを公開する必要があります。署名駆動型侵入検出システムは、VMネットワーク上で、攻撃が進行中であることを示すトラフィック・パターンを監視するオプションです。

このモデルでは、内部ネットワークからのトラフィックを敵意の可能性があるものとして表示します。このネットワークへの強化の追加は、インバウンド・トラフィックをブロックするadminおよびdom0ホストにハードウェアまたはiptablesベースのファイアフォールおよびポリシーを実装することで可能です。dom0ファイアフォールは、OCFS2 (7777)、Oracle VM Agent (8899)およびXen管理ポート(8002および8003)以外のすべてのポートのピアdom0トラフィックを拒否するよう強化することもできます。

信頼できない内部ネットワーク・モデルのガイドラインは、次のとおりです。

  • 信頼できる内部ネットワークのガイドラインすべてを実装します。

  • ssh rootログインを無効化します。管理者は、管理者として(自身のグローバルUIDを使用)、ユーザー権限を使用してログインする必要があります。必要に応じて、ユーザーまたはrootごとに特定の管理コマンドを許可するように、sudoを設定します。詳細は、第3.2項「Oracle VMの管理者権限」を参照してください。

  • 最後の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、443および4433をadminコマンドライン・アクセスおよびVM Manager接続用に残します。

  • 信頼できる管理ネットワークまたはホストを定義して、そのネットワークまたはホストへのOracle VM ManagerおよびOracle VM Serverのssh接続を制限します。これを実装するには、デフォルトの/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つ目で指定されたロギング・ルールによってロギングされます。/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を使用します。