Azure 第25回『仮想ネットワークの盾 ーNSG と Azure FireWallー』

Azure 仮想ネットワークのセキュリティ

オンプレミスのネットワークではファイアウォールや IPS / IDS を利用してセキュリティを確保することが一般的です。同じように Azure の仮想ネットワークでもセキュリティを確保するためのさまざまなサービスが提供されています。

・ネットワークセキュリティグループ(NSG)
・Azure Firewall
・Azure NAT Gateway
・サードパーティ製の次世代ファイアウォール(NGN)

今回は一番基本的なセキュリティ機能であるネットワークセキュリティグループを中心に、これらのサービスについて解説します。

ネットワークセキュリティグループ

ネットワークセキュリティグループ(NSG)は仮想ネットワークのサブネットおよび仮想マシンの仮想ネットワークインターフェースで構成できる IP ファイアウォールです。サブネットや仮想ネットワークインターフェースに対するエグレス(外部への送信)・イングレス(外部からの受信)の双方に対して、L3 / L4 レベルの規則で制御を行います。
ネットワークセキュリティグループの利用には料金がかかりません。

NSGの作成

Azure ポータルで仮想マシンを新規作成する際、[ネットワーク] タブでNIC ネットワークセキュリティグループを構成できます。

・[なし] を選択すると NSG は構成されません。
・[Basic] を選択すると、下の [パブリック受信ポート] および [受信ポートを選択] の設定に従って構成された NSG が新規作成され、仮想ネットワークインターフェースに割り当てられます。
・[詳細] を選択すると、既存の NSG を選択するか、または NSG を新規作成してカスタム規則を構成し、仮想ネットワークインターフェースに割り当てることができます。

仮想ネットワークインターフェースに割り当てられた NSG は仮想マシンのブレードの [ネットワーク] で確認、編集することができます。

仮想ネットワークインターフェースに割り当てられた NSG は、仮想ネットワークインターフェースのブレードの [ネットワークセキュリティグループ] で変更することができます。

またポータルで仮想ネットワークを作成する際に、[IP アドレス] タブでサブネットの編集・追加を行い、サブネットに対する NSG の割り当てや、NSG の新規作成が行えます。

作成済みのサブネットに対して既存の NSG の割り当てや NSG の変更を行うこともできます。

NSG を作成すると以下のような既定の規則が作成されます。

受信セキュリティ規則・送信セキュリティ規則共に、最も低い優先度ですべてのトラフィックをブロックする規則が作成されます。
これに加えて、受信セキュリティ規則では Azure ロードバランサーから任意の宛先への通信と、仮想ネットワークから仮想ネットワークへの通信を許可する規則が追加されます。送信セキュリティ規則では任意の送信元からインターネットへの通信と、仮想ネットワークから仮想ネットワークへの通信を許可する規則が追加されます。
既定の規則は編集・削除ができません。

NSGの規則の追加・編集

NSGの規則を追加・編集するには、以下のいずれかから行います。

  • 仮想マシンブレードの [ネットワーク] 画面
  • ネットワークセキュリティグループブレードの [受信セキュリティ規則]・[送信セキュリティ規則]
  • 規則の追加や編集は以下のような画面で行えます。

規則の構成

規則は 5 タプル情報 (送信元、送信元ポート、宛先、宛先ポート、プロトコル) に基づいて評価および適用されます。ポータルで規則を作成する際は、ソース、ソースポート範囲、宛先、宛先となるサービス(または宛先ポート範囲とプロトコル)、アクション、優先度、名前、説明(必須ではありません)を構成します。

  • ソース

    ソースには以下のような設定方法の選択肢があります。

    ・Any:すべての IP アドレスを示します(この場合 IP Addresses が * になります)。
    ・IP Addresses:単一の IP アドレスまたは IP アドレス範囲の CIDR 表記を指定します。IP アドレスまたはアドレス範囲のコンマ区切りの一覧を指定することもできます。
    ・My IP address:現在ポータルにアクセスしているグローバル IPv4 アドレスを示します。
    ・Service Tag:サービスタグ。指定された Azure サービスからの IP アドレスのグループです。例えば Virtual Network を指定すると、仮想ネットワークからのトラフィックすべてが指定されたことになります。同様に Azure Load Balancer を選択すると、Azure ロードバランサーからのトラフィックすべてが指定されたことになります。Azure 内での通信を制御する際は、サービスに対応する IP アドレスが変化するので、IP アドレスではなくサービスタグを利用して指定します。

    ・Application security group:アプリケーションセキュリティグループ。仮想マシンをグループ化したものです。仮想マシンの仮想ネットワークインターフェースをアプリケーションセキュリティグループに関連付けると、その仮想マシンとの通信を指定したことになります。複数の仮想マシンで構成されるアプリケーション全体に同じ規則を適用したい場合に便利です。

  • 送信元ポート

    ・ソースポート範囲:単一のポート (80 など)、ポート範囲 (1024-65535 など)、単一ポートとポート範囲のコンマ区切りのリスト (80,1024-65535 など) を指定します。
    すべてのポートは * で示します。

  • 宛先

    宛先には以下のような設定方法の選択肢があります。

    いずれもソースでの指定と同様の項目です。

  • サービス

    ウェルノウンポートや登録ポートが定義されているサービスを指定します。

    サービスを選択すると、自動的に宛先ポート範囲とプロトコルが構成されます。

    サービスで Custom を選択した場合は、宛先ポート範囲とプロトコルを手動で構成します。

  • アクション

    通信を許可するか拒否するかを指定します。

  • 優先度

    規則の優先度を100~4096の整数で設定します。数値が小さいほど優先順位が高くなります。通信は優先度の高い規則から順に照合され、規則に一致するとその規則のアクションが適用されて、後の処理が停止します。

  • 名前

    ネットワークセキュリティグループ内で一意の、規則の名前です。名前の長さは最大 80 文字です。
    名前は先頭が文字または数字、末尾が文字、数字、アンダースコア("_")でなければならず、中に含めることができるのは文字、数字、アンダースコア("_")、ピリオド(".")、ハイフン("_")のみです。

  • 説明

    後から参照した際に分かりやすくなるよう、適切な説明を入力できます。

    以下の例では、My IP address とサービス名を利用して、特定の IP アドレスからの HTTP と HTTPS の受信接続を許可しています。

