Slide 1

Slide 1 text

Azure PaaS とのよりセキュアな接続 - 初級編 VNet サービスエンドポイント、Private Link、VNet 統合 株式会社 pnop / Cloudlive 株式会社 浅見 城輝 2020/02/12 @Azure のセキュリティ勉強会と・クラフトビール #01

Slide 2

Slide 2 text

© 2020 pnop © 2011 Microsoft Corporation All Rights Reserved. About me kuniteru.asami Find me Database Azure 2012~ Microsoft Azure

Slide 3

Slide 3 text

© 2020 pnop はじめに Azure の PaaS サービスは、その多くがインターネットとの接続を担う パブリック エンドポイントを持っています。 しかし、インターネットにさらされているエンドポイントでの通信を 許容することなく、特定の Azure VNet あるいは、VPN や ExpressRoute の先のネットワークといった、自身が管理しているネットワークとの み通信をしたいというセキュリティ要件があります。 ここでは、それを実現する Azure の機能を紹介します。 ※ 2020/02/12 時点の情報がベースとなります ※ Preview 機能もありますが Preview であることは明記していません

Slide 4

Slide 4 text

© 2020 pnop データセンター 通信要件イメージ 本社 運用監視センター subnet 他者 VNet Azure VPN subnet1 自己所有 VNet subnet2

Slide 5

Slide 5 text

© 2020 pnop Agenda Azure PaaS での受信 Azure App Service から Azure VNet への送信 Azure App Service から Azure PaaS への通信 ExpressRoute, Azure VPN Gateway を経由した 外部ネットワークから Azure PaaS への通信

Slide 6

Slide 6 text

© 2020 pnop Azure PaaS での受信

Slide 7

Slide 7 text

© 2020 pnop App Service や多くの Azure PaaS は通常、VNet には所属していない。 そのため通常はインターネットとの通信となるが、 “VNet サービスエンドポイント” や “Private Link” を利用することで、 VNet からの通信に限定することが可能となる Azure PaaS への通信経路 サービス エンドポイント VNet Private Link + Private Endpoint VNet インターネット Azure ExpressRoute (Microsoft Peering) Azure

Slide 8

Slide 8 text

© 2020 pnop サービス エンドポイント VNet VNet サービス エンドポイント VNet のサブネットにサービス エンドポイントを作成することで、 Azure PaaS はそのサブネットからの接続を許可、それ以外を拒否する設定が可能になる すなわち、Azure PaaS への接続元となるネットワークを 特定の VNet サブネットに限定可能となる VNet と Azure PaaS 間のトラフィックは Azure バックボーンのみ VNet 内のリソースにとって Azure PaaS の IP アドレスはグローバル IP になる PaaS にとって接続元の IP アドレスは VNet 内の IP になる サブネットに割り当てたルート テーブルよりも優先される 対応する Azure PaaS App Service Data Lake Storage Gen 1 Storage Cosmos DB Azure DB for MariaDB Azure DB for MySQL Azure DB for PostgreSQL SQL Database Synapse Analytics Key Vault Container Registry Service Bus Event Hubs

Slide 9

Slide 9 text

© 2020 pnop サービス エンドポイント ポリシーをサブネットに割り当てることで、 そのサブネットからアクセスできる Azure PaaS を制限する これを設定しないと、 Azure Firewall などでインターネットへの OutBound を遮断しているにもかかわらず、 どの Azure PaaS にもアクセスすることができてしまう 該当サブネット内のリソースにアクセスできる 悪意のあるユーザーがデータを想定外のAzure PaaS に 持ち出すことを防ぐ 現時点(2020/02/12)では、Azure Storage のみが対象 サービス エンドポイント サービス エンドポイント ポリシー VNet

Slide 10

Slide 10 text

© 2020 pnop Azure Private Link Azure Private Link を使用すると、VNet 内のプライベート エンドポイント経由で Azure PaaS にアクセスできる VNet と Azure PaaS 間のトラフィックは Azure バックボーンのみ VNet 内のリソースにとって PaaS の IP アドレスはプライベート エンドポイントに 割り当てられた IP になる PaaS にとって接続元の IP アドレスは VNet 内の IP になる 現時点(2020/02/12)では、NSG や IP アドレスで接続元を制限することはできない 対応する Azure PaaS Storage SQL Database Synapse Analytics Azure DB for PostgreSQL Azure DB for MySQL Azure DB for MariaDB Cosmos DB Data Lake Storage Gen2 Key Vault Private Link + Private Endpoint VNet Private Endpoint

