Azure 第29回『Azure のセキュアでスマートな接続サービスたち』

Microsoft Azure の IaaS でもっとも基礎となるサービスは仮想ネットワークです。IaaS 内の仮想マシンは仮想ネットワークを通じて他の仮想マシンや仮想ネットワーク アプライアンスと通信し、またインターネットやオンプレミスのネットワークとの通信もすべて仮想ネットワークを経由して行われます。
このように重要な役割を持つ仮想ネットワークとそこで利用できるサービスについてはこれまでの記事でも紹介してきました。

今回は仮想ネットワークで利用できるその他のさらに便利でネットワークのセキュリティを向上させる機能を紹介します。

仮想ネットワークへの安全なアクセス

Azure IaaS の仮想マシンを管理するために、仮想マシンのオペレーティングにアクセスしてログイン・サインインしなければならない場合があります。このような場合、Windows の仮想マシンであればリモートデスクトップ接続、Linux の仮想マシンであれば SSH 接続を行いますが、オンプレミスの環境(社内ネットワーク、管理者ユーザーのデバイス)からインターネット経由で仮想マシンに直接接続するには、以下の構成が必要になります。

  • 仮想マシンに着信接続可能なグローバル IP アドレス(Azure のリソースとしてはパブリック IP アドレス)を構成する
  • ネットワークセキュリティグループでリモートデスクトップ接続(3389)や SSH(22)のポートへの着信を許可する

しかしこのような構成は個々の仮想マシンのオペレーティングがインターネットに開かれたポートを持つことになり、セキュリティ的には攻撃境界面の増加となるため、運用環境では避けるべきです。
そこで Azure では仮想マシンへの安全なアクセスが行えるよう、多くのサービスが用意されています。

Azure VPN Gateway

Azure VPN Gateway は Azure 仮想ネットワークとオンプレミスのネットワークやデバイスを VPN で閉域網接続するサービスです。

オンプレミスとの間で閉域網接続を行うことで、仮想ネットワーク内の仮想マシンへプライベートネットワーク経由での接続が可能となり、仮想マシンにパブリック IP アドレスを構成する必要が無くなります。

VPN Gateway は仮想ネットワーク内の特定のサブネット(GatewaySubnet)と仮想ネットワークゲートウェイという仮想アプライアンスで構成されます。仮想ネットワークゲートウェイは仮想的な VPN ルーターとして機能し、オンプレミスのネットワークとのサイト対サイト(S2S)接続、VPN クライアントが動作するデバイスとのポイント対サイト(P2S)接続の両方での接続が可能です。
VPN のプロトコルは IPSec が利用でき、P2S 接続の場合は SSTP と OpenVPN も利用可能です。
なおS2S 接続の場合、VPN を介した強制トンネリングを構成し、仮想ネットワークからインターネットへのトラフィックをオンプレミスネットワーク経由に振り向けることも可能です。

Azure Express Route

Express Route はオンプレミスのネットワークと Microsoft のクラウドを専用線で閉域網接続するサービスです。Express Route の接続回線は直接仮想ネットワークに接続されるのではなく、まず Microsoft のクラウドネットワーク(物理ネットワーク)のゲートウェイ(Microsoft Edge)に接続され、そこから Microsoft の物理ネットワークを経由して仮想ネットワークに接続されます。
このため、Express Route は Azure への接続だけでなく、Microsoft 365 などの SaaS への接続にも利用できます。

Microsoft Edge を経由して Azure に転送されたトラフィックは、VPN の場合と同様に仮想ネットワーク内の特定のサブネット(GatewaySubnet)と仮想ネットワークゲートウェイにより仮想ネットワークに接続されます。
Express Route で閉域網接続を行うことにより、仮想ネットワーク内の仮想マシンへプライベートネットワーク経由での接続が可能となり、仮想マシンにパブリック IP アドレスを構成する必要が無くなります。

Express Route は専用線を利用したサービスのため、利用にはまず専用線接続を提供する Express Route 接続プロバイダーとの契約が必要になります。接続プロバイダーの一覧は以下に掲載されています。

Azure Virtual WAN

Azure Virtual WAN は 仮想ハブネットワークを通じて、Azure とオンプレミスのネットワークの VPN 接続(S2S/P2S)や Express Route 接続、他の仮想ネットワークとの接続を統合し、1つのハブアンドスポークアーキテクチャの WAN として利用できるサービスです。これにより仮想ネットワークと Azure に接続しているすべての拠点・デバイス間相互で閉域網接続が行え、全体を一つのプライベートネットワークとして利用することができます。
接続の中心となる仮想ハブネットワークは Microsoft のマネージドサービスとして提供されるので、管理や構成が容易となります。

