SlideShare a Scribd company logo
1 of 57
Download to read offline
Azure Network Security Group (NSG)
はじめてのDeep Dive
2019/6/29
Interact 2019
Yoshimasa Katakura (@yo_ta_n)
#msinteract19 #DD02
自己紹介
片倉 義昌 (かたくら よしまさ)
(株)pnopで働いてます(2015~)
Azureコンサルティングとかしてます
元インフラエンジニア、プログラマ(C, ASM)
Microsoft MVP for Azure (2017~)
Copyright© 2019, Y.Katakura All Rights Reserved.
2
yoshimasa.katakura@yo_ta_n
はい次12345678910
https://qiita.com/yotan
https://zakki.nya-n.net
JAZUG のご紹介
Japan Azure User Group ( 略称 : じゃずゆーじー)
コミュニティ活動概要
Microsoft Azure を通じて、技術、交流、実ビジネスを楽しむ
“ちょっと興味がある=ゆるふわな方“ から “実ビジネスで使うんだよね” な
方まで大歓迎!ゆるふわコミュニティです。
Facebook グループ運営中 「JAZUG」で検索!
Twitter ハッシュタグ:#jazug
一緒に運営してくれるメンバーを募集中です。
コミュニティイベントの開催は「connpass」で告知しています
https://jazug.connpass.com/
Copyright© 2019, Y.Katakura All Rights Reserved.
3
ご注意
本スライドは2019年6月29日現在の情報を元に作成しています
Azureは日々の変化が激しく、今後どんどん機能追加、仕様変更が行われ
ており、内容が古くなる事が想定されます
Public CloudであるMicrosoft Azureの情報をベースとして記されています。
Azure Stackでも同様のアプローチが可能とは思いますが若干の差異はあ
るかもしれないです
お伝えする情報は基本的にはMicrosoft公式ドキュメントに記載のあるも
のばかりですが、本スライドの内容だけを鵜呑みにしてオシゴトで活用
するのは止めましょうね
https://docs.microsoft.com/ja-jp/azure/
Copyright© 2019, Y.Katakura All Rights Reserved.
4
基本的なお話
Azure IaaSとPaaSについて
Copyright© 2019, Y.Katakura All Rights Reserved.
5
まずはAzure IaaSとPaaSのおさらい
Copyright© 2019, Y.Katakura All Rights Reserved.
6
Office 365
Dynamics 365
Microsoft Azure
オンプレミス IaaS(仮想マシン) PaaS SaaS
アプリケーション
データ
ランタイム
ミドルウェア
OS
仮想化技術
サーバー
ストレージ
ネットワーク
仮想化技術
サーバー
ストレージ
ネットワーク
OS
データ
ランタイム
ミドルウェア
アプリケーション
お客様 マイクロソフト
お客様によるセキュリティ、運用管理の責任
IaaSの市民権について
PaaS推しをするAzureコンサルタントが増えています(自分とか)
「アプリケーション基盤の運用とか可用性を考えるの
メンドいですよね!」
「サーバレスとかマイクロサービス、コンテナも使えますよ!」
「IoT基盤だったら、IoT Hub, Stream Analytics, CosmosDB, Power BIの
鉄板構成でバッチリですよ!」
「Machine LearningもCognitiveも使えばAIも完璧!」
「クローズドな環境でApp Service使いたい?でしたら
Application Service Environmentですよ!」
……どれも間違いではないのですが。
Copyright© 2019, Y.Katakura All Rights Reserved.
7
やっぱりIaaS環境もとても大事
オンプレミスで動いているWindows, Linuxサーバをリフト&シフト
でクラウドに持っていきたい
(それでオンプレミスからは閉域接続したい)
業務アプリケーションがPaaS対応していないので、IaaSでアプリ
ケーションをインストールして利用したい
できればデータベースはクラウド移行したタイミングでフルマネー
ジドなPaaSを利用したい
(でも安全に接続したい)
……実際こういった相談もまだまだあります。
Copyright© 2019, Y.Katakura All Rights Reserved.
8
仮想マシンなんてどれも一緒
仮想マシン単独の機能であれば、Azureも他社クラウドも、オ
ンプレの仮想環境も大きな違いはありません
しかし仮想マシンを取り巻くネットワーク周りの、接続やセ
キュリティ設定は色々考慮が必要です
Azure Network Security Group(NSG)は最も基本的なネットワー
クのセキュリティ設定です
おまけに無料で利用可能です
Copyright© 2019, Y.Katakura All Rights Reserved.
9
IaaSの基本構成おさらい
• 仮想マシンは仮想ネットワーク内のサブネットに配置する(厳密にはNICが)
• 仮想マシンのNICは1つ以上配置可能
• 仮想マシンにはOSディスクの他にデータディスクが追加可能
• NICはパブリックIPアドレスを追加可能
• ロードバランサには内部ロードバランサとパブリックIPを持つ外部ロードバランサがある
Copyright© 2019, Y.Katakura All Rights Reserved.
10
(VM)
(OS Disk) (DATA Disk)
(NIC)(PIP)
(Load Balancer)
(192.168.1.4)
(192.168.1.10)
(192.168.1.11)
(192.168.0.4)
Network Security Group
基礎的なお話、具体的な適用方法
Copyright© 2019, Y.Katakura All Rights Reserved.
11
Network Security Group(NSG)って?
Virtual Network内外でL4レベルでの通信制御が行えるFirewall的な機能
【例】
TCP/80(HTTP), TCP/443(HTTPS)はインターネットからアクセス許可する
TCP/22(SSH), TCP/3389(RDP)は特定の拠点IPアドレスからのみアクセス可能にする
Copyright© 2019, Y.Katakura All Rights Reserved.
12
•HTTP, FTP, IRC, SSH, DNSL7:Application
•SSL, SSH, IMAP, FTP, MPEG, JPEGL6:Presentation
•API’s, Sockets, WinSockL5:Session
•TCP, UDPL4:Transport
•IP, ICMP, IPSec, IGMPL3:Network
•Ethernet, PPP, Switch, BridgeL2:Datalink
•HardwareL1:Physical
仮想ネットワーク
NSGの適用範囲
NSGはAzureのリソースの一つ
以下の箇所に適用可能
仮想ネットワーク内のサブネット
仮想マシンのNIC
ひとつのNSGを複数のサブネッ
ト、NICに適用可能
13
Copyright© 2019, Y.Katakura All Rights Reserved.
サブネット1
VM-1 VM-2
NSG-1
サブネット2
VM-3 VM-4
NSG-2
NSG-VM3
NSGに適用可能なルール
受信セキュリティ規則、送信セキュリティ規則がある
それぞれのセキュリティ規則の中に必要なルールを追加していく
各ルールには「優先度」があり、ユーザは100~4096の範囲が使用可能
デフォルトルールというものが規定で作成される(削除できない)
受信セキュリティ規則
• 65000:仮想ネットワークからの受信は全部OK
• 65001:Azure Load Balancerからの受信は全部OK
• 65500:全ての受信を拒否
送信セキュリティ規則
• 65000:仮想ネットワークへの送信は全部OK
• 65001:インターネットへの送信は全部OK
• 65500:全ての送信を拒否
14
Copyright© 2019, Y.Katakura All Rights Reserved.
NSGに設定するルールについて
ソース(送信元)
Any(全て)、IP Address(CIDR形式、複数記述可能)、
サービスタグ、Application Security Group名
ソースポート範囲
複数記述可能、5000-5100等の範囲指定も可能
通常指定しない(*にする)場合が多い
宛先(送信先)
Any(全て)、IP Address(CIDR形式、複数記述可能)、
サービスタグ、Application Security Group名
宛先ポート範囲
複数記述可能、5000-5100等の範囲指定も可能
プロトコル
Any, TCP, UDP
アクション
許可、拒否
優先度
100~4096の範囲で指定、値が小さい程高優先に
なる
名前
任意の名前、受信セキュリティ規則、送信セキュ
リティ規則、デフォルトルールの名前と重複して
はいけない
後から変更不可
15
Copyright© 2019, Y.Katakura All Rights Reserved.
NSGルールで指定可能なサービスタグ
VirtualNetwork
AzureLoadBalancer
Internet
AzureTrafficManager
AzureCloud / AzureCloud.[RegionName]
Storage / Storage.[RegionName]
Sql / Sql.[RegionName]
AzureCosmosDB / AzureCosmosDB.[RegionName]
AzureKeyVault / AzureKeyVault.[RegionName]
EventHub / EvnetHub.[RegionName]
ServiceBus / ServiceBus.[RegionName]
MicrosoftContainerRegistry / MicrosoftContainerRegistry.[RegionName]
AzureContainerRegistry / AzureContainerRegistry.[RegionName]
AppService / AppService.[RegionName]
AppServiceManagement / AppServiceManagement.[RegionName]
ApiManagement
AzureConnectors / AzureConnectors.[RegionName]
GatewayManager
AzureDataLake
AzureActiveDirectory
AzureMonitor
ServiceFabric
AzureMachineLearning
BatchNodeManagement
16
Copyright© 2019, Y.Katakura All Rights Reserved.
https://docs.microsoft.com/ja-jp/azure/virtual-network/security-overview
Azureデータセンター毎のIPアドレス
サービスタグ別
https://www.microsoft.com/en-
us/download/details.aspx?id=56519
データセンター別
https://www.microsoft.com/en-
us/download/details.aspx?id=41653
Check-AzureIpAddress
https://github.com/ShuheiUda/Check-AzureIpAddress
Copyright© 2019, Y.Katakura All Rights Reserved.
17
13.78.12.XXX is in Azure japaneast region.
13.78.12.XXX is in AzureCloud.japaneast service tags.
13.78.12.XXX is in AzureCloud service tags.
仮想ネットワーク
NSGのルール説明(1)
VM-1からVM-3にアクセスする
場合のNSG参照順序
NSG-1の送信セキュリティ規則
NSG-2の受信セキュリティ規則
NSG-VM3の受信セキュリティ規
則
18
Copyright© 2019, Y.Katakura All Rights Reserved.
サブネット1
VM-1 VM-2
NSG-1
サブネット2
VM-3 VM-4
NSG-2
NSG-VM3
仮想ネットワーク
NSGのルール説明(2)
VM-1からVM-2にアクセスする場
合のNSG参照順序
NSG-1の送信セキュリティ規則
NSG-1の受信セキュリティ規則
同一セグメント(サブネット)内の
サーバに対してもNSGが適用され
ていることに注意
(デフォルトのNSGルールで
VirtualNetwork間は全許可になって
いるだけなので誤解してしまう)
19
Copyright© 2019, Y.Katakura All Rights Reserved.
サブネット1
VM-1 VM-2
NSG-1
サブネット2
VM-3 VM-4
NSG-2
NSG-VM3
仮想ネットワーク
サブネット1
Web-1 Web-2
DB-1 DB-2
NSG
192.168.0.10 192.168.0.11
192.168.0.20 192.168.0.21
192.168.0.10と192.168.0.11はTCP/80,443を許可
192.168.0.20と192.168.0.21はTCP/1433を許可
Application Security Group(ASG)とは(1)
用途の異なる(疎通条件の異な
る)仮想マシンに対してIPアドレ
スやセグメントの指定をせずに
NSGのルールを簡素に書く手段
同一サブネットに複数の用途を
持つ仮想マシンが同居している
場合、IPアドレスをNSGに直接
記述するなど煩雑だった
20
Copyright© 2019, Y.Katakura All Rights Reserved.
仮想ネットワーク
Application Security Group(ASG)とは(2)
用途別のASGを各仮想マシンに
設定することで、NSGのルール
にはIPアドレスの記載が不要と
なり、直接ASGを指定すること
でアプリケーションごとの制限
が可能となる。
21
Copyright© 2019, Y.Katakura All Rights Reserved.
Web-1 Web-2
DB-1 DB-2
Web用ASG
NSG
Web用ASG
DB用ASG DB用ASG
Web用ASGはTCP/80,443を許可
DB用ASGはTCP/1433を許可
Application Security Group(ASG)適用手順
はじめにアプリケーションの種類毎にASGのリ
ソースを作る
例えばWebサーバだったら「Web-asg」、DB
サーバだったら「DB-asg」
仮想マシンに紐付いているNICに対して先に作成
したASGを設定する
NSGのルールでは「宛先」欄にASGを選択する
22
Copyright© 2019, Y.Katakura All Rights Reserved.
Virtual Network Integration
PaaSと統合するVirtual Networkのお話(NSG色少)
Copyright© 2019, Y.Katakura All Rights Reserved.
23
Service Endpoint
各種PaaS側のFirewall機能で特定のSubnetからの通信を許可させる
Storage Account、SQL Databaseなど、インターネット向けのエン
ドポイントを持っているPaaSの接続制限を行う機能(あまりNSGと
は関係ない)
VMから各PaaSへ接続するときのアクセス先(エンドポイント)のホス
ト名やURLは今までと一緒
ストレージアカウントだったら
https://storageaccount01.blob.core.windows.net/
SQLDBだったら
sqldb01.database.windows.net:1433
Copyright© 2019, Y.Katakura All Rights Reserved.
24
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-network-service-endpoints-overview
Service Endpoint対応サービス
General Availability(一般公開)
Azure Storage
Azure SQL Database, Data Warehouse
Azure Database for PostgreSQL, MySQL, MariaDB
Azure Cosmos DB
Azure Key Vault
Azure Service Bus
Azure Event Hubs
Azure Data Lake Store Gen 1
Public Preview
Azure Container Registry
Copyright© 2019, Y.Katakura All Rights Reserved.
25
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-network-service-endpoints-overview
Virtual Network内に配置できるPaaS
各種PaaSをVirtual Network内のリソースにPrivate IP Addressを
使ってアクセス可能にする技術
PaaSの種類によってSubnetに配置する方式としない方式があ
る
App Services(ASE以外)もVirtual Networkと統合して、Private IP
AddressでVM等と通信可能
https://docs.microsoft.com/ja-jp/azure/app-service/web-sites-integrate-with-vnet
Copyright© 2019, Y.Katakura All Rights Reserved.
26
Azure Application Gateway
L7レベルのロードバランサー、リバースプロクシ、WAF機能を
持つApplication Gatewayは仮想ネットワーク上に配置できる
27
Copyright© 2019, Y.Katakura All Rights Reserved.
https://docs.microsoft.com/ja-jp/azure/application-gateway/
インターネットからのアク
セス(TCP/80, TCP/443)が
あると、内部のWebサー
バに転送してくれる(雑
(Application Gateway)
(Virtual Machines)
Azure Kubernetes Service(AKS)
KubernetesのPaaSであるAKSは仮想ネットワーク上に配置でき
る
28
Copyright© 2019, Y.Katakura All Rights Reserved.
https://azure.microsoft.com/ja-jp/services/kubernetes-service/
コンテナコンテナ
仮想マシンからAKSで作成
したロードバランサ経由で
コンテナにアクセス閉域で
アクセス可能
(Virtual Machine)
(AKS)
(load Balancer)
Azure Cache for Redis
Azure App Service Environment(ASE)
RedisもASEも仮想ネットワーク上に配置できる
29
Copyright© 2019, Y.Katakura All Rights Reserved.
https://azure.microsoft.com/ja-jp/services/cache/
https://docs.microsoft.com/ja-jp/azure/app-service/environment/intro
(Virtual Machine)
(Redis) (ASE)
仮想マシンから閉域網で
App Serviceにアクセス
仮想ネットワーク内か
らRedisにアクセス
Virtual Networkに配置可能なPaaS一覧
Azure Batch
Azure Application Gateway
Azure Firewall
Azure Cache for Redis
Azure SQL Database Managed
Instance
Azure HD Insight
Azure Databrics
Azure Active Directory Domain
Services
Azure Kubernetes Service
Azure Container Registry
Azure Container Service
API Management
App Service Environment
Azure Logic Apps (ISEのみ)
Azure 専用HSM
Azure Netapp Files
Copyright© 2019, Y.Katakura All Rights Reserved.
30
https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-network-for-azure-services
Tips 1
Internet, Virtual Network間の通信は制限しよう
Copyright© 2019, Y.Katakura All Rights Reserved.
31
こんな感じのルール作っていませんか?
Internetからのリモートデスクトップ接続を許可
あとはデフォルトのまま
Copyright© 2019, Y.Katakura All Rights Reserved.
32
これ
大丈夫ですか?
リモート接続するIPアドレスは制限しましょう
アクセス元のIPアドレスを個別に指定して特定の拠点やPCからのみ接続可能にしましょ
う
アクセス元のIPアドレスが不定の場合にはAzure Security Centerの「Just in time
access」の利用も検討しましょう
Copyright© 2019, Y.Katakura All Rights Reserved.
33
https://docs.microsoft.com/ja-jp/azure/security-center/security-center-just-in-time
真打ち登場?Azure Bastion(ばぁすちゃん)
Copyright© 2019, Y.Katakura All Rights Reserved.
34
2019/6/18にSSL経由のRDPおよびSSHが行えるAzure Bastionが
Previewとして爆誕しました。
https://azure.microsoft.com/ja-jp/updates/azure-bastion-now-available-for-preview/
仮想マシンのRDP, SSHポートは外部公開しなくて良くなります。
クライアントPCからはブラウザベースで仮想マシンにRDP,SSH
が行えるようになります。
試用記事はこちら
https://zakki.nya-n.net/?p=274
こんな感じのルール作っていませんか?(2)
Internetからのリモートデスクトップ接続を許可
あとはデフォルトのまま
Copyright© 2019, Y.Katakura All Rights Reserved.
35
これも
大丈夫ですか?
VirtualNetworkの通信もNSGで制御しま
しょう
受信セキュリティ規則のデフォルトルールにある「AllowVnetInBound」
は他のルールを上書きして、必要なセグメントからのみアクセス可能に
しましょう。
Copyright© 2019, Y.Katakura All Rights Reserved.
36
この全てが「VirtualNetwork」タグの範囲です
Copyright© 2019, Y.Katakura All Rights Reserved.
37
(Point to Site VPN)
(Site to Site VPN)
(Express Route)
(VNET Peering)
(VNET to VNET VPN)
37
Internetからのアクセスは制限していても
Virtual Network間(オンプレ含む)はガバガバ
Copyright© 2019, Y.Katakura All Rights Reserved.
38
Access
OK!
Access
OK!
Access
OK!
Access
OK!
38
なぜいけないのか
従来のいわゆるNorth-South型では、インターネットとの境界線で
のみ対応していた
しかし、オンプレミス閉域網までもがつながる環境であるEast-
West型では、閉域ネットワーク内の通信も守る必要がある
オンプレミス側の人やPCは本当に安全ですか?
悪意のある人はゼロですか?誰もミスしませんか?
ウイルス感染しているPCは1台もありませんか?
万全を考えれば、次世代ファイアーウォールと言われている製品を
Azure仮想ネットワーク上に仮想アプライアンスとして導入して、
North-South / East-Westの通信全てを管理すればいいけど、コスト
もかかる(NSGは無料)
Copyright© 2019, Y.Katakura All Rights Reserved.
39
NSG Tips 2
送信セキュリティ規則の罠?
Copyright© 2019, Y.Katakura All Rights Reserved.
40
NSGを設定しても抜けてくれる送信規則
以下の送信ルールはNSGによる指定有無に関わらず抜けます
Windows Server仮想マシンのライセンス認証サーバ
• kms.core.windows.net(23.102.135.246) – TCP/1688
• US South regionに存在している
DHCPサーバ / Azure標準のDNSサーバ
• 168.63.129.16
• Azureの各リージョンに存在する仮想Public IP Address
なので、送信規則を誤って絞りすぎても、VMが起動しないとか、
ライセンスが失効するといった事態にはならない
Copyright© 2019, Y.Katakura All Rights Reserved.
41
https://docs.microsoft.com/ja-jp/azure/virtual-network/security-overview#azure-platform-considerations
送信規則でInternetを全て拒否すると…
Azure観点
VMレベルでの診断設定が行えなくなる(Log AnalyticsやStorageにメトリックやログが保存でき
なくなる)
中で動いているアプリケーションがSQL DBやBLOB Storageにアクセスできなくなる
etc…
OS観点
Windows UpdateやYumで直接VMからアップデートできなくなる
Googleや、ようつべに繋げられなくなって辛い
Copyright© 2019, Y.Katakura All Rights Reserved.
42
回避策
Azure観点
NSGの送信ルールで適切なサービスに対応したサービスタグ宛の通信を許容しましょう
• Log Analyticsだったら「AzureMonitor」を空ける。
• 利用サービスと対応するサービスタグが不明の場合は「AzureCloud」の指定も可
• VMからダイレクトにStorage BLOBを使っているケースでは「Storage.japaneast」とリージョン指定
するのも良し
• Azure内の通信は接続先が例えPublic IP Addressであっても、Azureデータセンター(リージョン間含む)
から外部インターネットに通信が出てしまう事はありません
OS観点
NSGで接続先のIPアドレスを指定して個別に空けましょう
NSGの送信規則の1レコードにはCIDR指定ができる他複数のIPアドレスが列挙できます
「IPアドレスなんて知らないよう」という場合はAzure Firewallを導入することで、
Outboundの通信をFQDNで制御できるので、こちらを検討しましょう。
Copyright© 2019, Y.Katakura All Rights Reserved.
43
NSG Tips 3
Azure Application Gateway / Azure Load Balancerを経由させる場合
Copyright© 2019, Y.Katakura All Rights Reserved.
44
NSGでなにあける?
Azure Load Balancer (Internal)
• 接続元仮想マシンNICのIPアドレス(Private)が送信元となる
• 他に168.53.129.16から正常性プローブのアクセスがあるのでサービスタグ「AzureLoadBalancer」
は閉じない事
Copyright© 2019, Y.Katakura All Rights Reserved.
45
(Load Balancer)
(192.168.10.4)
(192.168.10.10)
(192.168.10.11)(192.168.0.4)
Source Address : 192.168.0.4
Probe
(168.63.129.16)
NSGでなにあける?
Azure Load Balancer (External)
Copyright© 2019, Y.Katakura All Rights Reserved.
46
(Load Balancer)
(192.168.10.10)
(192.168.10.11)
Source Address : 124.41.95.xxx
(PIP)
(13.78.68.128)
(外部PC)
(124.41.95.xxx)
Probe
(168.63.129.16)
• 接続元PCのWAN側IPアドレス(Public)が送信元となる
• 他に168.53.129.16から正常性プローブのアクセスがあるのでサービスタグ「AzureLoadBalancer」
は閉じない事
NSGでなにあける?
Azure Application Gateway(Internal)
Copyright© 2019, Y.Katakura All Rights Reserved.
47
(192.168.10.10)
(192.168.10.11)
(192.168.5.4)
Source Address : 192.168.5.0/24
(192.168.0.4)
Probe
(192.168.5.0/24)
• Application Gatewayの配置してあるSubnet内に配置されたInstanceが送信元となるため、Subnet
のアドレス範囲が送信元になる(上記例では実際には192.168.5.5~)
• 正常性プローブもSubnet内に配置されたInstanceからアクセスされる
NSGでなにあける?
Azure Application Gateway(External)
Copyright© 2019, Y.Katakura All Rights Reserved.
48
(192.168.10.10)
(192.168.10.11)
(192.168.5.4)
Source Address : 192.168.5.0/24
(PIP)
(13.78.68.128)
(外部PC)
(124.41.95.xxx)
Probe
(192.168.5.0/24)
• Internalと同様に、Application Gatewayの配置してあるSubnet内に配置されたInstanceが送信元と
なるため、Subnetのアドレス範囲が送信元になる(上記例では実際には192.168.5.5~)
• 正常性プローブもSubnet内に配置されたInstanceからアクセスされる
(参考)Firewallでなにあける?
Azure Application Gateway (to App Services)
Copyright© 2019, Y.Katakura All Rights Reserved.
49
(192.168.5.4)
Source Address : Don’t Care
(Web Apps)
(192.168.0.4)
• Public IP Addressを持たないApplication GatewayからのPaaSアクセス時には接続元IPアドレスは不定となる
(実際には各リージョン毎の仮想マシンに割り当てられたアドレスのうちどれかが割り当てられるが、専有ア
ドレスではない)
• App ServicesのサービスエンドポイントのGAが期待されている(現在はLive Preview)
(参考)Firewallでなにあける?
Azure Application Gateway (to App Services)(2)
Copyright© 2019, Y.Katakura All Rights Reserved.
50
(192.168.5.4)
Source Address : 13.78.68.128
(Web Apps)(PIP)
(13.78.68.128)
(外部PC)
(124.41.95.xxx)
• Application GatewayがPublic IP Addressを持っていると、接続元IPアドレスはそれになる。
• Application Gateway V2からはPublic IP Addressを固定化する事が可能になった
Tips 4
その他たまにある疑問
Copyright© 2019, Y.Katakura All Rights Reserved.
51
Express Route, VPN接続の場合のNSG
Copyright© 2019, Y.Katakura All Rights Reserved.
52
(Site to Site VPN)
(Express Route
Private Peering)
• GatewaySubnetにはNSGが適用できない(残念)
• オンプレミスからの接続をGatewaySubnetで一括して特定のポートに絞るといった事は
出来ないので、各SubnetのNSGで設定する必要がある
Public IP Addressを持たないVM
Copyright© 2019, Y.Katakura All Rights Reserved.
53
(PIP)
(13.78.68.128)
Source Address : 13.78.68.128
Source Address : Don’t Care
• Public IP Addressを持たないVMもインターネットに出ていける。この場合の接続元IPアドレスは不定となる
(実際には各リージョン毎の仮想マシンに割り当てられたアドレスのうちどれかが割り当てられるが、専有ア
ドレスではない)
• Public IP Addressを持たないVMだからといって、NSGの送信セキュリティ規則を疎かにしてはいけない
ping(ICMP)送りたい
NSGの受信規則で指定できるプロトコルは従来はTCP/UDPのみの指定でした
以下のルールで回避は一応可能でしたが微妙でしたね
Copyright© 2019, Y.Katakura All Rights Reserved.
54
NSGのプロトコル指定に新たに「ICMP」「ESP」が増えました!
API Versionは2019-04-01からとなっており、本日時点ではAzure CLIと
REST API直のみ対応している模様
(Power ShellとAzure Portalはもう少し待とう!)
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/network/resource-
manager/Microsoft.Network/stable/2019-04-01/networkSecurityGroup.json
Azure CLIからは以下の感じでルール追加が可能です
$ az network nsg rule create --resource-group NetworkEnv01 ¥
--nsg-name azure-common-nsg --access Allow ¥
--destination-address-prefixes "*" --destination-port-ranges "*" ¥
--direction Inbound --name Allow_ICMP --priority 1005 ¥
--protocol ICMP --source-address-prefixes 124.41.95.XXX ¥
--source-port-ranges "*"
NSGのプロコル指定が増えました
Copyright© 2019, Y.Katakura All Rights Reserved.
55
Special Thanks to @syuheiuda
おわりに
NSGは無料で利用できる割に、正しく設定す
ればそれなりの効果があることが理解頂けた
と思います
IaaS環境構築する上で重要かつ基本となるほ
か、PaaS側もどんどんVirtual Networkとの統
合が進んでいるので常に新しい機能を今後共
キャッチアップするのが良いと思います
Copyright© 2019, Y.Katakura All Rights Reserved.
56
57
I ♥ Azure

More Related Content

What's hot

OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Toru Makabe
 

What's hot (20)

SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
SCUGJ第27回勉強会:ものすごくざっくりなAzure Filesの話
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
Real World Azure RBAC
Real World Azure RBACReal World Azure RBAC
Real World Azure RBAC
 
Office365勉強会 #23 Azure AD のテナント設計(Office365管理者向け)
Office365勉強会 #23 Azure AD のテナント設計(Office365管理者向け)Office365勉強会 #23 Azure AD のテナント設計(Office365管理者向け)
Office365勉強会 #23 Azure AD のテナント設計(Office365管理者向け)
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみたAKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
第15回JSSUG「Azure SQL Database 超入門」
第15回JSSUG「Azure SQL Database 超入門」第15回JSSUG「Azure SQL Database 超入門」
第15回JSSUG「Azure SQL Database 超入門」
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
 

Similar to Azure Network Security Group(NSG) はじめてのDeep Dive

20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
Keiji Kamebuchi
 

Similar to Azure Network Security Group(NSG) はじめてのDeep Dive (20)

Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
 
Azure event grid 紹介
Azure event grid 紹介Azure event grid 紹介
Azure event grid 紹介
 
NV シリーズのインスタンスでGPU使ってイロイロ想像する
NV シリーズのインスタンスでGPU使ってイロイロ想像するNV シリーズのインスタンスでGPU使ってイロイロ想像する
NV シリーズのインスタンスでGPU使ってイロイロ想像する
 
Azure Functions あれこれ
Azure Functions あれこれAzure Functions あれこれ
Azure Functions あれこれ
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
 
Black jumbodogをcoreclrで動かしてみた
Black jumbodogをcoreclrで動かしてみたBlack jumbodogをcoreclrで動かしてみた
Black jumbodogをcoreclrで動かしてみた
 
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像 MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
 
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYOクラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所
 
はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -
はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -
はじめてのAzure Azure的ピタゴラスイッチのススメ- PaaS・サーバーレス 初級編 -
 
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
 
[Japan Tech summit 2017] CLD 021
[Japan Tech summit 2017]  CLD 021[Japan Tech summit 2017]  CLD 021
[Japan Tech summit 2017] CLD 021
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
 
20140220 gumistudy cloudformation
20140220 gumistudy cloudformation20140220 gumistudy cloudformation
20140220 gumistudy cloudformation
 
インフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boostインフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boost
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
 
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
 
クラウドセキュリティについて考える
クラウドセキュリティについて考えるクラウドセキュリティについて考える
クラウドセキュリティについて考える
 
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
 

More from Yoshimasa Katakura (6)

Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure Cognitive Serviceの感情分析を使って自分を見つめ直すAzure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
 
Azure bastion ignite the tour @tokyo 2019
Azure bastion   ignite the tour @tokyo 2019Azure bastion   ignite the tour @tokyo 2019
Azure bastion ignite the tour @tokyo 2019
 
Open Service Broker for Azure(OSBA)をつかう
Open Service Broker for Azure(OSBA)をつかうOpen Service Broker for Azure(OSBA)をつかう
Open Service Broker for Azure(OSBA)をつかう
 
My drivingではじめるazure IoT
My drivingではじめるazure IoTMy drivingではじめるazure IoT
My drivingではじめるazure IoT
 
Jazug7周年LT(片倉義昌)
Jazug7周年LT(片倉義昌)Jazug7周年LT(片倉義昌)
Jazug7周年LT(片倉義昌)
 
Jazug6周年lt(片倉義昌)
Jazug6周年lt(片倉義昌)Jazug6周年lt(片倉義昌)
Jazug6周年lt(片倉義昌)
 

Azure Network Security Group(NSG) はじめてのDeep Dive