外部公開サーバをAzureに用意する

f:id:Hikaruru_G:20191202221517p:plain

NPO日本ネットワークセキュリティ協会JNSA)より、外部公開サーバに関する基準

https://www.jnsa.org/policy/gaibukoukai_server.pdf

本日のお品書き

  1. ネットワークの分離の考え方
  2. LBとしてApplication Gatewayを利用しようとしているが、Firewall必要?
  3. Application Gatewayってどこまでの機能が備わっている?DNATもできるんかいな。
  4. 最終構成

1. ネットワークの分離の考え方

こういった話で真っ先に登場するのがDMZ Azureでこの考え方を適用しようとすると、DMZ専用のVNETを構築してそのVNETのNSGにてインバウンドとアウトバウンドのアクセスをコントロールする。 そうなるとフロントにAzure Firewallを置く必要があるのか。Application Gateway WAFもいらないのか。

ここまでの脳内システム構成 一般ユーザー ⇒(インターネット)⇒ Azure Firewall ⇒ VNET(NSG) ⇒ LoadBalancer ⇒WEBサーバ ⇒VNET(NSG) ⇒ DBサーバ

2. LBとしてApplication Gatewayを利用しようとしているが、Firewall必要?

docs.microsoft.com

Application Gateway WAF と Azure Firewall の違いは何ですか? Web アプリケーション ファイアウォール (WAF) は、一般的な脆弱性やその悪用から Web アプリケーションの受信保護を一元的に行う Application Gateway の機能です。 Azure Firewall は、非 HTTP/S プロトコル (例: RDP、SSHFTP など) の受信保護、すべてのポートとプロトコルに対する送信ネットワークレベルの保護、送信 HTTP/S に対するアプリケーションレベルの保護を提供します。

WAFの機能はAzure Firewallにはないからね。SQLインジェクションやらクロスサイトスクリプティングへの脅威に対しては、Application Gateway WAFが必要と。

ここまでの脳内システム構成 一般ユーザー ⇒(インターネット)⇒ Application Gateway WAF(LB兼Firewall) ⇒ VNET(NSG) ⇒ WEBサーバ ⇒VNET(NSG) ⇒ DBサーバ

3. Application Gatewayってどこまでの機能が備わっている?DNATもできるんかいな。

ネットワーク セキュリティ グループ (NSG) と Azure Firewall の違いは何ですか? Azure Firewall サービスは、ネットワーク セキュリティ グループの機能を補完します。 全体で、優れた "多層防御" ネットワーク セキュリティを実現します。 ネットワーク セキュリティ グループには、分散ネットワーク レイヤーのトラフィック フィルター機能があり、この機能によって各サブスクリプションの仮想ネットワーク内のリソースに対するトラフィックを制限します。 Azure Firewall は、完全にステートフルな一元化されたネットワーク ファイアウォールです。さまざまなサブスクリプションと仮想ネットワーク全体にネットワークレベルとアプリケーションレベルの保護を提供します。

これじゃわからん。

https://cloud.nissho-ele.co.jp/blog/azure-firewall/

Azure Firewallが持つネットワーク機能は主に次の2つ(A,B)です。 A. NAT機能 Source-NAT Azure Firewallから外部へ送信されるトラフィックは自動的にAzure FirewallのパブリックIPへ変換します。 Destination-NAT Azure FirewallパブリックIP宛の通信を仮想ネットワークのプライベートIPへ変換します。

どこまでがPublicIPでどこからがPrivateIPなのかは意識しないといけないのか。なるほど。

tech-lab.sios.jp

Application GatewayもDNATはできるのね。Application Gatewayを入れるならFirewall不要説か。

クライアントのソースIPが単一IPにNATされるので、複数クライアントからの接続でもソースIPがバックエンドのサーバからは単一のクライアントと見えてしまい、ソースIPでクライアントを識別することができない。

これは注意しないといけないな。XFF使うなりしないとログ解析が難しくなりそう。LB方式はCookieにしないとだめと。

B.トラフィックフィルタリング ネットワークルール 宛先とソースのIPアドレス、ポート番号、プロトコル(TCP/UDP/ICMP)をもとに、トラフィックをフィルタリングできます。

Application Gatewayのサービス概要を見てもどうやらできない模様。 以下のようなシステム構成が描けるということは、インターネット側もNSGで制御してそのあとの通信をApplicationGatewayで受けられるということなのかな。

f:id:Hikaruru_G:20191215183754p:plain

4. 最終構成

最終的な脳内システム構成 一般ユーザー ⇒(インターネット)⇒ VNET(NSG)&Application Gateway WAF(LB兼Firewall) ⇒ VNET(NSG) ⇒ WEBサーバ ⇒ VNET(NSG) ⇒ DBサーバ

ちなみに、IPベースでAPIごとに割り振りしようとするとかなーーーりめんどくさそう。(以下、参考サイト) tech.opst.co.jp

~おしまい~