Slide 11

Slide 11 text

© 2020 pnop Customer#A HQ Customer#B subnet1 subnet2 vnet1 Azure 22.22.22.22 11.11.11.11 99.99.99.99 アクセス制限(例) vnet2 10.2.0.0/24 10.1.0.0/24 VNet サービス エンドポイント 10.0.0.0/24 優先度 名前 ソース アクション 100 Allow HQ 11.11.11.11/32 Allow 110 Allow Customer#A 22.22.22.22/32 Allow 200 Allow vnet1/subnet1 vnet1/subnet1 Allow 2147483647 Deny all Any Deny 優先度 名前 ソース アクション 100 DenyFrom10.2.0.0 10.2.0.0/24 Deny 65000 AllowVnetInBound VirtualNetwork Allow 65500 DenyAllInBound Any Deny ■ データベースに対するアクセス制限 ■ vnet2 10.0.0.0/24 NSG 受信規則 効かない

Slide 12

Slide 12 text

© 2020 pnop Azure App Service から Azure VNet への送信

Slide 13

Slide 13 text

© 2020 pnop Azure App Service から Azure VNet への通信経路 App Service は通常、VNet には属していない(ASE を除く)。 そのため、App Service から Azure VNet 内の Virtual Machine などの リソースにアクセスしたい場合は、その道を作る必要がある。 インターネット VNet Public IP App Service リージョン VNet 統合 Delegated Subnet VNet App Service VNet 統合 VPN Gateway VNet App Service VPN

Slide 14

Slide 14 text

© 2020 pnop VNet 統合 VNet に設置された VPN Gateway に対して App Service から Point to Site VPN 接続をすることにより VNet 内のリソースに アクセスする App Service と VNet が異なるリージョンに あっても通信できる DNS は VNet のものが利用される ただし、Private DNS Zone は参照できない Windows の App Service のみ対応 VNet 統合 VPN Gateway VNet App Service VPN

Slide 15

Slide 15 text

© 2020 pnop リージョン VNet 統合 App Service が VNet 内のサブネットに足を延ばし、そこから VNet 内の リソースにアクセスするイメージ App Service と同じリージョンの VNet と通信する DNS は VNet のものが利用される ただし、Private DNS Zone は参照できない VNet 内のリソースにとって接続元となる App Service の IP アドレスは 委任された サブネット内の IP になる サービス エンドポイントの先の PaaS や、 ExpressRoute の先のネットワークに アクセス可能 リージョン VNet 統合 Delegated Subnet VNet App Service

Slide 16

Slide 16 text

© 2020 pnop Azure App Service から Azure PaaS への通信

Slide 17

Slide 17 text

© 2020 pnop VNet には所属していない App Service と Azure PaaS 間は 通常はインターネットでの通信となるが、(リージョン) VNet 統合 と Azure PaaS への VNet サービス エンドポイントか Private Link を 組み合わせることで、通信経路を VNet に制限することができる。 Azure App Service から Azure PaaS への通信 (リージョン) VNet 統合 + Private Link インターネット リージョン VNet 統合 + サービス エンドポイント VNet 11.11.11.11 22.22.22.22 VNet

Slide 18

Slide 18 text

© 2020 pnop ExpressRoute, Azure VPN Gateway を経由した 外部ネットワークから Azure PaaS への通信

Slide 19

Slide 19 text

© 2020 pnop オンプレミス から Azure PaaS への通信 オンプレミスのネットワークから ExpressRoute や Azure VPN を通して Azure PaaS にアクセスするには、”Express Route (Microsoft Peering)” か、 “Private Link と ExpressRoute (Private Peering) や Azure VPN” を利用する。 VNet サービス エンドポイントは利用できない インターネット Azure ExpressRoute (Microsoft Peering) Azure ExpressRoute (Private Peering) or VPN Gateway + Private Link VNet VPN Azure

Slide 20

Slide 20 text

© 2020 pnop まとめ プライベート エンドポイントの NSG 早よ来い