次の方法で共有


Azure Virtual Network Manager のセキュリティ管理者ルール

この記事では、Azure Virtual Network Manager のセキュリティ管理者ルールについて説明します。 セキュリティ管理者ルールは、 ネットワーク グループ内のすべての仮想ネットワークに適用されるグローバル ネットワーク セキュリティ ルールを定義するために使用されます。 セキュリティ管理者ルールの概要、そのしくみ、および使用するタイミングについて説明します。

セキュリティ管理者ルールとは

セキュリティ管理ルールは、ルール コレクションで定義されたセキュリティ ポリシーを仮想ネットワークに適用するグローバルなネットワーク セキュリティ ルールです。 これらのルールは、対象となるネットワーク グループ内の仮想ネットワーク間のトラフィックを許可、常に許可、または拒否するために使用できます。 これらのネットワーク グループは、仮想ネットワーク マネージャー インスタンスのスコープ内の仮想ネットワークでのみ構成できます。 セキュリティ管理者ルールは、仮想ネットワーク マネージャーで管理されていない仮想ネットワークには適用できません。

セキュリティ管理者ルールを使用できるシナリオの例を次に示します。

シナリオ 説明
危険度の高いネットワーク ポートへのアクセスを制限する セキュリティ管理者ルールを使用すると、リモート デスクトップ プロトコル (RDP) のポート 3389 や Secure Shell (SSH) のポート 22 など、攻撃者が一般的に対象とする特定のポートのトラフィックをブロックできます。
コンプライアンス要件の適用 セキュリティ管理者ルールは、コンプライアンス要件を強制するのに使用できます。 たとえば、特定の IP アドレスまたはネットワーク ブロックへのトラフィックや、そこからのトラフィックをブロックします。
機密データの保護 セキュリティ管理者ルールを使用して、特定の IP アドレスまたはサブネット間のトラフィックをブロックすることで、機密データへのアクセスを制限できます。
ネットワーク セグメント化の適用 セキュリティ管理者ルールを使用して、仮想ネットワークまたはサブネット間のトラフィックをブロックすることで、ネットワークのセグメント化を適用できます。
アプリケーション レベルのセキュリティの強制 セキュリティ管理者ルールを使用して、特定のアプリケーションまたはサービス間のトラフィックをブロックすることで、アプリケーション レベルのセキュリティを適用できます。

Azure Virtual Network Manager では、セキュリティ管理者ルールを一元管理することができます。 一元化することで、セキュリティ ポリシーを大規模に定義し、一度に複数の仮想ネットワークに適用することができます。

Note

現時点では、セキュリティ管理者ルールは、マネージド仮想ネットワークのスコープに該当するプライベート エンドポイントには適用されません。

セキュリティ管理者ルールの仕組み

セキュリティ管理者ルールでは、指定した方向の特定のポート、プロトコル、および送信元/宛先 IP プレフィックスに対するトラフィックを許可または拒否します。 セキュリティ管理者ルールを定義するときは、次の条件を指定します。

  • ルールの優先順位
  • 実行するアクション (許可、拒否、常に許可)
  • トラフィックの方向 (受信または送信)
  • 使用するプロトコル

複数の仮想ネットワークにセキュリティ ポリシーを適用するには、セキュリティ管理者構成を作成してデプロイします。 この構成には一連のルール コレクションが含まれており、各ルール コレクションには 1 つ以上のセキュリティ管理者ルールが含まれています。 作成できたら、セキュリティ管理者ルールを必要とするネットワーク グループにルール コレクションを関連付けます。 その後、構成のデプロイ時に、ネットワーク グループに含まれるすべての仮想ネットワークにそのルールが適用されます。 1 つの構成で、複数の仮想ネットワークに対して一元的かつスケーラブルにセキュリティ ポリシーを適用できます。

重要

1 つのリージョンにデプロイできるセキュリティ管理者構成は 1 つだけです。 ただし、1 つのリージョンに複数の接続構成が存在する可能性があります。 リージョンに複数のセキュリティ管理者構成をデプロイするには、代わりにセキュリティ構成に複数の規則コレクションを作成できます。

セキュリティ管理者ルールとネットワーク セキュリティ グループ (NSG) が評価されるしくみ

セキュリティ管理者ルールとネットワーク セキュリティ グループ (NSG) を使用して、Azure でネットワーク セキュリティ ポリシーを適用できます。 ただし、スコープと優先順位はそれぞれ異なります。

