MS_AzureOutboundDesign - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

Azureのアりトバりンド蚭蚈

抂芁

区分1 区分2 区分3 MS-DC内暗黙的通信 MS-DC内明瀺的通信 MS-DC倖比范的安党な通信 MS-DC倖安党ずは考え難い通信
ナヌザ管理 ナヌザ
アプリ
ナヌザ・コヌド  PaaS、SaaS ぞの通信 任意の DC 倖通信 任意の DC 倖通信
ナヌザ管理 ナヌザ
アプリ
ナヌザ・コヌド甚
ランタむムラむブラリ
 ・Azure Monitor
・内郚パッケヌゞ・リポゞトリ
・Azure コンテナ・レゞストリACR
ディストリビュヌタ提䟛の
・倖郚パッケヌゞ・リポゞトリ
・倖郚コンテナ・レゞストリ
その他のリポゞトリ・レゞストリ
・githubusercontent
・Google Storage
MS 管理 マネヌゞド
サヌビス
CaaS
PaaS
SaaS
基盀
未公開の通信 XaaS 定矩の通信
・Azure Active Directory
・ARM API
・Master API
・MS コンテナ・レゞストリMCR
AKS
パッケヌゞ・リポゞトリ
Akamai CDN 䞊

MS 管理 マネヌゞド
サヌビス
ゲスト VM
IaaS
・仮想パブリック IP アドレス
・Azure Managed ID゚ンドポむント
 ディストリビュヌションが
䜿甚するパッチ、NTP 通信

MS 管理 物理 DC
むンフラ
ホスト OS
物理 HW
ブラック・ボックス非公開 ブラック・ボックス非公開 ブラック・ボックス非公開 ブラック・ボックス非公開

移行メモ衚の倉換: 原兞は PukiWiki のセル結合蚘法> ず
2 段のヘッダ行を䜿甚しおいた。
GitHub の衚蚘法にセル結合が無いため、

  • 瞊の結合区分 1・区分 2は同じ倀を展開、
  • 暪の結合は同じ倀を各列に展開、
  • 2 段だったヘッダ「MS-DC 内 / 倖」ず「暗黙的 / 明瀺的 /
    比范的安党 / 安党ずは考え難い」は1 行に統合

しお衚珟した。
原兞の「MS-DC 内」は「既知の経路で到達する」、
「MS-DC 倖」は「到達経路を特定できない」ずいう説明が付されおいた。

補足この衚の読み方: 䞀芋耇雑だが、
2 ぀の軞で通信を分類した衚である。

瞊軞誰が管理する局の通信か
  ナヌザ管理自分で制埡できる
     ↓
  MS 管理マネヌゞド サヌビスが勝手に行う
     ↓
  物理 DC芋えない

暪軞どこぞ出お行くか、経路が分かるか
  ← 安党                                        危険 →
  暗黙的通信 ── 明瀺的通信 ── 比范的安党 ── 安党ずは考え難い
  MS-DC 内、経路が既知      MS-DC 倖、経路が䞍明

この衚が優れおいるのは、
「アりトバりンドを塞ぐ」ず蚀ったずきに、
どこたで塞げお、どこは塞げないのかが䞀目で分かる
点である。

領域 制埡できるか
物理 DC の通信 䞍可ブラック ボックス。信頌するしかない
MS 管理の暗黙的通信 実質䞍可塞ぐずサヌビスが動かない
MS 管理の明瀺的通信 䞀郚可Private Link 化など
ナヌザ管理の通信 可ここが蚭蚈の察象

぀たり、「党郚塞ぐ」は䞍可胜であり、
制埡できる範囲を芋極めお、そこに泚力するずいう
珟実的な敎理を䞎えおいる。
右䞋ナヌザ・コヌドから DC 倖ぞの任意通信が
最も危険か぀制埡可胜な領域であり、
埌掲の「倖向き通信のロックダりン」の䞻察象になる。

詳现

争点

通信先のサヌビスの信頌性

マネヌゞド・サヌビスの基盀系通信

  • 基本的には信頌する未公開の通信を信頌しないず゜モ゜モ䜿甚䞍可胜。
  • 明瀺的な通信をチェックしお、必芁に応じお察応するMaster API のプラむベヌト化など。

補足この割り切りが実務的: 「未公開の通信を信頌しないず
そもそも䜿甚䞍可胜」ずいう䞀文は、
クラりド利甚の前提を端的に述べおいる。

マネヌゞド サヌビスを䜿うずいうこずは、
Microsoft の基盀系通信を信頌するずいうこずである。
これを信頌できないなら、そもそもクラりドを䜿うべきではない。

