SASEの検証を気合と根性でやりきった話

どうも、はじめまして技術本部コーポレートエンジニアの宮崎です。
インフラ系の部署で、社内系の何某をする仕事をしています。
現在メインの業務は、社内環境をゼロトラストモデル(後でちょっとだけ説明します)に改編することです。
ゼロトラストモデル実現の一環で昨年末に、SASEソリューションを2つ検証しました。
SASEは昨今注目されているものの、ネットで検索しても情報がヒットしないことも多いです。
今後SASEを検討する方に少しでもお役に立ててればと思い、「SASE検証体験談」を綴っていこうと思います。

※本編の中ではゼロトラスト等の言葉の定義について簡単に言及しますが、概念的な部分もあり、あくまで現時点での私の理解で言及いたします。

SASEとは

SASEとは、「Secure Access Service Edge」の略で、ネットワークとセキュリティをクラウド上で包括的に管理する、という考え方です。
SASEソリューションは下記のような機能が提供されています。(ソリューションによっては一部提供されていない場合もあります。)

  • SD-WAN:WAN回線をアプリケーションで制御
  • FireWall:不正アクセスを防御
  • SWG:インターネット通信を中継し、通信の可視化・制御やログの蓄積を行う
  • CASB:クラウドサービスへのアクセスを可視化・制御やログの蓄積を行う
  • ZTNA:社内のアプリケーションやデータへのセキュアなアクセスを提供

SASE検証の背景

今回、弊社がSASEを導入することを検討した背景としては、「脱VPN」と「ゼロトラストモデルの実現」の2点です。
この2点についてちょこっとだけ説明します。

脱VPN

リモートワークでは、自宅すなわち「社外」から「社内」の環境に接続することを実現する方法として、最もポピュラーなのが「VPN」です。
しかし、VPNの下記特徴が弊社としては課題だと感じておりました。

  • VPN接続するためにクライアントアプリを立ち上げる必要がある。
  • 運用コストがかかる。
  • 自宅から会社へネットワークを接続するので、自宅の脆弱性が会社及び他の自宅に影響を及ぼす可能性がある

上記課題は、SASEソリューションのZTNAの機能で解決できるのでは??という観点がSASEを検討した理由の一つです。

ゼロトラストモデルの実現

ゼロトラストモデルとは、一言で言うと「信頼するネットワークを作らず、すべての通信を信頼するためのポリシーを策定したうえで、そのポリシーに基づいてセキュリティを構成すること」です。「誰」が「指定したデバイス」で、「デバイスの状態が正常」であれば「対象サービス」への「指定したアクションの実行」を許可しよう、みたいなポリシーを策定します。そして、それ以外の通信は全部はじこう!という考え方のことです。

なんでここでゼロトラストモデルが出てくるのか。
従来は、「社内は安全」・「インターネットは危険」なものとして、境界防御・多層防御でセキュリティを担保していました。しかし、下記2点から境界防御・多層防御の限界を迎えています。

  • SaaSの利用拡大によりインターネット上に機密情報を格納することが多い
  • リモートワークの一般化により、安全としてきた領域の外で社員が働いている

ではどうすれば、SaaSを利用しても、社員がリモートワークでもセキュリティを担保できるのか。その解決策の一つがゼロトラストモデルなのです。そして、ゼロトラストモデルを実現する方法の一つがSASEです。

弊社もご多分に漏れず、現在は境界防御な上に、SaaS利用も多くリモートワーク率も高いです。そこでゼロトラストモデルを実現しよう!だったらSASEを検討してみよう!となりました。

SASE検証の前提条件

ここでは、SASEの検証の前提条件を「社内環境」と「ソリューションに求める要件」に分けてご紹介します。

社内環境の前提条件

①検証にかけられるリソース

下記のリソースで検証を行いました。

  • 検証期間は2カ月
  • 検証メンバーはSASE未経験者3人

➁検証における条件

今回の検証では、下記の条件の下で行いました。

  • 検証ソリューションは2つ
  • 検証コスト抑えるために、検証における有償サポートは使用しない

③ネットワーク構成

現状のネットワーク構成と目指している構成をご紹介します。

現状のネットワーク構成

目指している構成

検証ソリューションの要件

①ユーザーライセンスであるもの