セキュリティ管理者ルールは、中央ガバナンス チームのネットワーク管理者が使用することを目的としているので、必要に応じて、個別のアプリケーションまたはサービス チームに NSG ルールを委任して、セキュリティをさらに細かく指定します。 セキュリティ管理者ルールは NSG よりも優先度が高く、NSG ルールの前に評価されます。

一方、NSG は、個々のサブネットまたはネットワーク インターフェイスとの間のネットワーク トラフィックをフィルター処理するために使用されます。 これらは、個々のアプリケーションまたはサービス チームが必要に応じてセキュリティをさらに指定するために使用することを目的としています。 NSG の優先度はセキュリティ管理者ルールよりも低く、セキュリティ管理者ルールの後に評価されます。

セキュリティ管理者ルールは現在仮想ネットワーク レベルで適用されますが、ネットワーク セキュリティ グループ はサブネットと NIC のレベルで関連付けることができます。 次の表は、これらの相違点と類似点を示しています。

ルールの種類 ターゲット ユーザー 適用対象 評価順序 アクションの種類 パラメーター
セキュリティ管理者ルール ネットワーク管理者、中央ガバナンス チーム 仮想ネットワーク 高優先順位 許可、拒否、常に許可 優先順位、プロトコル、アクション、ソース、宛先
ネットワーク セキュリティ グループ ルール 個々のチーム サブネット、NIC 低優先順位、セキュリティ管理規則の後 許可、拒否 優先順位、プロトコル、アクション、ソース、宛先

セキュリティ管理者ルールは、トラフィックに対して許可常に許可拒否の 3 つのアクションを実行できます。 作成されると最初に "許可" ルール、続いてネットワーク セキュリティ グループのルールが評価されます。 このアクションにより、必要に応じてネットワーク セキュリティ グループのルールを使用してトラフィックを異なる方法で処理できます。

常に許可 または 拒否ルールを作成すると、セキュリティ管理者ルールの評価後にトラフィックの評価が終了します。 常に許可ルールを使用すると、トラフィックはリソースに直接送信され、NSG ルールによる、さらなる (かつ競合する可能性のある) 評価が終了します。 このアクションは、トラフィックを強制し、ネットワーク セキュリティ グループのルールによって拒否されるのを防ぐうえで役立ちます。 拒否ルールでは、トラフィックは宛先に送信されずに停止されます。 セキュリティ管理者ルールは NSG に依存しないため、既定のセキュリティルールを独自に作成するために使用できます。

セキュリティ管理者ルールとネットワーク セキュリティ ルールを使ったネットワーク トラフィックの評価順序を示す図。

セキュリティ管理者ルールと NSG を組み合わせて使用することで、グローバル レベルと個別レベルの両方でネットワーク セキュリティ ポリシーを適用し、仮想ネットワークの安全性と、組織のセキュリティ ポリシーへの準拠を確保できます。

重要

セキュリティ管理者ルールがデプロイされると、結果整合性モデルが使用されます。 これは、セキュリティ管理者ルールが、結果的に少しの遅延の後に、仮想ネットワークに含まれるリソースに適用されることを意味しています。  既にセキュリティ管理者ルールが適用されている仮想ネットワークに追加されたリソースも、最終的には、セキュリティ管理者ルールが遅延を伴って適用されます。

セキュリティ管理者ルールの利点

セキュリティ管理者ルールには、組織のリソースをセキュリティで保護するための多くの利点があります。 セキュリティ管理者ルールを使用すると、許可されたトラフィックを適用し、競合するネットワーク セキュリティ グループのルールによって拒否されることを防ぐことができます。 また、NSG の存在に依存しない既定のセキュリティ管理者ルールを作成することもできます。 これらの既定の規則は、アプリケーション所有者が NSG を正しく構成しなかったり、NSG を確立し忘れたりした場合に特に役立ちます。 さらに、セキュリティ管理者ルールでは、セキュリティを大規模に管理することもできます。これにより、ネットワーク リソースの増加に伴う運用上のオーバーヘッドが軽減されます。

リスクの高いポートを保護する

