NOBTAの気ままにITブログ

Azure全般 / SQL Serverに関する情報を発信していきます。

【保存版】Azure 仮想マシンでインターネット接続を禁止する方法について


スポンサーリンク

AWS、OCI では、Amazon EC2、OCI 仮想マシンからインターネット接続を実施する場合、インターネット ゲートウェイNATゲートウェイ (OCI プライベート サブネット) を作成する必要がありますが、Azure 仮想マシンをデプロイ後の既定の設定では、パブリック IP リソースがアタッチされていなくても、Azure既定のSNATにより、インターネット接続が可能になっています。

今回は、Azure 仮想マシンでインターネット接続を禁止する方法について、自分の整理も兼ねて、まとめてみようと思います。 

 

 

f:id:nobtak:20210509020332p:plain

 

ネットワーク セキュリティ グループ (NSG) で制御する場合

ネットワーク セキュリティグループ (NSG) の「送信セキュリティ規則」でインターネットへの通信ポートをすべて拒否することで、インターネット接続を禁止することができます。

※ ネットワーク セキュリティグループ (NSG) は、ネットワーク インターフェース、仮想ネットワーク サブネット に紐づけることができます。

 

1) Azure ポータル から「ネットワーク セキュリティ グループ」- 該当のネットワーク セキュリティ グループを選択します。

2)「設定」:「送信セキュリティ規則」-「+追加」を選択します。

 

f:id:nobtak:20210509025233p:plain

 

3) 以下のように設定し、「追加」を選択します。 

ソース:any

ソース ポート範囲:*

宛先:Service Tag

宛先サービス タグ:Internet

サービス:Custom 

宛先ポート範囲: 0-65535 

プロトコル:any

アクション: 拒否

優先度:任意の値 (値が大きいほど優先度が低くなる。)

名前:任意の名前

 

f:id:nobtak:20210509021358p:plain

 

※ 送信セキュリティ規則を追加後、「サポート + トラブルシューティング」-「有効なセキュリティ ルール」を確認すると、以下のようなルールが追加されています。

f:id:nobtak:20210509030246p:plain

※ 今回は、インターネット側への通信に対して、すべてのポート 0-65535 を拒否していますが、要件によって http/https (80, 443) のみを拒否するなど規則を変更すると良いかと思います。  

 

ルート テーブル で制御する場合

ルート テーブルで「アドレス プレフィックス」:「0.0.0.0/0」、「次ホップの種類」:「なし」を選択することで、特定のサブネットからのインターネット接続を禁止することができます。

※ ルート テーブルは、仮想ネットワーク サブネット に紐づけることが可能。

※ ルート テーブルで制御する場合、パブリック IP リソースを仮想マシンにアタッチしていたとしても、外部ネットワークから リモートデスクトップ (RDP) による接続ができなくなるため、注意が必要。

 

1) Azure ポータル から「ルート テーブル」- 該当のルート テーブルを選択します。

2)「設定」:「ルート」-「+ 追加」を選択します。

 

f:id:nobtak:20210509031126p:plain

 

3) 以下のように設定し、「OK」を選択します。

ルート名:任意の名前

アドレス プレフィックス: 0.0.0.0/0

ネクスト ホップの種類: なし

 

f:id:nobtak:20210509031435p:plain

 

4) インターネット接続を禁止したいサブネットに対して、ルート テーブルを紐づけます。

 

f:id:nobtak:20210509032347p:plain

 

※ 「サポート + トラブルシューティング」-「有効なルート」を確認すると、以下のようなルートが適用されます。

 

f:id:nobtak:20210509032753p:plain

 

 

まとめ

今回は、Azure 仮想マシンでインターネット接続を禁止する方法について、まとめてみました。

なお、Azure 既定のSNATの場合、Azure内部のグローバル IP アドレスにNATされるため、インターネット接続に使用される グローバル IP アドレス を固定化することはできません。

Azure 仮想マシンに パブリック IP アドレス リソースをアタッチすることで、グローバル IP アドレスを固定化することができますが、外部ネットワークから Azure 仮想マシンへのリモート接続 (RDP/SSH) を許可しないセキュアな環境を構成、かつ、インターネット接続に使用される グローバル IP アドレス を固定化したい場合は、Azure NAT ゲートウェイ を使用することで実現できます。

 

 

ネットワーク セキュリティ グループ 関連ブログ

1) Azure ネットワーク セキュリティ グループ (NSG) の設定について(ベストプラクティス)

2) Azure ネットワーク セキュリティ グループ (NSG) の規則の適用ルール(優先度)について

3) Azure アプリケーション セキュリティ グループ (ASG) について