公開日:2021年10月25日最終更新日: 2021年11月12日
クラウドのセキュリティを確保するには様々な手法があります。昔ながらのFirewall(ファイアウォール)やアクセス制御、アカウンティング(認証・認可)など、サーバーがクラウド化したことで益々重要度が高くなってきています。
今回はそんな中でも基本中の基本と言える、仮想マシンのIPやポートベースでの制御について、最低限の設定が行えるようご紹介したいと思います。
目次 <Contents>
Azureのセキュリティについて
マイクロソフトが提供するクラウドサービス「Azure」はフルマネージドなクラウドサービスです。
従来エンジニアが行ってきたセキュリティアップデート、監視、運用をすべてポータルサイト上で一括管理や自動化することができます。Azureを活用することで、一通りのセキュリティレベルを担保することができるのです。
使い方はAzureに触れてきた方なら容易に理解ができるため、本稿では初めてAzureを使う方向けに手順も含めご説明します。
NSG(Network Security Group)とは
NSGはAzureのセキュリティ設定の1つで、仮想マシンなどのリソースをセキュリティで保護する機能です。保護できる内容としては、送信と受信における宛先および差出元IPアドレスやポートでの制限になり、パケットフィルタリング型のファイアーウォール(FW)と似ています。
IPアドレス以外にも仮想マシンに設定されているタグやアプリケーションのグループ毎にも設定することができ、柔軟なポリシーで設定することが可能です。
Azure Firewallとの違い
AzureにはNSGと同様にセキュリティを強化・設定できるサービスとしてAzure Firewall(AzureFW)があります。AzureFWとNSGの違いとして、隔てる境界や対象が違うという点があります。
AzureFWがインターネットと仮想マシンの境界で動作するのに対して、NSGはサブネット毎や仮想マシンのネットワークインターフェース(NIC)上などのセキュリティグループ上で動作します。
本稿では扱いませんが、両者を組み合わせることで多層防御の構成ができ、より強固なセキュリティ対策が可能になります。
Network Security Groupを設定してみよう
設定は仮想マシンに適用するのが基本となります。実際に仮想マシンをデプロイしてNSGの初期設定をする所までをご紹介します。
仮想マシンのデプロイとNSGの設定
すでにAzure上での仮想マシン作成方法は理解できている前提で、Ubuntuをデプロイする時のポイントから紹介します。
1. ネットワーク設定
1「NIC ネットワークセキュリティグループ」で「Basic」が選択されていることを確認します。
2受信ポートにSSHを選択し、「確認および作成」をクリックします。
3確認して、問題がなければ「作成」をクリックします。
2. NSGの初期ポリシーを確認
1Azureポータル上から「ネットワークセキュリティグループ」を選択します。
2仮想マシンデプロイ時に作成されているNSGを選択します。
3「受信セキュリティ規則」で受信のセキュリティで設定した「SSH」が「Allow」で許可されていることを確認します。
これでインターネット側からこの仮想マシンに対してSSHによる接続と操作をすることが可能です。
他に許可されている通信は送信のセキュリティも含め、仮想ネットワークに必要なものが最低限設定されており、最終行には暗黙の「Deny」があります。これは予め不要な通信はすべて拒否できるよう配慮された設定を明示的に見せてくれている部分と言えます。
※他のクラウドサービスでは隠されたデフォルト設定の場合もあります。
3. WEBサーバーとして通信を許可する
このままだとただ操作するだけで終わってしまうので、WEBサーバーとして公開することを想定して通信を許可していきます。
1「受信セキュリティ規則」で「追加」を選択します。
2① サービス:「HTTPS」もしくは「HTTP」を選択
② アクション:「許可」を選択
③ 下部の「追加」をクリックします。
3追加されました。
これでWEBサーバーの設定をすればインターネット上から閲覧することが可能になります。実際に設定する際はWEBサーバーのIPなどを宛先に指定して、通信を絞るのが良いでしょう。
まとめ
NSGはAzure上に仮想マシンをデプロイする上で最も基本的なセキュリティ設定です。上手くアプリの通信ができなかったり操作できない場合は真っ先に疑い、見直す部分となります。
基本的な設定は本稿で紹介しましたが、仮想マシンの台数が増えていくにつれて、サブネット毎の設定やタグによる管理が活きてくる場面が来ると思います。
その様な時のためにも、勘や流れでNSGの設定をしてしまうのではなく、基本を抑えつつクラウドの拡張性を意識しながら設定していくのがお勧めです。