ポイントを速習!「Azureの基礎(AZ900)」をみんなで学ぶ 第13回
実際にNSG(Network Security Group)とVNet Service Endpointを構成してみる
Azureのセキュリティで知っておきたいこと、対策の基礎【後編】
2021年03月26日 08時00分更新
ASG(Application Security Group)をデプロイ
先ほど追加したSERVERS-NSGのセキュリティ規則では、DataServerの内部IP(10.0.1.4)を直接指定して、このIPアドレスからAppServerへのHTTP通信を拒否するよう設定されていました。しかし、もっと多くのDBサーバーをデプロイする場合、それぞれのIPアドレスに対応する規則を1つずつ作成していくのでは不便です。
そこで最後に、DBサーバー用のASG(Application Security Group)を作成し、そのグループ内に所属するすべてのサーバーに対して、同じセキュリティ規則を割り当てられるようにしてみましょう。これでいくつか手間が減ることになりますね。なおこの場合、ASGには管理するVMのVIFを割り当てる必要があります。
1. DB-SERVERS-ASGという新規のASGを作成するために、次のコマンドを実行します。
az network asg create \
--resource-group $rg \
--name DB-SERVERS-ASG
2. DataServerとDB-SERVERS-ASGを関連付けるために、次のコマンドを実行して下さい。
az network nic ip-config update \
--resource-group $rg \
--application-security-groups DB-SERVERS-ASG \
--name ipconfigDataServer \
--nic-name DataServerVMNic \
--vnet-name servers \
--subnet DBs
3. 先に作成したSERVERS-NSGの「httpRule」セキュリティ規則を、DB-SERVERS-ASGに属するサーバーからAppServerへのHTTP通信を拒否する規則に更新します。次のコマンドを実行してください。
az network nsg rule update \
--resource-group $rg \
--nsg-name SERVERS-NSG \
--name httpRule \
--direction Inbound \
--priority 150 \
--source-address-prefixes "" \
--source-port-ranges '*' \
--source-asgs DB-SERVERS-ASG \
--destination-address-prefixes 10.0.0.4 \
--destination-port-ranges 80 \
--access Deny \
--protocol Tcp \
--description "Deny from DataServer to AppServer on port 80 using application security group"
更新したセキュリティ規則を確認
更新したセキュリティ規則が正しく機能しているかどうかを確認しましょう。先ほど(「VM間のHTTP接続を確認」の項)と同じ、次の2つのコマンドを順に実行します。
ssh -t azureuser@$APPSERVERIP 'wget http://10.0.1.4; exit; bash'
ssh -t azureuser@$DATASERVERIP 'wget http://10.0.0.4; exit; bash'
すると、同じようにAppServerからはHTTP接続ができ、DataServerからはHTTP接続ができないことがわかります。これで、通信元IPアドレスの代わりにASGで指定したNSGのセキュリティ規則も、正しく機能することが確認できました。
2台目、3台目のDBサーバーをデプロイした場合は、この項の2.で示した方法で新しいサーバーをDB-SERVERS-ASGに追加するだけで、簡単に適切なセキュリティを追加できます。
以上でNSGのハンズオンは終わりです。ただし、これまで作成した環境(リソース群)は次のハンズオンでも使いますので、まだ消さずに残しておいてください。
この連載の記事
-
第12回
TECH
Azureのセキュリティで知っておきたいこと、対策の基礎【前編】 -
第11回
TECH
Azureの利用コストを管理、予測して支出を最適化する -
第10回
TECH
Azureの基本的なネットワークサービスを理解する【後編】 -
第9回
TECH
Azureの基本的なネットワークサービスを理解する【前編】 -
第8回
TECH
Azureのストレージサービスを理解し「SQL Database」に触れてみる -
第7回
TECH
「Azure VM」などAzureの幅広いコンピューティングサービスを知る -
第6回
TECH
Azureの主な管理ツールを知り、リソースを管理する【後編】 -
第5回
TECH
Azureの主な管理ツールを知り、リソースを管理する【前編】 -
第4回
TECH
Azureのインフラ構成とサービス可用性を高める仕組み -
第3回
TECH
Azureの代表的なサービスを知る/使ってみる【後編】 - この連載の一覧へ