また仮想ハブは Azure のリージョンごとに持つことができ、リージョンの異なるハブ間は Azure バックボーンネットワークにフルメッシュ構成で接続されます。このためグローバルな拠点間の閉域網接続を Microsoft のネットワークを経由して行えます。

Azure Bastion

VPN Gateway やExpress Route などの閉域網接続は Azure 仮想ネットワークへの安全なアクセスを提供しますが、安全に接続できる接続元がオンプレミスのネットワーク内に限られてしまいます。リモートワーク・テレワークで Azure 仮想マシンの管理を行う場合、これは問題となります。
このようなケースに対応するサービスとして、Azure Bastion が用意されています。Azure Bastion はリモートデスクトップ接続や SSH の「踏み台」として機能する PaaS サービスです。Bastion はインターネットに対して HTTPS(443)ポートで待ち受け、クライアントからの接続を仮想マシンの RDP または SSH に転送します。クライアントが接続するのは一般的な Web アクセスのポート(443)ですので、ファイアウォールなどで通信が制限されている環境からの接続も可能です。

Bastion を利用した接続は通常 Azure ポータルの Web ページ内で行う(Web ページ内に RDP/SSH の画面を表示する)ことになりますが、mstsc.exe などのクライアント アプリでの接続も可能です。

仮想ネットワークの保護

仮想ネットワーク全体を保護する機能も用意されています。これまでの記事ではネットワークセキュリティグループ(NSG)と Azure Firewall を紹介しています。

これ以外にもさまざまなレイヤーでネットワークを守る機能がありますので、紹介と簡単な解説を行います。

Azure Firewall Manager

上記のように、Azure 仮想ネットワークでは Azure Firewall が利用できることは以前の記事でも紹介しました。
ただし Azure Firewall は仮想ネットワークごとに設置し、個別に管理する必要があります。そのため大規模なシステムやグローバルな環境で、複数の仮想ネットワークに対してファイアウォールの管理を行う必要がある場合に運用や工数に問題が生じます。
Azure Firewall Manager は異なる Azure リージョンとサブスクリプションにまたがる複数の Azure Firewallを一元的にデプロイし、構成することができます。また複数のセキュリティで保護された仮想ハブにまたがる Azure Firewall ポリシーを一元的に管理できます。これにより大規模でグローバルなネットワークでのセキュリティ管理が容易になります。

Azure DDoS Protection

Azure DDoS Protection はインターネット上の脅威である分散型サービス拒否攻撃(DDoS)から Azure 内のリソースを保護するサービスです。
Azure DDoS Protection はではレイヤー 3 とレイヤー 4 のネットワーク層で保護機能が提供されています。アプリケーションのリソースを使い果たし、正当なユーザーがアプリケーションを使用できなくなるようにする DDoS の試みに対して、さまざまな保護策・軽減機能が自動的に適用されます。

Azure Web アプリケーションファイアウォール

ネットワークセキュリティグループ(NSG)がレイヤー 2 での、Azure DDoS Protectionがレイヤー 3/4 での保護を提供するのに対して、Azure Web アプリケーションファイアウォール(WAF)はレイヤー 7 での保護を提供するサービスです。

WAF は一般的な悪用や脆弱性から Web アプリケーションを保護します。例えば Web アプリケーションへの SQL インジェクションやクロスサイト スクリプティングなど悪意のある攻撃に対して、WAF は保護を提供します。

WAF は Azure Application Gateway、Azure Front Door、Azure Content Delivery Network (CDN) サービスの内部に追加して動作させることができます。また上図のように、他のクラウドやオンプレミスのネットワークで実行されている Web アプリケーションを保護することも可能です。

負荷分散と冗長構成による可用性の確保

アプリケーションやサービスのセキュリティを考える際、可用性の確保も重要です。Azure 仮想ネットワークでは可用性の確保に役立つ負荷分散や冗長構成のサービスも提供されています。

Azure Traffic Manager

Azure Traffic Manager は、DNS ベースのトラフィック ロード バランサーです。

DNS ベースで複数の IP アドレスにネットワーク トラフィックを分散させることができるので、グローバルなアプリケーション/サービスで、アクセス元のエンドポイントに最も近いリージョンへトラフィックを誘導するような利用も可能です。

