Cloudflare Zero Trustでホテル/コワーキングなど公共LANへの接続を解禁しました

2022.06.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

クラスメソッドではこれまで会社が管理する社内ネットワークや自宅以外への貸与パソコン接続を禁止してきました。今回Cloudflare Zero Trustというサービスを利用しホテルやコワーキングスペースで提供されるネットワークへの接続を許可することにしました。

公共LANの危険性

クラスメソッドの情報セキュリティマニュアルでは、会社が管理していないホテル、カフェ、コワーキングスペースのネットワークを「公共LAN」と呼んでいます。

公共LANがすべて危険というわけではありません。適切に管理されたLANがほとんどだとは思いますが、どの公共LANなら安全で接続を許可するのかリストアップするのは現実的ではありません。また利用者が安全/危険を判断するのは困難です。 そのためこれまで会社では公共LANへの接続を一律で禁止としてきました。

悪意あるネットワークに接続することの危険性については、弊社イベントでもお世話になった徳丸さんがYouTubeで動画を公開してくださっているので、そちらをご覧ください。

公共LAN利用の危険なポイントは3つと考えました。

  1. 暗号化されていない、またはWEPなど脆弱な暗号化方式利用していることによる通信の盗聴
  2. DNSキャッシュポイズニング等による改ざん
  3. 他の利用者にパソコンのフォルダ共有などが公開されてしまう

このうち(3)のフォルダ共有については、各パソコンに設定しているパーソナルファイアウォール機能により他PCからの接続を遮断することで対策しています。

今回Cloudflare Zero Trustを利用することで1と2、盗聴と改ざんからパソコンを守ることにしました。

Cloudflare Zero Trustとは

Cloudflareといえば1.1.1.1で公開されたDNSで世間で広く知られています。またCDNも広く利用されていますし、WorkersといったEdge Function、最近はD1というEdge SQLiteなどが注目されているようです。

これらはいずれもコンテンツを提供する サーバーを Cloudflareサービスで覆うことで、利用者に安定したコンテンツ配信を提供するものです。

Cloudflare Zero Trustはこれとは違い、端末とインターネットの間に入る事で、端末を 安全に保護する機能を提供してくれます。

ちなみにCloudflare Zero Trustは最近まで「Cloudflare for Teams」という名前で呼ばれていました。2022年の2月頃にサービス名が変更されたようです。

Cloudflare Access

  • IdPブローカー的なもの。たとえばGoogle WorkspaceとAzureADの間に入って仲介する。
  • Google Workspace (SP)からみるとIdP。
  • Cloudflare AccessはGoogle Workspace (SP)からの認証リクエストをAzureAD (IdP)に問い合わせつつ、かつCloudflare独自の条件(Warp経由か?等)を付与して認証レスポンスをSPに返す。

Warpエージェント経由で取得できるDevice Posture(OSや、MDMで管理されているか、等)や、EDR製品と連携したスコア値等を条件とすることもできます。正しいユーザー + 正しい端末を条件にアクセスを制限できるわけですね。

Cloudflare Gateway

  • いわゆるSecure Web Gateway。
  • 後述のWarpを使ってCloudflareとVPN接続をすると、すべてのトラフィックがCloudflare Gatewayを通るため、WebコンテンツフィルタリングやShadow-ITの検知を行うことができる。

Cloudflare Warp

  • Cloudflareの提供するグローバルネットワークと繋ぐVPNトンネル。
  • Warpオンにするとインターネットに向かうすべての通信がWarp →Cloudflare→Cloudflare Gatewayを通ってインターネットに出ていく。
  • 加えてDNSがCloudflareが提供するリゾルバーに切り替わるので安全に名前解決ができるようになる。

これからの展望

Cloudflare GatewayでのInspectionを有効にする

Cloudflare GatewayではInspection機能(HTTP policies)を使うことでL7レベルのファイアウォールが利用可能です。

この機能の利用するためには各端末にCloudflareのルート証明書の配布と設定が必要です。

HTTPS通信を仲介する動きをするため、一部アプリケーションについては動作が不安定となり、除外設定が必要になる場合があります。

この除外設定はログから除外すべきホストを探して行うのですが、残念ながらこの調査が現行の機能だとやや手間で運用負担になることから、2022年6月現在はInspectionを無効(Do Not Inspect)にしています。

Cloudflare Tunnelを使って、AWS VPCと繋げる

  • ngrok のようなもの
  • 発行されたURLに届いたHTTPリクエストをポーリングして、指定のサイトへリダイレクトしてくれる。
  • TCPやUDPのパケットをポーリングして、宛先のIPアドレスに中継してくれる。
  • これにより社内サーバー(VPC内のEC2)はプライベートネットワークに閉じつつも、外部からアクセスが(トンネル)できるようになる。

これによりWarpをオンにしておくだけで、VPC内のEC2ともシームレスに通信できるようになります。

さいごに

Cloudflare Zero Trustを用いることで安全性を保ちつつ、ホテルやコワーキングスペース利用などを制限を取り払えると考えています。これによりテレワークやワーケーションの促進の他、物理オフィスの簡素化も期待できます。

韓国オフィスはCloudflare Zero Trustを利用することで、早期にオフィス準備ができました。

今後もくらめその情シスでは多様な働き方を支える情報システムを構築、提供していきたいと思います。

7月のDevelopersIO 2022では情シスメンバーによる取り組みを紹介するセッションを予定しています。くらめその情シスに興味がある方はぜひご視聴ください!!