Azure VNET パート1

Azure VNETがわかんない。とおもって検索していた時に見つけたサイトで驚き。

なつかしさこみ上げる、vSwitchという単語。

VNET間の通信は妖精さんが勝手につながるようにしてくれるに思い込んでいたんですが、 裏側はこの仕組みだったのか~という驚き。

2年位前にVMwareのvSwitchやらVTEPを利用したL2延伸(VXLAN)をやるというプロジェクトをやっておりまして、 一生懸命ネットワークの論理構成図を書いたのを思い出しました。

ネットワークAと延伸したネットワークA'が会話するためには、VTEPを経由してカプセル化と非カプセル化を行います。 この時のMACアドレスNSXコントローラが持つよ。などなど

なつかしさとともに、クラウドという言葉によって、根本的な技術から目を背けていたんだなぁと気が付くことができました。このサイトに感謝。

次回はそもそもVNETってどういう単位で分割すべきなのかということに着目して勉強したいと思います。オンプレミスの環境だと、セグメントを分離するぐらいしかやらないじゃないですか。VNETの分離ってどういう設計思想の元やればいいのかぴんとこない。

www.syuheiuda.com

外部公開サーバを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

~おしまい~

TLS1.0からTLS1.2への変換 完結編?

f:id:Hikaruru_G:20191215165545p:plain

(左がTLS1.0さん、右がTLS1.2ちゃん)

Apache NginxをProxyとして利用してプロトコルを変換できないかと考えていた話の続きです。

hikaruru-g.hatenablog.com

なんと、Stack Overflow(スタックオーバーフロー)で回答見つかりました! しかも特に何か設定などもいらなそう。。。

stackoverflow.com

client(TLSv1.0) --> apache(performs handshake with client with TLSv1.0) (redirects request to server, performs handshake with server with TLSv1.2) --> server(TLSv1.2).

(当然なんですけど…)Apacheまで到達したSSLリクエストはそこで復号されてしまうですよ。 だから、ApacheとそのバックエンドのAPサーバとSSL通信したければ、そのAPサーバにHTTPSでリダイレクトすればよい。

というわけでロジック解説。※未検証

①client(TLSv1.0) --> apache(performs handshake with client with TLSv1.0)

クライアント(PC端末などのブラウザ)と中間のApacheProxyサーバ)が、まずSSLハンドシェークを行い、暗号レベルを決定する。 この時にクライアント側のCipherListでTLS1.0が最も強い暗号レベルだった場合はそれに決定。

SSLのためのサーバ証明書秘密鍵Apacheに投入して、そのサーバ証明書を確認するためのroot証明書/中間証明書はブラウザに設定。

apache(redirects request to server, performs handshake with server with TLSv1.2) --> server(TLSv1.2)

①の電文がApacheに到達したときには復号済みのデータとなっている。そのあとに暗号化するか平文にするかはリダイレクト先次第。

ここでAPサーバのコンテンツのパスに向けてリダイレクトしてあげれば、①と同様にSSLのハンドシェークが行われてめでたしめでたしと。 (apacheとAPサーバは最新バージョンで用意すれば、自動的にTLS1.2になると思われる)

時間が取れれば、検証までやるようにします。。(汗

~おしまい~

TRiECHOESって知ってます?

f:id:Hikaruru_G:20191215171819p:plain

最近のYoutubeぶらり散歩の流行りは、楽器演奏。

感傷的な気持ちに浸るために探してた時に見つけたユニット TRiECHOES 

もし、、もし、、生で聞けるような機会があれば是非足を運んでみたいと思います。

www.youtube.com

評価する記事はいくつもありますが、公式に活動している情報は見当たらないですね~。 今後の活躍が楽しみなグループです。

wagakkimedia.com

~おしまい~

クリスマスキャロル 是非見に行ってみて!

f:id:Hikaruru_G:20191214163652p:plain

クリスマスキャロルの感動をまとめてみました。 拙い文章で伝わりにくいと思いますが是非見に行ってみてください!!

まだ、チケットは余っているようです。

christmascarol2019.jp

物語のあらすじを抜粋

原作は1843年に出版された英国の文豪チャールズ・ディケンズの小説「クリスマスキャロル」。 主人公のスクルージは、IT会社の社長としてブイブイ言わせている。財力も社会的知名度も抜群であり、マスコミには若きカリスマ経営者として持ち上げられ、満ち足りた生活をしているように思える。しかし実際は相当に心の闇を抱えており、強引に社内の合理化を進め、自分の意にそぐわない社員は直ちに解雇。無駄な出費は一切許さず、社内の冷暖房も必要最低限のものとし、社員の不興をかっていた。

どこで見てたの?

2Fの一般席でした。7000円。絶対食事券付きの席がいい。

どの辺が面白かった?

(世間が思っているであろう)過去の堀江さん像を利用していて非常に面白かったです。 堀江さん自身も演じているような感じではなく、素のままという感じがしてほっこりする舞台でした。

そして、大天使ミカエル役の湯澤幸一郎さんの演技が圧巻。存在感が一人だけ異常でした✨

何を感じた?

  • 上演中も終始写真撮影OK SNSにバンバン上げてくださいと。写真撮影OKというだけでも元が取れたような気持ちに。

  • アリーナ席と2F席の温度差。ミュージシャンのライブでもそうですが、物理的な距離=盛り上がり度 は舞台でも同じでした。

  • びっくりしたのが、食事付き席を予約しているテーブルには堀江さんが挨拶まわりしてるんですよ。 あんなことされたら絶対リピートするだろうと。こういう地道なコツコツがファンを増やしていくんだと思います。

  • 舞台内容とは直接関係ないんですが、キングコング 西野さんをはじめ、幻冬舎 箕輪厚介さん、OWNDAYS 田中修治さんもいらしていて、アリーナ席を遠くから眺めているだけでなんか幸せでした。いつか会いたいっていうよりも、いつか対等に会話のできるような自分を作りたい。と強く思った一日でした。

ということで、ホリエモン万博2020年にも応募しました!

expo.horiemon.com

クリスマスキャロル見てきました!

christmascarol2019.jp

ホリエモン主演のクリスマスキャロル見てきました!

見る前までは期待はしていなかったのですが、(出演者の方々ごめんなさい)すごく面白かったです。 どの辺が良かったかは明日まとめてみようと思います。

行くなら40000円のアリーナ席が大変おすすめです。 やっぱり、食べて飲んで、しかも距離が近い。来年はここにします。