Axelspace
💡

ゼロトラストへの取り組み 脱VPNとZTNA製品の導入について

に公開

はじめに

人工衛星に関わるビジネスを展開しているベンチャー企業、アクセルスペースホールディングスでコーポレートIT、セキュリティエンジニアとして働いております、mizuです。
ゼロトラストへの取り組みの一つとして進めておりました、従来型のVPNサーバ※1の撤去とZTNA製品であるTailscaleの導入についてある程度目途がついたため、振り返りとまとめの意味を込めて書き留めておきます。
※1 主に遠隔地から拠点内のサーバリソースにアクセスするため、公衆回線上に仮想的な専用ネットワークを設ける仕組み

従来のVPNの課題

かねてより、従来型のVPNには以下のような懸念点がありました。

  • VPNサーバをインターネットに公開する必要があり、攻撃者から狙われやすい(アタックサーフィスとなる)
  • VPNサーバで動作するソフトウェアは、常に最新版を適用する必要があり、各種運用コストが発生している。
  • 同時VPN接続数はVPNサーバのスペックに依存するため、キャパシティプランニングや急激な負荷スパイクへの対応が難しい。

こうした懸念点をクリアし、セキュリティインシデントへの対策を進めるため、弊社では脱VPN、ZTNA製品の導入を進めてきました。

Tailscaleの特徴

https://tailscale.com
ZTNA製品として今回導入したTailscaleは、従来型のVPN機能が要していた基本的なVPN機能を要しつつも、クラウドサービスであるために高いセキュリティと拡張性を兼ね揃えている製品となります。
いくつかの特徴と、Tailscaleの導入後のイメージを添付します。

[機能概要]

  • Tailscaleを起動したノード同士においてP2P通信が可能となる(tailnetという独自ネットワークをノード同士が構成できる)。
  • Subnet routersという機能を用いることで、Tailscaleインストールができない遠隔拠点内の機器にも通信が可能なる。
  • Exit Nodesという機能を用いることで、全トラフィックの発信元を固定することが可能となる。これにより、Source IPをExit Nodesが持つIPに固定化することが出来る。

[セキュリティ機能]

  • Google Authを認証基盤として利用できる(独自ID/Passwordは利用不可)。
  • Tailscaleを構成するノードはインターネットにIPアドレスを公開してListenする必要がなく、Inbound向け通信のポートを開放が不要。
  • ACL設定によって、ノード同士の通信を細かく制御できる。

[Tailscaleの導入後のイメージ]

他製品と比較、メリット

以前の記事では、CASB/SWG の仕組みに「Netskopeを導入している」と説明しておりました。
NetskopeにもNPA(現在の製品名はZTNA Next L7)というZTNAプロダクトがあるため、本来であればNPAを導入する方が各種コストを少なくできるはずですが、弊社は検討を重ねた結果いくつかのポイントにおいてTailscaleの方がメリットがあると考えました。

[コスト]

  • 単純に、ユーザ当たりのライセンス費用がより安価であった。
  • アクティブユーザ数に対して課金される請求モデルであるため、未使用ユーザ分は請求されない。
  • 余剰アカウントを用意しておく必要がない。

[機能]

  • NPAでは不可能となる、Clientノード同士が直接通信が可能となる。
  • 上述したようなP2P通信が実現できるため、多様なユースケースに対応できる。

[トラブル時の影響]

  • トラブル対応のためにNetskope ClientをDisableとすると、SWGとNPA双方の機能が利用できなくなる(影響範囲が大きくなる)。

導入までの工夫

Tailscaleの導入及び脱VPNを完了させるには、いくつかの検証を進めつつ、業務影響を最小に抑える必要がありました。導入の最中に発生し得るトラブル時の影響を極小化させるため、基本的に 「少しずつTailscaleに移行する(一斉に脱VPNしない)」 をポリシーに据えてタスクを進めました。
ここではTailscale導入をスムーズに進めるため実施した取り組みをまとめます。

検証は小規模に開始

Tailscale導入が可能かどうか については、エンジニアからバックオフィスのメンバーに至るまで広範囲の部署に検証を協力頂く必要があります。
その際、全社員に対していきなり「Tailscale検証を実施してください」と依頼せずに、各部署にて検証に協力してもらえそうなメンバーを「Tailscale担当者」として選定することで、小規模に検証を実施して頂きました。これには以下のようないくつかの理由がありました。

  • Tailscale検証時のトラブル影響を小さくし、シュートしやすくするため。
  • Tailscale担当者にTailscale導入展開時のサポートの役割を部分的に担ってもらうため。

脱VPN(追い出し)には専用のチャンネルを作成

Tailscale導入にある程度目途が経ったら、次は従来のVPNを平和的にTailscaleに移行して頂く必要があります。スムーズにTailscaleを利用いただければ問題ないのですが、忙しかったりそもそもVPNがよくわかっていなかったり、社内アナウンスを見なかったり…様々な理由で予定したスケジュール通りに移行タスクが進まないものです。
そうした、自律的な移行が叶わなかったメンバーに対しては、以下の方法で緩やかにTailscaleへの誘導を図りました。

  • VPNの利用者をログより抽出して、SIEMでモニタリング。
  • Slackに「追い出しチャンネル」を作成して、VPNの利用者だけを丁寧に招待。
  • VPNの利用を停止するまで繰り返しメンション。停止したら自分からチャンネルをleaveしてOKとした。

これからの展開

Tailscale導入にあたり、一部の環境において通信が遅延したり意図した動作がしなかったりというトラブルは発生しましたが、概ね想定していた通りのスケジュールでプロジェクトを進めることが出来ました。検証開始から全社導入完了までの期間は組織の規模にもよりますが、半年間程で完了できるぐらいのタスク分量であったように思います。
Tailscaleの利用をスムーズに進めるために、以下のタスクにも取り掛かっていく予定です。

  • IntuneなどのMDMツールを使用して、Tailscaleの配布を自動化
  • ACL機能を用いた最小のアクセスコントロールを実現

引き続き 脱VPNを完全に完了させる までプロジェクトは続きます。
この記事が誰かの「脱VPNとZTNAプロダクト導入」のヒントになれば幸いです。

Axelspace
Axelspace

Discussion