Azure Load Balancer

Azure Load Balancer は仮想ネットワーク内に設置する、レイヤー 4 で動作するロードバランサーです。

Load Balancer はフロントエンドに到着したネットワークトラフィックを、バックエンド プールのインスタンスに分配します。バックエンド プール インスタンスには仮想マシンを配置できます。トラフィックの分配は、あらかじめ構成した負荷分散規則と正常性プローブ(インスタンス=仮想マシンが正常に動作しているか)に従って行われます。
Azure Load Balancer を使用すると、アプリケーションをスケーリングしたり、高可用性サービスを作成したりすることができます。

Azure Application Gateway

Azure Application Gateway は Web アプリケーションへのトラフィック(HTTP/HTTPS)を分散できる、レイヤー 7 レベルで動作するロードバランサーです。

Application Gateway では、URI パスやホストヘッダーなどの HTTP 要求の属性に基づいて転送先を決定できます。たとえば /images が着信 URL にある場合は画像を保存しているサーバーに、/video が着信 URL にある場合はビデオ配信に最適化された別のサーバーに転送するよう構成できます。
Application Gateway でのロードバランシングにより、Web アプリケーションのパフォーマンスを最適化できます。

Azure Front Door

Azure Front Door は Microsoft のグローバルクラウドネットワーを利用して提供されている CDN(コンテンツ配信ネットワーク)です。

Azure Front Door では世界の主要都市にある 150 以上のエッジロケーション(アクセスポイント)を通じて、エニーキャスト ネットワークと分割 TCP 接続を使用した高いパフォーマンスで、IPv6 や HTTP/2 をサポートしたコンテンツの配信を行うことができます。

サービスの選択

以上の負荷分散と冗長構成のための機能は、分散の範囲がグローバルかどうか、トラフィックの種類が HTTP(S) かどうかで、以下のように選択することができます。

サービス グローバル/リージョン 推奨されるトラフィック
Azure Front Door グローバル HTTP(S)
Azure Traffic Manager グローバル 非 HTTP(S)
Azure Application Gateway 地域 HTTP(S)
Azure Load Balancer リージョンまたはグローバル 非 HTTP(S)

Azure からのネットワークアクセスの最適化

Azure NAT Gateway

Azure NAT Gateway は仮想ネットワーク内からインターネットへの接続に利用できるネットワーク アドレス変換 (NAT) サービスです。家庭や企業の LAN 内のコンピューターがプライベート IP アドレスしか持たなくてもルーターなどの NAT 機能でインターネットアクセスできるのと同様に、NAT Gateway を利用すれば仮想ネットワーク内の仮想マシンはプライベート IP アドレスのみでインターネットアクセスできます。
もちろんインターネットからの未承諾のインバウンド接続は、NAT ゲートウェイ経由では許可されません。NAT ゲートウェイを通過できるのは、アウトバウンド接続への応答パケットとして到着するパケットのみです。

構成はシンプルで、仮想ネットワークにデプロイしてパブリック IP アドレスを割り当てるだけで利用できます。また SNAT ポートが枯渇しないようアウトバウンド接続を自動的にスケールする動的な SNAT ポート機能を持っています。

Azure DNS

Azure DNS は、Azure の PaaS として提供される DNSドメインのホスティング サービスです。
組織が所有しているパブリックなドメイン名(例えば contoso.xyz ドメイン)をホストして、www.contoso.xyz のような FQDN の名前解決をインターネットに対して提供するパブリック DNS を作成することも、仮想ネットワーク内のプライベートな名前解決を提供するプライベート DNS を作成することもできます。

(プライベート DNS の例)

Azure DNS は管理が容易で、信頼性とパフォーマンスに富んだ DNS サービスです。

まとめ

Azure の仮想ネットワークでは、オンプレミスのネットワークと同様に安全で堅牢なネットワークを構築・運用するためのさまざまな機能・サービスが用意されています。Azure で実行するサービスやアプリケーション、ワークロードの種類や特性に合わせて、これらの機能・サービスを活用して、セキュアで安定したクラウド環境を構築してください。
Azure でのサービス・アプリケーションの構築や、オンプレミス環境からの移行、Azure 利用のためのサブスクリプションやライセンスについてのご相談は、当社担当営業までお気軽にお声がけください。

マルチクラウドの記事