業界の調査と Microsoft からの提案に基づいて、この危険度の高いポート一覧に対してセキュリティ管理者ルールを使用して、外部からのトラフィックを制限することをお勧めします。 これらのポートは、リソースの管理や安全でない/暗号化されていないデータ転送に使用されることが多く、インターネットに公開しないようにしてください。 ただし、特定の仮想ネットワークとそのリソースでは、管理またはその他のプロセスのためにトラフィックを許可する必要がある場合があります。 必要に応じて例外を作成できます。 これらのタイプのシナリオで、例外を使用して、リスクの高いポートをブロックする方法について説明します。

[ポート] プロトコル 説明
20 TCP 暗号化されていない FTP トラフィック
21 TCP 暗号化されていない FTP トラフィック
22 TCP SSH。 ブルート フォース攻撃の可能性
23 TCP TFTP では、認証されていないトラフィックや暗号化されていないトラフィックが許可される
69 UDP TFTP では、認証されていないトラフィックや暗号化されていないトラフィックが許可される
111 TCP/UDP RPC. 暗号化されていない認証が許可される
119 TCP 暗号化されていない認証のための NNTP
135 TCP/UDP エンドポイント マッパー、複数のリモート管理サービス
161 TCP セキュリティで保護されていない/認証なしの SNMP
162 TCP/UDP セキュリティで保護されていない/認証なしの SNMP トラップ
445 TCP SMB - よく知られている攻撃ベクトル
512 TCP Linux 上の Rexec - 暗号化認証なしのリモート コマンド
514 TCP リモート シェル - 認証または暗号化なしのリモート コマンド
593 TCP/UDP HTTP RPC EPMAP - 暗号化されていないリモート プロシージャ コール
873 TCP Rsync - 暗号化されていないファイル転送
2049 TCP/UDP ネットワーク ファイル システム
3389 TCP RDP - 一般的なブルート フォース攻撃ポート
5800 TCP HTTP 経由の VNC リモート フレーム バッファー
5900 TCP HTTP 経由の VNC リモート フレーム バッファー
11211 UDP Memcached

大規模な管理

Azure Virtual Network Manager には、セキュリティ管理者ルールを使用してセキュリティ ポリシーを大規模に管理する方法が用意されています。 ネットワーク グループにセキュリティ管理者構成を適用すると、ネットワーク グループのスコープ内のすべての仮想ネットワークとそこに含まれるリソースが、ポリシーのセキュリティ管理者ルールを受け取ります。

新しいリソースは、既存のリソースと共に保護されます。 たとえば、セキュリティ管理者ルールのスコープ内の仮想ネットワークに新しい VM を追加すると、その VM も自動的にセキュリティで保護されます。 これらの VM をデプロイするとすぐに、セキュリティ管理者ルールが適用され、保護されます。

新しいセキュリティ リスクが特定されたら、新しいリスクから保護するセキュリティ管理者ルールを作成し、それをネットワーク グループに適用することで、大規模にデプロイできます。 この新しいルールがデプロイされると、ネットワーク グループのスコープ内のすべてのリソースが現在も将来も保護されます。

セキュリティ管理者ルールの非適用

ほとんどの場合、セキュリティ管理者ルールは、ネットワーク グループに適用されたセキュリティ構成の範囲内にあるすべての仮想ネットワークとサブネットに適用されます。 ただし、サービスによっては、そのサービスのネットワーク要件上の理由でセキュリティ管理者ルールが適用されないことがあります。 サービスのネットワーク インテント ポリシーによって、これらの要件が適用されます。

仮想ネットワーク レベルにおけるセキュリティ管理者ルールの不適用

既定では、以下のサービスを含んでいる仮想ネットワークにはセキュリティ管理者ルールが適用されません。

セキュリティ管理者ルールは、これらのサービスを含んでいる仮想ネットワークをスキップします。 そのような仮想ネットワークに "許可" ルールを適用する必要がある場合は、securityConfiguration.properties.applyOnNetworkIntentPolicyBasedServices .NET クラスの AllowRulesOnly フィールドを設定したセキュリティ構成を作成します。 この設定を行うと、セキュリティ構成内の "許可" ルールのみが仮想ネットワークに適用されるようになります。 "拒否" 規則は、この仮想ネットワークには適用されません。 これらのサービスを含んでいない仮想ネットワークでは、"許可" ルールと "拒否" ルールの使用を継続できます。

Azure PowerShellAzure CLI を使用すると、"許可" ルールのみを含んだセキュリティ構成を作成して仮想ネットワークにデプロイできます。

