2021/10/04

Microsoft AzureでSSL証明書対応のウェブサーバーを立てる(その2/2)

前回までのあらすじ

サブスクリプションを作る
コスパの良いVM構成を選ぶ
VM上でWindows Server 2022 を動かす
ローカルからRDPで当該VMに接続する
サーバーアプリ(IISやApache)をインストールして公開する

こちらの記事がその1/2

Azureネットワークの構成概念図

私が勝手にイメージしているもの。いろいろ間違っていると思います。大航海時代に作られた「想像を含む」世界地図だと思ってください。

FrontDoorの設定

FrontDoorとは

つまりは、簡単設定ウィザードのようなもの。単なるウィザードではなく、xxxxx.z01.azurefd.netという無料SSL付きのドメインが付いている。


このあたりを選択してスタート

スタンダードとプレミアムは何が違うのか?

「Azure Front Door Premium SKU builds on capabilities of Standard SKU, and adds: 」とあり、プレミアムはスタンダードの完全上位互換の様子。「BOT protection Private Link support Integration with Microsoft Threat Intelligence and security analytics. 」のようなセキュリティ機能が付くらしい。不要!不要!

エンドポイントの追加

つまりは、ドメイン名は何にしますか?という話。

全体の流れが表示される

配信元とは何か

つまりは、どこのVMに接続したいですか。という話。固定IPアドレスを取得しているならば、IPアドレスを直接指定でもよいし、VM直結のドメイン名を指定してもよい。配信元ホストのヘッダーにはVMのIPアドレスが入っている。

ルートの追加

どういう流れでVMまでつなげていくかを設定。cpxxxxx.z01.azurefd.netを開くときはSSL必須(httpはhttpsにリダイレクトされる?)
一致するパターンは要注意。きちんとリダイレクトの設定をしないと、サブフォルダを指定するとnot foundになるなど、おかしな動きになって、結果、CSSだけ表示されないとか。はまりました。デフォルトの「一致するパターン /*」「配信元のパス 空欄」で動作確認してから変更した方がいい。

一通り設定したあとにするべき大切なこと

とにかく待つ

<h2>Our services aren’t available right now</h2><p>We’re working to restore all services as soon as possible. Please check back soon.</p>

など、いくつかのエラーパターンがあるが、いずれも処理中に出るエラーであり、正常。
分かりにくい!改善を求めたい。

Azure Network Security Group(NSG)の設定

これは特殊な設定が必要なようです。とはいっても、仕組みとしては簡潔。
フロントドアからVMまではhttpでつなぐので、フロントドアから来たパケットを通す。という設定。サービスタグとは何なのか。詳しくはわかりませんがAzure内通信を意味する予約語と思います。

WAF(Web Application Firewall)の設定

WAF(Web Application Firewall)とは

外部からAzureを開いたときに一番最初に通ることになるファイアーウォール。FrontDoorの設定上は必須ではない。

WAF(Web Application Firewall)を設定するときに大事なこと

いくらいろいろと設定を重ねても、ポリシーモードを「防止」に設定しないと効果を発揮しない。「検出」だとログに記録されるだけで侵入されてしまう様子?

みんな大好きgeoロケーションフィルタ

特定の国だけアクセス拒否、日本からしか接続できない。などを設定できる
こちらも設定反映まで数分かかる。それまでは動きに変化がないので正しく設定されているのか否か分かりにくい。

WAFの設定はNSGの設定と同じで、優先度の高い順に当てはめていく方式なので、最後に「定義のないトラフィックはすべて拒否」みたいな設定をしないと、侵入禁止設定とならない。つまり「許可する」設定のみでは意味をなさないので注意。


このように日本onlyに設定して試したところ、当社ローカルPCからはアクセス可能、Azure上の米国リージョンに置かれたVMからは開けない。となり、正しく動いていた。

WAFは有料

セキュリティ機能だから無料サービスなのかなと思いきや有料の様子。Azureは息を吸うだけでも課金される。