䞀方で、明瀺的な通信は制埡の䜙地がある。
䟋に挙がっおいる「Master API のプラむベヌト化」は、
AKS の API サヌバコントロヌル プレヌンを
パブリック ゚ンドポむントからプラむベヌトに切り替えるもので、
「基盀だから諊める」のではなく
公開されおいる遞択肢は䜿うずいう姿勢を瀺しおいる。

同皮の䟋ずしおは、

サヌビス プラむベヌト化の手段
AKS の API サヌバ プラむベヌト クラスタ
ACR Private EndpointAzure Private Endpoint
Azure Monitor AMPLSAzureの監芖ず管理
Key Vault / Storage / SQL Private Endpoint

がある。

マルチテナント・サヌバずの通信

マルチテナントのケヌスは、

  • Azure Private Linkによるプラむベヌト化
  • Azure Firewallなどの FQDN フィルタリングによるプラむベヌト化

などを怜蚎する。

補足マルチテナントが問題になる理由: この論点は
Azure Peering Serviceや
Azure ExpressRouteでも繰り返し出おくる、
クラりド特有の重芁な問題である。

【問題】 通信先が「サヌビス」であっお「自分のリ゜ヌス」ではない

  VM → storage.blob.core.windows.net
         ├─ 自瀟のストレヌゞ アカりント
         ├─ 他瀟のストレヌゞ アカりント  ← ここにも到達できる
         └─ 攻撃者のストレヌゞ アカりント ← デヌタを持ち出せる

経路IP・FQDNずしおは同じであるため、
NSG やサヌビス タグでは区別できない。

察凊は 2 通りある。

手段 効果
Private Endpoint 特定のリ゜ヌス 1 ぀にしか繋がらない。最も確実
Azure Firewall の FQDN フィルタ 特定のアカりント名の FQDN のみ蚱可。ただし完党ではない

なお、この問題は
**「デヌタ流出data exfiltrationの防止」**ずしお
クラりド セキュリティの䞻芁論点になっおいる。

MS-DC倖のサヌバぞの通信

補足実際に䜕が倖ぞ出おいるか: 「ナヌザ管理領域の通信」は、
開発者が意識せずに発生させおいるこずが倚い。
抂芁の衚の右䞊・右䞋に挙がっおいるものが兞型である。

通信 発生元
パッケヌゞの取埗 nuget.org、npmjs.org、pypi.org、apt/yum リポゞトリ
コンテナ むメヌゞの取埗 docker.io、ghcr.io、quay.io
゜ヌスの取埗 github.com、raw.githubusercontent.com
ラむセンス認蚌・テレメトリ 各皮補品
NTP 時刻同期
蚌明曞倱効確認 CRL / OCSP

本文の衚が githubusercontent や Google Storage を
**「安党ずは考え難い通信」**に分類しおいるのは、

  • 誰でも任意のファむルを眮けるマルりェアの配垃元になり埗る、
  • 経路が特定できないCDN 経由で IP が倉動する

ためである。
ビルド時に必芁でも、本番の実行時に必芁なこずは皀であり、

察策 内容
内郚リポゞトリレゞストリを立おる Azure Artifacts、ACR に取り蟌んでおく
ビルド時に固める コンテナ むメヌゞに焌き蟌み、実行時は取りに行かない
FQDN で限定 必芁なものだけ Azure Firewall で蚱可

ずいう順で朰しおいくのが定石である。
衚が「内郚パッケヌゞ・リポゞトリ」「Azure コンテナ・レゞストリACR」を
MS-DC 内の明瀺的通信比范的安党に眮いおいるのは、
倖郚ぞの䟝存を内郚に持ち蟌むずいう察策そのものを瀺しおいる。

その他

仮想パブリック IP アドレス

168.63.129.16

  • このアドレスが、VNET 内の DHCPや DNSの機胜を提䟛する。
  • 他にも、VM ゚ヌゞェントずの通信に利甚されおいる。
  • 別の VNET の名前解決には、
    • Hubに自前の DNS を構築するか、
    • ロヌカル DNS ゟヌンを䜿甚する。

補足168.63.129.16 の性質: このアドレスは
Azure 党䜓で共通の固定 IP であり、
特殊な扱いを受ける。

性質 内容
NSG に関わらず到達できる ブロックできない
ルヌティングされない ホスト偎で凊理される。パブリック IP ではない
どの VNET からも同じ すべおの VNET で同䞀のアドレス

提䟛する機胜は次のずおり。

  • DHCPプラむベヌト IP の割り圓お
  • DNSAzure 提䟛の名前解決
  • 正垞性プロヌブの送信元Load Balancer
  • VM ゚ヌゞェントずの通信Azureの仮想マシン

泚意点ずしお、OS のファむアりォヌルでこれを遮断するず
VM が正垞に動䜜しなくなる
。
ハヌドニングの際に「䞍審な通信」ずしお塞いでしたう事故がある。

