🛵

「Cloudflare Zero Trust」 で組織のゼロトラストネットワークを構成する

2022/05/20に公開約6,400字

背景

2020年、新型コロナウイルスが蔓延しだしてから、「ゼロトラスト」という言葉をよく聞くようになりました。
その後、聞きはするけど、あまり具体的に調べてみたことはありませんでしたが、Cloudflareの管理画面に久しぶりにログインしたら「Zero Trust」というメニューがありました。CloudflareといえばCDNの会社として有名ですが、そんなこともやっていたのかと気になり、ちょっと調べてみましたので、ここに忘備録として残しておきます。

結論を先に書いておくと、

  • トラフィックに対するアンチウイルス(ランサムウエア、スパイウエア等のスキャン、ブロック)
  • DNS、HTTP、TCPでのフィルタリング(スパムやアダルトサイトなど問題のあるサイトのブロック)
  • 社内向けサーバーへ、社内、自宅、外出先からセキュアにアクセスするネットワークの提供
  • 社内向けサーバーへアクセスする際の認証機能の提供
  • 会社、自宅のPCやスマートフォンから、簡単にゼロトラストネットワークに繋ぐアプリを提供
  • ユーザー単位でのゼロトラストネットワーク内の各種サービスへの接続許可・拒否の設定が可能
  • アクセスログ、フィルタリングログの保存、分析

等々が使えて、ユーザー数50人まで無料(ログの保存期間など別途制限あり)ってのはすごいなと思いました。
ちなみに私はゼロトラストネットワークについては素人ですので、間違い等ありましたら指摘をお願いします。

ゼロトラストまでは必要ないよ、という企業でも、Fortigateのような統合脅威管理(UTM)を導入していない場合などは、とりあえずCloudflareのゼロトラストにある Gateway を使うだけでも安価にセキュリティの向上が見込めるんじゃないでしょうか。

ゼロトラスト前のVPNネットワーク

多分、今でもこの構成が多いんじゃないかと思いますが、一般的なLANとVPNを用いたネットワークだと以下のような構成になると思います。
この場合、社内サーバーにはVPNを通してアクセスし、インターネットには各拠点から直接出て行きます。

各拠点分散型ネットワークの例

上の方法だと各拠点に統合脅威管理(UTM)が必要で、どうしてもコストが高くなる、という場合は以下のようにする方法もあります。

一点集中型ネットワークの例

ただ、昨今のコロナウイルス感染症の影響で在宅勤務が増えた結果、多くの社員がVPNで本社などの拠点を経由して、社内向けサーバーやインターネットと通信することになりました。
しかしみんなが会社にVPNで繋ぐと思いの外通信が遅いことがありました。
また、社内サーバーに繋がない場合でも統合脅威管理(UTM)を通さないとセキュリティ面で不安があるために、やはりVPNで会社経由で各種インターネットサービスを使用する場合が多いんじゃないでしょうか。

Cloudflareのゼロトラストネットワークサービス

それに対するCloudflareのサービスは以下のような構成です。

一つ一つ見て行きます。

  1. Team
    • Cloudflareのゼロトラストサービスでは、組織単位をTeamとして登録します。
    • ただし、Teamは物理的にどのような形でネットワークに繋いでいてもよく、社内、自宅、あるいは外出先等からCloudflareが提供するアプリによって接続することができます。
  2. Gateway
    • GatewayはCloudflareネットワーク上においてセキュリティ機能を提供し、組織をランサムウエアやフィッシング等から守る機能を提供します。
    • 特定サイト(例: yahoo.com)、あるいは指定したカテゴリーのサイト(例:アダルトサイト)等へのアクセスを、DNS、HTTP(S)、TCPパケットのレベルで遮断します。
  3. Warp
    • これらの機能を提供するゼロトラストネットワークに簡単に接続できるアプリを提供します。
    • スイッチのON/OFFでゼロトラストネットワークへの接続を有効化/無効化できます。
    • Warpは 1.1.1.1 Warpとして、Windows, Mac, Linux, iOS, Android向けに提供されているCloudflareのアプリです。
    • Warpに Team名を登録し認証することで、表示が「ZeroTrust」に変わり、自組織のゼロトラストネットワークへ接続できるようになります。
  4. Access
    • Accessは社内やクラウド上に存在する、社内向けのサーバーへの通信経路、認証機能を提供します。
    • ゼロトラストネットワークでは、たとえ社内にあるサーバーでも信用しませんので、それら全てに対する認証機能もCloudflare Zero Trust によって提供されます。
    • また、社内向けの各種サービスへの、ユーザーごと、組織ごとの接続の許可・拒否といったコントロール機能も提供します。
    • SaaSサービスへの接続可否もユーザーごとにコントロールできます。

Cloudflareの最大の特徴は、これらの機能をクラウドサービスとして提供している点にあると思います。(したがって高価なUTMなどのハードウェアを別途購入する必要はありません)