Note

複数の Azure Virtual Network Manager インスタンスによって、同じ仮想ネットワークに securityConfiguration.properties.applyOnNetworkIntentPolicyBasedServices クラスの異なる設定が複数適用されている場合は、最上位のスコープを対象とするネットワーク マネージャー インスタンスの設定が効力を持ちます。 たとえば、ここに 2 つの仮想ネットワーク マネージャーがあるとします。 第 1 のネットワーク マネージャーは、ルート管理グループをスコープとして、securityConfiguration.properties.applyOnNetworkIntentPolicyBasedServices クラスの AllowRulesOnly を設定したセキュリティ構成を使用しています。 第 2 の仮想ネットワーク マネージャーは、ルート管理グループ内にある 1 つのサブスクリプションをスコープとして、セキュリティ構成では既定フィールドの "なし"を使用しています。 この両方の構成によって、異なるセキュリティ管理者ルールが 1 つの仮想ネットワークに適用された場合、その仮想ネットワークに対しては AllowRulesOnly 設定が効力を持ちます。

サブネット レベルにおけるセキュリティ管理者ルールの不適用

同様に、サブネットの仮想ネットワークがセキュリティ管理者構成のスコープ内にある場合、一部のサービスではサブネット レベルでセキュリティ管理者ルールが適用されません。 次のようなサービスがあります。

  • Azure Application Gateway
  • Azure Bastion
  • Azure Firewall
  • Azure Route Server
  • Azure VPN Gateway
  • Azure Virtual WAN
  • Azure ExpressRoute ゲートウェイ

この場合、セキュリティ管理者ルールは、これらのサービスがあるサブネット内のリソースには影響しません。 ただし、同じ仮想ネットワーク内の他のサブネットには、セキュリティ管理者ルールが適用されます。

Note

Azure Application Gateway を含んでいるサブネットにセキュリティ管理者ルールを適用する必要がある場合は、個々のサブネットに、ネットワーク分離を有効にしてプロビジョニングしたゲートウェイのみを含めるようにします。 ネットワーク分離を使用しない Azure Application Gateway を含んでいるサブネットには、セキュリティ管理者ルールは適用されません。

セキュリティ管理者フィールド

セキュリティ管理規則を定義すると、必須フィールドと省略可能なフィールドがあります。

必須フィールド

優先度

セキュリティ管理者ルールの優先順位は、1 ~ 4096 の整数です。 値が小さいほど、ルールの優先度が高くなります。 たとえば、優先度が 10 の拒否ルールは、優先度が 20 の許可ルールより優先されます。

アクション

セキュリティ ルールには、次の 3 つのアクションのいずれかを定義できます。

アクション 説明
許可 特定のポート、プロトコル、および送信元/送信先 IP プレフィックスのトラフィックを指定した方向に許可します。
Deny 指定したポート、プロトコル、および送信元/送信先 IP プレフィックスのトラフィックを指定した方向にブロックします。
常に許可 優先順位の低い他の規則やユーザー定義のネットワーク セキュリティ グループに関係なく、指定した方向のポート、プロトコル、および送信元/宛先 IP プレフィックスでトラフィックを許可します。

Direction

ルールを適用するトラフィックの方向を指定できます。 受信または送信のどちらかを定義できます。

プロトコル

セキュリティ管理者ルールで現在サポートされているプロトコルは次のとおりです。

  • TCP
  • UDP
  • ICMP
  • ESP
  • AH
  • 任意のプロトコル

オプション フィールド

送信元と宛先の種類

  • IP アドレス: IPv4 または IPv6 アドレス、またはアドレスのブロックを CIDR 表記で指定できます。 複数の IP アドレスを一覧表示するには、各 IP アドレスをコンマで区切ります。
  • サービス タグ: リージョンまたはサービス全体に基づいて特定のサービスタグを定義できます。 サポートされているタグの一覧については、「利用可能なサービス タグ」を参照してください。

送信元と宛先のポート

送信元または宛先に対してブロックする特定の共通ポートを定義できます。 一般的な TCP ポートは、次のとおりです。

Port [サービス名]
20, 21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
80 HTTP
443 HTTPS
3389 RDP
1433 SQL

次のステップ

セキュリティ管理構成を使用してネットワーク トラフィックをブロックする方法を学びます。