SASEソリューションは各社料金体系が異なります。ユーザー数で課金されるユーザーライセンスのものが多いかなと思いますが、中には帯域で課金されるソリューションもありました。予算の立てやすさ等の観点から、弊社としてはユーザーライセンスであるものから選定しました。

➁ZTNA,SWG,CASBの機能が備わっているもの

SASEの導入に際して弊社では下記要件がありました。

  • 脱VPNをしたい → ZTNAが必要
  • 社員が行うすべての通信を可視化し、侵害や悪意または潔白を証明できるようにする → SWGが必要
  • シャドーITを可視化したい → CASBが必要

ですので、ZTNA,SWG,CASBが備わっている上で、それらの機能の性能が高いソリューションを選定しました。

検証の観点と検証内容

SASEソリューションには様々な機能があるため、多角的な観点で検証を進めておりました。その中で弊社が特に重要にしていた検証の観点と検証内容をご紹介します!

①SASEソリューションを使用することにより、通信の遅延や断絶が発生しないか?

SASEソリューションの口コミをみていると、少数ではありますが「ネットにつなげなくなった」「通信が遅くなった」等のコメントが見受けられておりました。下記の理由により遅延や断絶を重要な観点としていました。

  • 社内全員が使用するものなので、業務にクリティカルに影響するようであれば導入できない
  • 導入後にセキュリティが向上しても業務効率が落ちてしまうと、企業経営においてマイナスな可能性もある

➁社内環境へのアクセスはちゃんとできるか?

上述の理由から脱VPNのためにSASE導入の検討をしています。そのため、「現在VPNで提供している社外からのアクセスを提供しているシステムへのアクセスをSASEで提供できるか」という観点も非常に重要でした。

③SWGを使用することによる業務影響はあるか?

SWGでは暗号化した通信をSASEソリューションで複号し、中身をチェックした後に再暗号化して通信を行います。それによって、すべての通信(もしくは一部の通信)の可視化や制御ができるようになります。しかし、通信を複号するためのプロセスで何かしらの影響が出る可能性はあると考えていました。そのため、SWGによって業務影響はあるか?またある場合は、どのような影響で回避策はあるのか?という観点も重要でした。

④CASBによってシャドーITは可視化できるか?またCASBでどんなことが出来るのか?

社内でシャドーITの可視化したいという要件があったため、シャドーITを可視化できるか?またどのうように可視化されるのか?という観点は重要でした。

また、CASBの機能は可視化だけではないので、CASBでどのようなことが出来るようになるか?という調査も行いたかったです。まだ弊社はゼロトラストモデル実現の過渡期であるため、CASBの設定を作りこんで色々な制御をするフェーズではないです。しかし、今後CASBを使用する際、または何かしらの課題を解決するため手の段とするために、機能把握も同時に進めていくこととなりました。

検証結果

検証を通して分かったことを、前述した検証の観点に対応する形でご紹介しようと思います!

①SASEソリューションを使用することにより、通信の遅延や断絶が発生しないか?

結論としては、通信の遅延や断絶は発生しなかったです。検証期間は一つのソリューションに対して1か月なので、導入する際に絶対大丈夫!という判断をするのには短い期間ではございますが、少なくとも検証期間中は発生しませんでした。

またちょっとおまけ的なお話をすると、検証ユーザーに展開した際に、一部ユーザーでネットに接続できないという事象が発生しました。通信をSASEソリューションに一度向かわせるために、検証したソリューションは通信パケットにヘッダーを付与する仕様でした。それにより、パケットサイズが上限値を超えてしまったことが原因でした。ソリューションの管理画面上でMTUサイズを調整することで解決しました。パケットサイズの上限値はユーザーの環境(回線,ルーター,PC等)によって異なりますので、MTUが原因で通信ができない事象への対応は、下記のどちらかが必要なことが判明しました。

  • 個別で対応していく
  • 全社員が通信を行えるMTUに調整して全社員にその調整を適応させる

➁社内環境へのアクセスはちゃんとできるか?

結論としては、こちらもVPNでアクセスを提供しているシステムへSASEを介してアクセス可能でした。しかし、Active Directry(以後AD)の認証ではかなり手こずりました。ADはケルベロス認証という特殊な認証方式で認証を行います。SASEのZTNA機能を用いてケルベロス認証を行うためには、特有の設定をソリューションの管理画面で行う必要がありました。