規則作成時の注意事項

セキュリティ規則にはいくつかの注意事項があります。主な注意事項は以下のとおりです。

  • IP アドレスの数

    送信元または送信先に指定された IP アドレスと範囲は、1つの NSG 全体で送信元と送信先それぞれに4,000個までです。

  • 仮想マシンのIP アドレス

    Azure 仮想マシンに割り当てられている IP アドレスを指定する場合は、仮想マシンのパブリック IP アドレスではなく、プライベート IP アドレスを指定します。
    NSG の規則は、受信セキュリティ規則の場合はパブリック IP アドレスがプライベート IP アドレスに変換された後に、送信規則の場合はプライベート IP アドレスがパブリック IP アドレスに変換される前に処理されます。

  • 規則の数

    1つの NSG で構成できる規則の数は最大で1,000個です。

NSGを構成する場所

先に説明したように、NSG は仮想マシンの仮想ネットワークインターフェースと仮想ネットワークのサブネットの2つに対して構成できます。仮想ネットワークインターフェースとサブネットにそれぞれに設定された NSG は独立して機能するので、両方に構成した場合の動作は以下のようになります。

・受信トラフィック:先にサブネットの NSG で処理され、許可されたトラフィックのみ仮想ネットワークインターフェースに送られ、仮想ネットワークインターフェースの NSG で処理されます。
・送信トラフィック:先に仮想ネットワークインターフェースの NSG で処理され、許可されたトラフィックのみサブネットに送られ、サブネットの NSG で処理されます。

上の図のような規則の競合による複雑さを避けるために、同一サブネット内の特定の仮想マシンにだけ他とは異なる制限を設けなければならない特別な理由がない限り、NSG はサブネットまたは仮想ネットワークインターフェースのいずれか一つに関連付け、両方に関連付けないことが推奨されています。

参考情報

ネットワークセキュリティグループの動作の仕組みについて詳しくは、以下の記事を参照してください。

ネットワークセキュリティグループの作成・管理について詳しくは、以下の記事を参照してください。

サービスタグについて詳しくは、以下の記事を参照してください。

Azure Firewall

Azure Firewall の機能

Azure Firewall は Azure 仮想ネットワーク内に設置できる、ステートフルでフルマネージドな L7 ファイアウォールです。オンプレミスのファイアウォール アプライアンスと同様に、規則を基にしたネットワーク通信の制御を行います。

またロギングも可能なので、ファイアウォール内のトラフィックと操作を監視できます。ログの収集と分析には Azure Monitor を通じて Log Analytics ワークスペースが利用できます。
Azure Firewall は稼働時間と処理データ量の双方に対する従量課金で利用できます。

Azure Firewall とネットワークセキュリティグループの比較

同じようなネットワークセキュリティ機能であるネットワークセキュリティグループ(NSG)と Azure Firewall を比較すると、以下のようにまとめることができます。

機能 NSG Azure Firewall
動作箇所 サブネットとVMのNIC ネットワークの境界
対象レイヤー L3/L4 L3/L4+L7
サービスタグによるフィルター処理
FQDNによるフィルター処理 ×
SNATとDNAT ×
脅威インテリジェンスベースのフィルター処理 ×
IDPS ×
価格 無料 有料

NSG が仮想ネットワークインターフェースやサブネットの機能として動作するのに対して、Azure Firewall はネットワークの境界に配置される独立したアプライアンスとして動作します。
またアプリケーション層(L7)で機能しますので、IP アドレス/ポート番号だけでなく FQDN ベースでのフィルター処理や、アプリケーションレベルのフィルター処理、脅威インテリジェンスベースのフィルター処理が行えます。
NSG が無料のサービスであるのに対して、Azure Firewall は従量課金制の有償サービスです。