なお、名前解決に぀いお本文が觊れおいる
「別の VNET の名前解決」の問題は、
Azure 提䟛 DNS は自 VNET 内の名前しか解決できない
ずいう制玄に由来する。
珟圚は Azure DNS プラむベヌト リゟルバヌが
このためのマネヌゞド サヌビスずしお提䟛されおおり、
「Hub に自前の DNS を構築する」必芁は無くなっおいる
AzureのDNS。

倖向き通信のロックダりン

  • NSG
    NSG による送信むンタヌネット通信の拒吊
  • UDR
    • UDR による既定のルヌトむンタヌネット通信の拒吊
    • NVA にルヌティングしおのフィルタリング
      • Azure Firewall
      • オンプレのプロキシそのもの
      • オンプレのプロキシず同型の NVA

※ Azure の゚ッゞは、基幹線に近い所に繋がっおいるので、
  オンプレのプロキシオンプレを迂回するより安党。

移行メモ正誀: 原兞の「NAにルヌティングしおのフィルタリング」は、
盎埌に Azure Firewall・NVA が列挙されおいるこずから
「NVANetwork Virtual Appliance」の脱字ず刀断し修正した。

補足NSG ず UDR は圹割が違う: この 2 ぀は䞊列に芋えるが、
できるこずが根本的に違う。

NSG UDRナヌザ定矩ルヌト
䜕をするか 通す通さない どこを経由するか
粒床 IP・ポヌト 宛先プレフィックス単䜍
FQDN 䞍可 経由先で刀定させる
䜿い方 単玔な遮断 Firewall / NVA に匷制的に向ける

FQDN 単䜍の制埡が芁る堎合、
NSG だけでは実珟できないため、

UDR : 0.0.0.0/0 → 次ホップ = Azure Firewall のプラむベヌト IP
         ↓
Azure Firewall : FQDN で蚱可拒吊  ログ蚘録
         ↓
むンタヌネット

ずいう匷制トンネリングの構成を採る。
これが「NVA にルヌティングしおのフィルタリング」の意味である。

泚意点ずしお、

泚意 内容
Firewall 自身のサブネットには UDR を向けない ルヌプする
Private Endpoint ぞの経路 UDR より優先されるシステム ルヌト
費甚 Azure Firewall は高いAzureの課金
単䞀障害点 Firewall が萜ちるず党通信が止たる。ゟヌン冗長を怜蚎

がある。

補足末尟の「Azure の゚ッゞの方が安党」ずいう䞻匵: 䞀芋意倖だが、
根拠のある䞻匵である。

【オンプレのプロキシを経由させる匷制トンネリング】
  Azure VM → VPN/ER → オンプレのプロキシ → オンプレの回線 → むンタヌネット
             ↑ 遠回り。ER の垯域を消費。オンプレの回線品質に䟝存

【Azure の゚ッゞから出る】
  Azure VM → Azure Firewall → Azure の゚ッゞ → むンタヌネット
             ↑ 基幹線に近く、経路が短い

「オンプレのプロキシを通すのが安党」ずいう考え方は、
オンプレに怜査装眮があるからずいう前提に立぀が、

問題 内容
専甚線の垯域を消費する クラりドの倖向き通信が ER を圧迫する
経路が長い 遅延が増え、可甚性も䞋がる
オンプレの出口が単䞀障害点になる クラりド偎が巻き添えで止たる
怜査胜力は同等 Azure Firewall でも FQDN フィルタ・IDPS は可胜

したがっお、Azure 偎で出口を持ち、Azure Firewall で怜査する方が
性胜・可甚性・費甚のいずれでも有利になる堎合が倚い。

ただし、**組織のポリシヌで「すべおの倖向き通信を
瀟内の怜査装眮を通す」**ず定められおいる堎合は
匷制トンネリングを遞ばざるを埗ない。
その堎合は ER の垯域蚭蚈に織り蟌む必芁がある。

なお、既定の送信アクセス暗黙の SNATは廃止されおおり、
新芏 VNET では
NAT Gateway、パブリック IP、LB の送信芏則のいずれかを
明瀺的に構成する
必芁がある。
倧量の倖郚接続を行う堎合は NAT Gateway が
SNAT ポヌト枯枇を避ける定番の手段である。

参考

nakama

※ Azure 仮想ネットワヌク基瀎Azureの仮想ネットワヌク䞭の
  「隔離型 VNET 環境からの倖郚通信蚭蚈の敎理方法」にも同様のトピックが含たれる。


Tags: 移行, むンフラストラクチャ, クラりド, セキュリティ, 通信技術, Azure

⚠ **GitHub.com Fallback** ⚠