また弊社は、「オンプレADに参加しているPC」と「AzureADに参加しているPC」が混在しています。それぞれのPCでAD認証の挙動が異なり、どちらのPCでもADにアクセスできるように設定することも難航しました。

③SWGを使用することによる業務影響はあるか?

こちらは、業務影響が発生しました。検証したソリューションでは2つとも、「ソリューション固有の証明書」をインストールし、その証明書を使用して通信を行うことで通信の複号と再暗号化を実現する仕様でした。通常の通信であれば、その証明書を信頼してデフォルトで使用する設定を行うことで、通信が可能になります。しかし、特定のコマンドや仮想環境で行う通信では証明書エラーが発生してしまい通信が行えませんでした。エンジニアからすると致命的です。特定コマンドはPCのデフォルトの証明書を使用しないため、証明書エラーが発生しました。仮想環境においてはその環境に証明書が存在しないため、証明書エラーが発生しました。こちらの回避策は下記が考えられます。

  • 証明書エラーが発生する通信は、管理画面からSASEソリューションを介さずに通信するように設定する。
  • 証明書エラーが発生するコマンドにおいては、環境変数を編集してソリューション固有の証明書を使用するように構成する。また、仮想環境においては仮想環境にもソリューション固有の証明書をインストールする。

SASEを介さない通信が増えれば増えるほど、ログの完全性が損なわれます。そのため弊社としては、SASEを介さなくすることで解決とすることは、可能であれば行いたくありません。しかし、コマンドごとに仮想環境ごとに証明書の設定をしていくことはかなり負担がかかります。そのため、導入の際はどちらの方法で解決するのか、また負担がかかる場合はどうやって運用で負担を軽減していくのか、を慎重に考えていく必要がありそうです。

④CASBによってシャドーITは可視化できるか?またCASBでどんなことが出来るのか?

シャドーITの可視化は可能でした。ただ、検出できるアプリケーションの多さや検出できる範囲(サービスやユーザー情報、アクション) 等はソリューションによって異なりました。また、検出できる範囲によって制御できる範囲も相関して変わってきます。

CASBで出来ることについては、大枠は検証を通して理解することが出来ました。ただ、より詳細な機能把握やベストプラクティス的なものの理解までは、到達できませんでした。

まとめ

今回2つのソリューションの検証を2か月で何とか終えることができました。実際には、同時に検証している期間が発生しましたし、ベンダー・社内の調整が非常にカツカツでした。時間的余裕があるのであれば1つのソリューションあたり、準備/検証/振り返りで計3カ月用意した方が無難というのが率直な感想です。

また、無償の範囲内ではございますがベンダーさんリセラーさんのサポートがあったからこそ検証をやり切ることが出来ました。(善意で無償サポート外の対応をいただいたところも一部ございます。本当にありがとうございました。)ですので、お金的余裕があるのであれば、検証の有償サポートも契約した方が無難というのも、正直な感想です。

しかし、SASEソリューションの未経験者しかいない状況であっても検証・導入を推し進めることは十二分に可能だということもわかりました。ただ、あくまでそれはSASEソリューションの使い方的な部分です。SASEを導入する際にはデバイスやネットワークに大きく影響を与えますので、社内環境とネットワークに関する理解が深くないと難しいと感じました。それらの理解がないと、通信が出来ない等のトラブルシュートの際に問題の切り分けが行えないからです。幸いにも私以外のメンバーが、社内トップレベルでそれらに詳しいメンバーであったため、なんとか検証をやり切ることが出来たと思っています。

最後に、これからSASEを検討される方に1つだけ偉そうにアドバイスさせていただきます。まず初めに「SASEの機能の中で何が一番重要なのか」を明確にするとソリューションの選定がスムーズにいくと思います。色々な会社の説明を聞いた上で検証した結果、その会社が一番最初に提供した機能がソリューションの強みでした。例えばSWGの機能からサービスの提供を開始し、現在ではSWG/CASB/ZTNA等のサービスを包括的に提供するSASEソリューションを提供している会社は、そのソリューションの強みをSWGとしておりました。ですので、どの機能が一番重要なのかを決めて、その機能からスタートしたソリューションを優先して検証すると良いと思います。

ここまで読んでいただき誠にありがとうございます。どなたかの参考になれたのなら幸いです。