🦐

【Azure】NSGを設定してセキュアな通信にする

に公開

記事の内容

NSGの設定を行い、AppServiceとBlobStorage間をセキュアな通信にする。
前回の続きになります。
https://zenn.dev/headwaters/articles/aa8d247e3a6e9a

NSGとは

Azureネットワークセキュリティグループを使用して、Azure仮想ネットワーク内のAzureリソース間のネットワークトラフィックをフィルター処理できます。ネットワークセキュリティグループには、何種類かのAzureリソースとの送受信ネットワークトラフィックを許可または拒否するセキュリティ規則が含まれています。
https://learn.microsoft.com/ja-jp/azure/virtual-network/network-security-groups-overview

NSGのパラメータを確認

今回の構成では2つのNSG(integration-nsgとpe-nsg)が使用されており、どちらも既定の初期値が設定されています。

integration-nsg, pe-nsg

受信セキュリティ規則パラメータ内容

AllowVnetInBound:VNet内からの受信を許可(Peering, ExpressRouteで接続されたものも含まれる)
AllowAzureLoadBalancerInBound:Azure Load Balancer からのトラフィックを許可
DenyAllInBound:上記以外の受信をブロック

送信セキュリティ規則パラメータ内容

AllowVnetOutBound:VNet内での送信を許可(Peering, ExpressRouteで接続されたものも含まれる)
AllowIntenetOutBound:VNet内からインターネットへの送信を許可
DenyAllOutBound:上記以外の送信をブロック

https://zenn.dev/skmkzyk/articles/default-nsg-rule-critique

1. 初期設定のまま疎通確認

疎通確認方法
https://zenn.dev/headwaters/articles/aa8d247e3a6e9a

✅結果:通信成功

同じVNet内からの通信となるため、上手く繋がりました。

2. integration-nsgを設定してみる

integration-nsgに送信ルールを追加して、通信を閉じてみます。
宛先ポート範囲を『 * 』にすることを忘れないでください。

❌結果:通信失敗

予想通り、通信はされませんでした。

3. セキュアな通信にする

integration-nsgに送信ルールを追加して、blobpeとのセキュアな通信にします。

✅結果:通信成功

192.16.3.0/24の範囲が許可されているため、無事通信ができました。

4. 送信ルールを変更してみる

/24を削除し、192.168.3.4というPrivateEndpointのIPアドレスを追加して疎通確認をしてみます。

✅結果:通信成功

しっかりと通信ができました。

まとめ

今回は、integration-nsgの送信セキュリティ規則を操作して、セキュアな通信を構築しました。
pe-nsg側にも色々ルールを追加すると、通信が繋がったり、閉じたりするので是非やってみてください。

見なくていい場所

統合って、integrationだったんですね...
ずっと、intergrationと書いてました...
ZennのAIレビューに感謝!

ヘッドウォータース

Discussion