Az - Azure Network
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure内のネットワークは、そのクラウドコンピューティングプラットフォームの不可欠な部分として機能し、さまざまなAzureサービスとリソース間の接続と通信を可能にします。Azureのネットワークアーキテクチャは、高度にスケーラブルで、安全かつカスタマイズ可能に設計されています。
Azureの中心には、ユーザーがAzureクラウド内に孤立した ネットワークを作成できる**仮想ネットワーク(VNet)**があります。これらのVNet内では、仮想マシン、アプリケーション、データベースなどのリソースを安全にホストおよび管理できます。Azureのネットワーキングは、クラウド内の通信(Azureサービス間)と外部ネットワークおよびインターネットへの接続の両方をサポートしています。
セキュリティはAzureネットワーキングの重要な側面であり、データ保護、アクセス管理、コンプライアンス確保のためのさまざまなツールとサービスが利用可能です。これらのセキュリティ対策には、ファイアウォール、ネットワークセキュリティグループ、および暗号化機能が含まれ、トラフィックとアクセスに対する高い制御レベルを提供します。
全体として、Azureのネットワーキング機能は柔軟性を提供するように設計されており、ユーザーが特定のアプリケーションやワークロードのニーズに合ったネットワーク環境を作成しながら、セキュリティと信頼性に強い重点を置いています。
AzureのVNetは、基本的にクラウド内の自分のネットワークの表現です。これは、あなたのサブスクリプションに専用のAzureクラウドの論理的な隔離です。VNetを使用すると、Azure内で仮想プライベートネットワーク(VPN)をプロビジョニングおよび管理でき、仮想マシン(VM)、データベース、アプリケーションサービスなど、複数の種類のAzureリソースをホストおよび管理できます。
VNetは、IPアドレス範囲、サブネットの作成、ルートテーブル、ネットワークゲートウェイなど、ネットワーク設定に対する完全な制御を提供します。
サブネットは、あなたのVNet内のIPアドレスの範囲です。組織とセキュリティのために、VNetを複数のサブネットに分割できます。VNet内の各サブネットは、ネットワークおよびアプリケーションアーキテクチャに従ってリソースを隔離し、グループ化するために使用できます。
さらに、サブネットを使用すると、VNetを1つ以上のサブネットワークにセグメント化でき、リソースが使用できるIPアドレスの範囲を提供します。
例えば、MyVNet
という名前のVNetがあり、IPアドレス範囲が10.0.0.0/16
であるとします。このVNet内に、ウェブサーバーをホストするために、IPアドレス範囲が10.0.0.0/24
のSubnet-1
というサブネットを作成できます。別のサブネット、Subnet-2
は、10.0.1.0/24
の範囲でデータベースサーバー用に使用できます。このセグメンテーションにより、ネットワーク内での効率的な管理とセキュリティ制御が可能になります。
Azureアカウント内のすべてのVNetとサブネットをリストするには、Azureコマンドラインインターフェース(CLI)を使用できます。手順は次のとおりです:
Azureにおいて、ネットワーク セキュリティ グループ (NSG)は、Azure仮想ネットワーク (VNet) 内のAzureリソースへのおよびからのネットワークトラフィックをフィルタリングする主な機能を果たします。これは、ネットワークトラフィックの流れを詳細に指示するセキュリティ ルールのセットを含んでいます。
NSGの主な側面は以下の通りです:
トラフィック制御: 各NSGには、さまざまなAzureリソースに関連する受信および送信ネットワークトラフィックを許可または阻止するのに重要なルールが含まれています。
ルールの構成要素: NSG内のルールは非常に具体的で、ソース/宛先IPアドレス、ポート、プロトコルなどの基準に基づいてトラフィックをフィルタリングします。この具体性により、ネットワークトラフィックの詳細な管理が可能になります。
セキュリティの強化: 認可されたトラフィックのみがAzureリソースに出入りできるようにすることで、NSGはネットワークインフラストラクチャのセキュリティ姿勢を強化する重要な役割を果たします。
MyNSG
という名前のNSGが、VNet内のサブネットまたは特定の仮想マシンに適用されていると想像してください。次のようなルールを作成できます:
任意のソースからウェブサーバーへのHTTPトラフィック (ポート80) を許可する受信ルール。
特定の宛先IPアドレス範囲へのSQLトラフィック (ポート1433) のみを許可する送信ルール。
Azure Firewallは、あなたのAzure Virtual Networkリソースを保護する管理されたクラウドベースのネットワークセキュリティサービスです。これは、組み込みの高可用性とスケーラビリティ機能を備えた完全なステートフルファイアウォールサービスです。
Azure Firewallは、NSGよりもより高度な機能を提供し、アプリケーションレベルのフィルタリング、ネットワークレベルのフィルタリング、脅威インテリジェンスに基づくフィルタリング、ログおよび分析のためのAzure Monitorとの統合を含みます。 それは、アウトバウンド、インバウンド、スパーク間、VPN、およびExpressRouteトラフィックをフィルタリングできます。ファイアウォールルールは、FQDN(完全修飾ドメイン名)、IPアドレス、およびポートに基づいて作成できます。
スコープ:
NSG: サブネットまたはネットワークインターフェースレベルで機能します。ネットワークインターフェース(NIC)、VM、またはサブネットからのインバウンドおよびアウトバウンドトラフィックの基本的なフィルタリングを提供することを目的としています。
Azure Firewall: VNetレベルで動作し、より広範な保護のスコープを提供します。あなたの仮想ネットワークリソースを保護し、VNetの出入りするトラフィックを管理するように設計されています。
機能:
NSG: IPアドレス、ポート、およびプロトコルに基づく基本的なフィルタリング機能を提供します。アプリケーションレベルの検査や脅威インテリジェンスのような高度な機能はサポートしていません。
Azure Firewall: アプリケーションレベル(レイヤー7)のトラフィックフィルタリング、脅威インテリジェンスに基づくフィルタリング、ネットワークトラフィックフィルタリングなどの高度な機能を提供します。また、複数のパブリックIPアドレスもサポートしています。
ユースケース:
NSG: 基本的なネットワークレベルのトラフィックフィルタリングに最適です。
Azure Firewall: アプリケーションレベルの制御、ログ記録、および脅威インテリジェンスが必要なより複雑なフィルタリングシナリオに適しています。
管理と監視:
NSG: 基本的なログ記録とAzure Monitorとの統合を提供します。
Azure Firewall: Azure Monitorを通じて高度なログ記録と分析機能を提供し、トラフィックの性質とパターンを理解するために不可欠です。
Azureのネットワーク仮想アプライアンス (NVA) は、仮想ネットワーク内でネットワーク機能を実行する仮想アプライアンスです。NVAは通常、Azureでネイティブに利用できないネットワーク機能や、より多くのカスタマイズが必要な場合に使用されます。基本的には、ネットワークアプリケーションやサービスを実行するVMです。例えば、ファイアウォール、WAN最適化装置、またはロードバランサーなどです。
NVAは、複雑なルーティング、セキュリティ、およびネットワークトラフィック管理タスクに使用されます。多くのサードパーティベンダーがAzure環境への統合のために準備されたアプライアンスを提供するAzure Marketplaceからデプロイできます。
組織は、AzureにNVAをデプロイしてカスタムファイアウォールソリューションを作成できます。このNVAは、サードパーティのファイアウォールソフトウェアを実行し、侵入検知、パケット検査、またはVPN接続などの高度な機能を提供することができます。NVAは、通過するトラフィックを検査およびフィルタリングするように構成でき、組織のポリシーに従った強化されたセキュリティ対策が講じられます。
Azure ルートテーブルは、Microsoft Azure内の機能であり、Azure 仮想ネットワーク (VNet) 内のネットワークトラフィックのルーティングを制御することを可能にします。基本的に、これらはパケットがVNet内のサブネット間、VNet間、または外部ネットワークへの転送方法を定義します。各ルートテーブルには、パケットが宛先IPアドレスに基づいてどのようにルーティングされるべきかを指定するルールのセット、すなわちルートが含まれています。
Azureのユーザー定義ルート (UDR)は、Azure ルートテーブル内で作成するカスタムルートであり、Azure 仮想ネットワーク (VNet) 内および間のネットワークトラフィックの流れを制御し、外部接続に対しても適用されます。UDRは、Azureのデフォルトのルーティング決定をオーバーライドし、特定の要件に応じてネットワークトラフィックを指示する柔軟性を提供します。
これらのルートは、トラフィックを仮想アプライアンス経由でルーティングする必要があるシナリオ、セキュリティまたはポリシーコンプライアンスのために特定の経路を強制する場合、またはオンプレミスネットワークと統合する場合に特に便利です。
例えば、VNet内のサブネット間のトラフィックを検査するためにネットワーク仮想アプライアンス (NVA) を展開したとします。あるサブネットから別のサブネットへのすべてのトラフィックがNVAを経由するように指示するUDRを作成できます。このUDRは、トラフィックが宛先に到達する前にNVAがセキュリティ目的でトラフィックを検査することを保証します。
Azure Private Linkは、Azureサービスへのプライベートアクセスを可能にするAzureのサービスであり、Azure仮想ネットワーク(VNet)とサービス間のトラフィックが完全にMicrosoftのAzureバックボーンネットワーク内を移動することを保証します。これにより、サービスがVNetに取り込まれます。この設定は、データをパブリックインターネットにさらさないことでセキュリティを強化します。
Private Linkは、Azure Storage、Azure SQL Database、Private Linkを介して共有されるカスタムサービスなど、さまざまなAzureサービスで使用できます。これは、自分のVNet内または異なるAzureサブスクリプションからサービスを消費するための安全な方法を提供します。
NSGはプライベートエンドポイントには適用されないため、プライベートリンクを含むサブネットにNSGを関連付けても効果はありません。
あなたがVNetから安全にアクセスしたいAzure SQL Databaseを持っているシナリオを考えてみてください。通常、これはパブリックインターネットを経由することを含むかもしれません。Private Linkを使用すると、VNet内にプライベートエンドポイントを作成し、Azure SQL Databaseサービスに直接接続できます。このエンドポイントにより、データベースは自分のVNetの一部であるかのように見え、プライベートIPアドレスを介してアクセスできるため、安全でプライベートなアクセスが保証されます。
Azure サービス エンドポイントは、仮想ネットワークのプライベートアドレス空間と VNet のアイデンティティを、直接接続を介して Azure サービスに拡張します。サービス エンドポイントを有効にすることで、VNet 内のリソースが Azure のバックボーン ネットワークを使用して Azure サービス(Azure Storage や Azure SQL Database など)に安全に接続できるようになります。これにより、VNet から Azure サービスへのトラフィックが Azure ネットワーク内に留まるため、より安全で信頼性の高い経路が提供されます。
たとえば、Azure Storage アカウントはデフォルトでパブリック インターネット経由でアクセス可能です。VNet 内で Azure Storage のサービス エンドポイントを有効にすることで、VNet からのトラフィックのみがストレージ アカウントにアクセスできるようにすることができます。ストレージ アカウントのファイアウォールは、その後、VNet からのトラフィックのみを受け入れるように構成できます。
Microsoftは、docsでプライベートリンクの使用を推奨しています:\
サービスエンドポイント:
VNetからAzureサービスへのトラフィックは、Microsoft Azureバックボーンネットワークを経由し、公共のインターネットをバイパスします。
エンドポイントはAzureサービスへの直接接続であり、VNet内のサービスにプライベートIPを提供しません。
サービス自体は、サービスファイアウォールを設定してそのようなトラフィックをブロックしない限り、VNetの外部からその公共エンドポイントを介してアクセス可能です。
サブネットとAzureサービスの間には一対一の関係があります。
プライベートリンクよりもコストが低いです。
プライベートリンク:
プライベートリンクは、VNet内のプライベートIPアドレスを持つネットワークインターフェースであるプライベートエンドポイントを介してAzureサービスをVNetにマッピングします。
AzureサービスはこのプライベートIPアドレスを使用してアクセスされ、ネットワークの一部であるかのように見えます。
プライベートリンクを介して接続されたサービスは、VNetまたは接続されたネットワークからのみアクセス可能であり、サービスへの公共のインターネットアクセスはありません。
AzureサービスやAzureにホストされている自分のサービスへの安全な接続を可能にし、他者が共有するサービスへの接続も提供します。
サービスエンドポイントでのサブネットレベルの広範なアクセス制御に対して、VNet内のプライベートエンドポイントを介してより詳細なアクセス制御を提供します。
要約すると、サービスエンドポイントとプライベートリンクの両方がAzureサービスへの安全な接続を提供しますが、プライベートリンクはサービスが公共のインターネットにさらされることなくプライベートにアクセスされることを保証することにより、より高いレベルの隔離とセキュリティを提供します。一方、サービスエンドポイントは、VNet内にプライベートIPを必要とせず、Azureサービスへのシンプルで安全なアクセスが必要な一般的なケースに対して設定が容易です。
Azure Front Doorは、グローバルなウェブアプリケーションの迅速な配信のためのスケーラブルで安全なエントリーポイントです。これは、グローバルな負荷分散、サイト加速、SSLオフロード、Webアプリケーションファイアウォール(WAF)機能など、さまざまなサービスを単一のサービスに統合しています。Azure Front Doorは、ユーザーに最も近いエッジロケーションに基づいてインテリジェントなルーティングを提供し、最適なパフォーマンスと信頼性を確保します。さらに、URLベースのルーティング、複数サイトホスティング、セッションアフィニティ、アプリケーション層のセキュリティを提供します。
Azure Front Door WAFは、バックエンドコードを変更することなくウェブアプリケーションをウェブベースの攻撃から保護するように設計されています。SQLインジェクション、クロスサイトスクリプティング、その他の一般的な攻撃に対する脅威から保護するためのカスタムルールと管理されたルールセットを含んでいます。
世界中にユーザーがいるグローバルに分散したアプリケーションがあると想像してください。Azure Front Doorを使用して、ユーザーのリクエストをアプリケーションをホストしている最寄りの地域データセンターにルーティングすることで、レイテンシを減少させ、ユーザーエクスペリエンスを向上させ、WAF機能でウェブ攻撃から防御します。特定の地域でダウンタイムが発生した場合、Azure Front Doorは自動的に次の最適な場所にトラフィックを再ルーティングし、高可用性を確保します。
Azure Application Gateway は、ウェブトラフィックのロードバランサーであり、ウェブアプリケーションへのトラフィックを管理することを可能にします。これは、アプリケーションデリバリーコントローラー (ADC) としてのサービスで、レイヤー7のロードバランシング、SSLターミネーション、ウェブアプリケーションファイアウォール (WAF) 機能を提供します。主な機能には、URLベースのルーティング、クッキーに基づくセッションアフィニティ、およびセキュアソケットレイヤー (SSL) オフロードが含まれ、グローバルルーティングやパスベースのルーティングのような複雑なロードバランシング機能を必要とするアプリケーションにとって重要です。
ユーザーアカウントや支払い処理など、異なる機能のための複数のサブドメインを含むeコマースウェブサイトがあるシナリオを考えてみてください。Azure Application Gateway は、URLパスに基づいて適切なウェブサーバーにトラフィックをルーティングできます。たとえば、example.com/accounts
へのトラフィックはユーザーアカウントサービスに、example.com/pay
へのトラフィックは支払い処理サービスに向けられる可能性があります。
そして、WAF機能を使用してウェブサイトを攻撃から保護します。
VNet Peeringは、Azureのネットワーキング機能であり、異なる仮想ネットワーク(VNet)を直接かつシームレスに接続することを可能にします。VNetピアリングを通じて、1つのVNet内のリソースは、まるで同じネットワークにいるかのように、別のVNet内のリソースとプライベートIPアドレスを使用して通信できます。 VNetピアリングは、オンプレミスネットワークとも使用できます。サイト間VPNまたはAzure ExpressRouteを設定することで実現します。
Azure Hub and Spokeは、Azureでネットワークトラフィックを管理および整理するために使用されるネットワークトポロジーです。「ハブ」は、異なる「スポーク」間のトラフィックを制御しルーティングする中央ポイントです。ハブには通常、ネットワーク仮想アプライアンス(NVA)、Azure VPN Gateway、Azure Firewall、またはAzure Bastionなどの共有サービスが含まれています。「スポーク」は、ワークロードをホストし、VNetピアリングを使用してハブに接続するVNetです。これにより、ハブ内の共有サービスを活用できます。このモデルは、クリーンなネットワークレイアウトを促進し、異なるVNetにまたがる複数のワークロードが使用できる共通サービスを集中化することで複雑さを軽減します。
AzureではVNETピアリングは非推移的です。つまり、スポーク1がスポーク2に接続され、スポーク2がスポーク3に接続されている場合、スポーク1はスポーク3と直接通信できません。
営業、HR、開発などの別々の部門を持つ会社を想像してください。それぞれが独自のVNet(スポーク)を持っています。これらのVNetは、中央データベース、ファイアウォール、インターネットゲートウェイなどの共有リソースへのアクセスを必要とします。これらはすべて別のVNet(ハブ)にあります。ハブとスポークモデルを使用することで、各部門はハブVNetを介して共有リソースに安全に接続でき、これらのリソースをパブリックインターネットにさらすことなく、複雑なネットワーク構造を作成することなく接続できます。
Azureのサイト間VPNは、オンプレミスネットワークをAzure仮想ネットワーク(VNet)に接続することを可能にし、Azure内のVMなどのリソースがローカルネットワーク上にあるかのように表示されます。この接続は、2つのネットワーク間のトラフィックを暗号化するVPNゲートウェイを通じて確立されます。
ニューヨークに本社を置く企業は、Azure内のVNetに安全に接続する必要があるオンプレミスデータセンターを持っています。ここでは仮想化されたワークロードがホストされています。**サイト間VPNを設定することで、企業はオンプレミスサーバーとAzure VM間の暗号化された接続を確保でき、両方の環境でリソースに安全にアクセスできるようになります。**これにより、リソースは同じローカルネットワークにあるかのように扱われます。
Azure ExpressRouteは、オンプレミスのインフラストラクチャとAzureデータセンター間のプライベートで専用の高速接続を提供するサービスです。この接続は接続プロバイダーを通じて行われ、公共のインターネットをバイパスし、通常のインターネット接続よりも信頼性が高く、速度が速く、レイテンシが低く、セキュリティが高いです。
多国籍企業は、大量のデータと高スループットの必要性から、Azureサービスへの一貫した信頼性のある接続を必要としています。この企業は、オンプレミスのデータセンターをAzureに直接接続するためにAzure ExpressRouteを選択し、プライバシーと速度を向上させながら、日次バックアップやリアルタイムデータ分析などの大規模なデータ転送を容易にします。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)