VPNを構成するのはWireGuard

  • WarpアプリからCloudflareのエッジまでの通信はVPNにより暗号化されています。

  • このVPNにWireGuardというUDPベースのVPNが使用されています。

  • WireGuardについては、私も過去に調べて書いたことがありました。

  • CloudflareのWireGuard実装は、Rustで実装された独自のBoringTunという実装を使用しているようです。

  • WireGuardはハードウェアによる最適化が無くても高速に動作するので、個々のデバイスがVPNでゼロトラストネットワークに接続するような使い方には最適だったということがあるのかもしれません。

  • なお、Cloudflare Zero Trust経由でインターネット上のサービスに接続すると、接続元IPアドレスはCloudflareのGatewayのIPアドレスになります。

アンチウイルス

Cloudflareのアンチウイルス機能については日本語の記事が出ています。1年ぐらい前のものですね。

また、アンチウイルスがどのように動作するかについては以下に記載があります。

ウイルススキャンを実行する条件

スキャンを実施するのは以下の条件のいずれかに合致した時。

  • HTTP HeaderContent-DispositionAttachment の時。
  • HTTPリクエストのbodyが以下のファイルタイプを含むとCloudflareによって判断された場合。
      * 実行可能ファイル (例: .exe, .bat, .dll, .wasm)
      * ドキュメント (例: .doc, .docx, .pdf, .ppt, .xls)
      * 圧縮ファイル (例: .7z, .gz, .zip, .rar)
      * Content-Dispositionヘッダーのファイル名に、上記のファイルタイプカテゴリの1つであることを示すファイル拡張子が含まれている時。

上記の条件のいずれにも適合しない場合、オリジンのContent-Typeヘッダーを使用して、ファイルをスキャンするかどうかを決定するとのこと。
そして画像、ビデオ、またはオーディオファイルタイプのカテゴリにあると判断したファイルはスキャンされないようです。

ファイルがスキャンをトリガーせず、スキャンから除外される基準にも一致しない場合、デフォルトでファイルのマルウェアスキャンが実行されます。

スキャンを実行しない条件

以下の条件に適合する場合はスキャンを実行しない。というかできない。

  • ファイルサイズが15MB以上。
  • パスワードをかけて暗号化されたファイル。
  • 3階層以上の階層を持つアーカイブ。
  • 300以上のファイルを含むアーカイブ。
  • PGPによって暗号化されたファイル。

なお、アンチウイルス機能が有効にされている場合、デフォルトで全てのアップロード・ダウンロードされるファイルに対してスキャンを試みるが、設定によって特定のURLに対するスキャンを無効化できる。

また、アップロードのみ、ダウンロードのみ、または両方をスキャンするように設定できる。

ウイルススキャンをするということは、ユーザーとサービスの間でプロキシとして機能し、HTTPSを復号してスキャンしていることになります。この点に不安を覚える場合は、Settings → Network → Firewall → TLS decryption を無効にした方が良いでしょう。

外部サイトへのアクセス制御

  • Gatewayで特定サイトへのアクセスを許可/拒否 設定することができます。
  • ドメイン指定や、URLによる指定の他、カテゴリ指定して許可/拒否 設定できます。
  • カテゴリには、スパム、スパイウェア、アダルトなどがあり、設定しておくとCloudflare側の情報と付き合わせて自動で判断されます。

拒否指定されているサイトにアクセスすると、以下のように事前に設定したメッセージとともに拒否画面が表示されます。

個人的には、たとえ社内サービス的なものがなくても、これらのアンチウイルス機能やサイトブロック機能だけでも使う価値があると思いました。てか冒頭にも書きましたが、これらを50人まで無料で使えるってすごくないですかね。
もう、Fortigateとかの統合脅威管理(UTM)入れてない会社だけでなく、個人でもとりあえずコレ使ったらどうかと思う。

Warpアプリ

  • Windows, MacOS, Linux, iOS, Android向けに、ゼロトラストネットワークに接続するためのアプリが提供されています。
  • 何れもインターフェイスは共通かつシンプルで、以下のようにスイッチをONにしておけば常時ゼロトラストネットワークに接続していることになります。
  • Warpアプリは無料で提供されます。

ログ解析

ロギングを有効にすると、アクセス等のログが記録されるようになります。

例えばこんな感じで記録されます。

また、全体のアクセスカテゴリなどの分類も表示されます。

なお、Freeプランでは、ログの保存は24時間までです。

料金プラン

燦然と輝くFreeプラン。とりあえず無料で使い始めて、人数が増えたり機能不足を感じたらスタンダードプランに移行で良さそう。

使ってみて

  • 1週間ぐらい前からこのゼロトラストネットワークサービスを個人で使ってみています。
  • 対象は、PC(Mac, Linux)、iPhoneです。
  • WireGuardによるVPNは高速に通信できるため、一般にVPNを経由してインターネット通信したときのようなストレスは全く感じていません。Zoomも特にストレス無く使えました。
  • ただ、たまに特定のiPhoneアプリが起動直後に落ちることがありました。その場合は一時的にWarpアプリでゼロトラストを無効にすれば立上がりました。
  • 何度も書いてますが、これだけの機能を無料で使えるのは驚きです。在宅勤務が増えた企業のネットワーク構築やセキュリティ強化にあたって最初の選択肢にしても良いのではないかと思います。
  • なんなら在宅勤務じゃなくてもセキュリティ強化の目的で使ったら良いと思いました。

Discussion

ログインするとコメントできます