Azure Firewall の SKU

Azure Firewall には Standard、Premium、Basic の3つの SKU が用意されています。

  • Azure Firewall Standard

    Azure Firewall Standard は標準的な機能を持つファイアウォールで、ユーザーが設定した規則に基づく L3-L7 レベルのフィルタリングに加えて、Microsoft のサイバーセキュリティ部門から直接提供された脅威インテリジェンスに基づくフィルタリングを提供します。
    脅威インテリジェンスベースのフィルタリングにより、既知の悪意のある IP アドレスやドメインとの間のトラフィックに対する警告や拒否が行えます。これについての情報は、新たに出現した攻撃から保護するためにリアルタイムで更新されます。
    30Gbps までのスループットに対応できるよう、自動的にスケールできます。

  • Azure Firewall Premium

    Azure Firewall Standard の機能に加えて、以下のような機能が追加されます。

    ・シグネチャベースの IDPS(Intrusion Detection and Prevention System、ネットワークへの侵入の検知と保護)機能
    ・TLS インスペクション(独自の証明書を利用して TSL 暗号化された通信の内容を解析)
    ・URL フィルタリング(Standard の FQDN に加えて URL 全体と追加のパス - www.contoso.com/a/c の /a/c の部分 - まで含めたフィルター規則)
    ・自動的なスケールは 100Gbps までのスループットに対応します。

  • Azure Firewall Basic

    ファイアウォールで処理するデータが多くない、小規模な組織向けの SKU です。他の SKU に比べて稼働時間当たりの料金が安く、処理データ量あたりの料金が高めに設定されています。
    Azure Firewall Standard の機能に比べて以下の制限があります。

    ・脅威インテリジェンスはアラートのみの動作(ブロックは行えない)
    ・Web コンテンツフィルタリング(Web サイトのカテゴリーによるフィルタリング)が行えない
    ・自動的なスケールは 250Mbps までのスループットに対応

    詳細な比較は以下の表も参考にしてください。

Azure Firewall の構成

Azure Firewall は仮想ネットワーク内に専用のサブネット( Azure Firewall Subnet )に設置し、保護の対象となるワークロードを実行する仮想マシンは Azure Firewall Subnet を経由して他のネットワークと通信するように構成します。
Azure Firewall Subnet はワークロードを実行する仮想マシンと同じ仮想ネットワーク内に設置できますし、別の仮想ネットワーク(Firewall 専用の仮想ネットワーク)に設置してハブアンドスポークの構成とすることもできます。

  • ワークロードと同じ仮想ネットワークの場合
  • ハブアンドスポーク構成の場合

参考情報

Azure Firewall についての詳しい情報は、以下を参照してください。

Azure Firewall の料金についての詳しい情報は、以下を参照してください。

Azure Firewall を作成する方法については、以下を参照してください。

その他のネットワークセキュリティ機能

ネットワークセキュリティに役立つ Azure のサービスはネットワークセキュリティグループと Azure Firewall 以外にもいくつか用意されています。それらについて簡単に紹介します。

Azure NAT Gateway

Azure 仮想ネットワークとインターネットの通信で利用できる、フルマネージドな NAT ゲートウェイサービスです。
Azure NAT Gateway を使用すると、プライベート サブネット内のすべての仮想マシンはプライベート IP アドレスのみ(パブリック IP なし)でインターネットにアウトバウンド接続できます。インターネットからの未承諾のインバウンド接続は、NAT Gatewayでブロックされます。

Azure NAT Gateway についての詳しい情報は、以下を参照してください。

サードパーティ製の次世代ファイアウォール(NGN)

Azure 仮想ネットワークにはサードパーティ製のセキュリティアプライアンスを設置できます。
提供されている仮想セキュリティアプライアンスには次世代ファイアウォール製品も多く揃っています。
Palo Alt、Fortinet、Cisco、F5、Sophos、Barracuda などオンプレミスのネットワークセキュリティでメジャーなベンダーの製品が提供されていますので、すでにオンプレミスネットワークで利用している製品と同じものを Azure で利用することも可能です。
提供されている製品は、以下のリンクから確認できます。

まとめ

Azure の仮想ネットワークや仮想ネットワーク内の仮想マシンのネットワークセキュリティを保護する機能としては、ネットワークセキュリティグループと Azure Firewall が代表的です。どちらもファイアウォールとして機能しますが、動作のレイヤーが異なるので、確保すべきセキュリティの要件に応じて選択して利用してください。また Azure NAT Gateway やサードパーティ製の次世代ファイアウォール製品を利用することもできます。
セキュリティに対する要件はさまざまですが、Azure では多くの機能やサービスが提供されていますので、要件を満たすものを見つけることができるでしょう。
Azure で利用するセキュリティ機能の選定・選択や構成についてのご相談は、当社担当営業までご連絡ください。
またこれから Azure の利用を開始してセキュリティの強化を図りたいというお客様も、ぜひ当社担当営業までご相談ください。

マルチクラウドの記事