ユーザーの状況は変化することが前提
スマートフォンの普及に伴いほとんどのユーザーはWi-Fi接続をします。ユーザーはアクセスポイントのメーカーやアクセス方式などほとんど無意識に常に安定した、高速なデータ通信ができる経路を探します。 もし社内でWi-Fiを提供したとしても、ユーザーが持ち込んだテザリングのほうが快適に仕事ができるのであれば、ユーザーは必ずそれを利用します。名目上としてルールとして禁止されていても、実際そのほうが便利だったりします。
- なぜ会社が提供したWi-Fiを使わないといけないのか?
- なぜ会社が用意したシステムは使いにくいのか?
ユーザーは常に自分にとって最適な方法を駆使して、業務効率を改善しようとしていると仮定すると、とても合点の行く話です。 裏を返せば、システム提供側は、社内のシステムへの安全性を担保さえできれば、どのWi-Fiを利用してもよいと判断できるはずです。もし会社が用意した回線がもっとも快適であれば、ユーザーは社内のWi-Fiを利用するだろうし、万一テザリングに切り替えても、経路と適切なアクセス権限を適用できるのであれば、ユーザーには働き方の自由を提供することができます。それを実現するのが、SDPの役割です。
ゼロトラストアクセスの基本アーキテクチャ
PDPとかPEPと呼ばれる装置を使って、保護するリソースへの通信をすべて検証します。
PDP/PEPより前の部分はすべてがUNTRUSTゾーンです。そして、PDP/PEPから先がTRUSTゾーンです。
単にこの図だけを見ると、内部ファイアウオールで構成と変わりはないようですが、PDP/PEPの機能を落とし込んで見ましょう。
構成のポイントとしては、コントロールプレーンのPDP(Policy Decision Point)と、データプレーンのPEP(Policy Enforcement Point)をコンポーネントとして分離していることです。通常の内部ファイアウオールを利用した場合、ポリシー管理もポリシーの実行も同じ場所で実装していますが、機能を分断し、それぞれ情報を同期することで、2段階の処理が必要となります。
PDPを突破されても、許可した情報がなければ、PEPを通過することはできません。更にPEPを通過するためには、PDPによるアクセス権の許可が必要です。 このようにして、リソースの前に境界線を設置することで、リソースのいるトラストゾーン以外からの通信を検証することが、ゼロトラストアクセスの基本構成となり、この境界線をソフトウェアで定義するのがSDPの役割です。
SDPは複数の要素による認証を行う
リモートアクセスVPNと違って、ゼロトラストアクセス及びSDPは1つの要素ではアクセス許可を行うことを行いません。必ず、複数の情報を用いてアクセス元の検証が行われます。この時検証する単位をコンテキストと呼ぶ場合があり、ユーザーがアクセスする背景情報を検証することで、正しいアクセス状況かどうかを判断します。
つまり、「ユーザーの状況は変化する」ということが前提であり、その変化状況をポリシーのオブジェクトとして利用することができるわけです。
コンテキストにはさまざまな条件をオブジェクトとすることができ、それらのオブジェクトを条件(AND/OR/IF)で組み合わせることで、一般的なファイアウオールよりも論理的なアクセス制御と権限の払い出しが可能です。リモートアクセスを想定するなら、アクセスしているユーザーを目視することもできない状況で、どういったデバイス、どこの場所から、どんなOSからアクセスをしているのかわかりません。それら一つずつ、企業が決めたポリシーしたがって、あらゆるオブジェクトを検証することで、ユーザーが正しい状態でアクセスしていることを検証することになります。
例えば、ユーザーは日本で勤務しているのに、突然海外から深夜、更に英語のOSでアクセスが実行された場合、そのアクセスは正しいアクセスでしょうか。 多くのリモートアクセスVPNの場合、正しいユーザーアカウントさえ、VPN装置に提示できれば、簡単にログインができてしまっているのかもしれません。またそれを把握することもできていないのかもしれません。
SDPのコンポーネント
ゼロトラストは概念です。理想的な概念に従って、コンポーネントを構成することで、役割を明確化し暗黙の了解を作らないということが重要かと思います。 シリーズ2でもSDPのコンポーネントを書きましたが、まさにSDPはこのゼロトラストアクセスのアーキテクチャがそのままコンポーネントとして用いられています。
図 SDPのコンポーネント
アクセスの監視と権限の変更
リモートアクセスVPNで注視されるの大半が、接続時のユーザー認証ですが、VPNの多くが、このユーザー認証を使って、正規/非正規の分類も含めて行っている状況です。SDPに限って言うと、正規/非正規は何度も登場していますが、SPAによって非正規のユーザーにはSDPのシステムは論理的に存在しないため、基本的には何かしらの資格を持ったユーザーだけがSDPのシステムを利用します。
正規のユーザーでも、そのユーザーが常に正しいアクセスしかしないかというとそういうわけではありません。ユーザーがマルウェアに感染していることもあれば、間違ってサーバーへアクセスしてしまうこともあります。もっと最悪なのが、内部ユーザーによる不正アクセスです。
リモートアクセスVPNの多くは、VPN接続が確立すると、ユーザーがセッション切断する、またはアイドルタイムアウトが発生するまで、通信は継続します。つまりリモートアクセスVPN通信は最初の認証さえ乗り越えれば、自由な振る舞いが可能な場合が多くあります。多くのリモートアクセスVPNでは接続後、ユーザーがデバイスのソフトウェアファイアウォールを無効化しても、管理者権限に昇格しても、リモートアクセスVPNを通して安全だと思われる経路から、強力な権限を持ったデバイスが接続されていることに気づくことができません。
SDPはこのようなデバイスの状態変化にも目を光らせます。
リモートアクセスVPNは基本的に信頼を元にアクセス権限を払い出す仕組みのため、認証が通れば、アクセスポリシーを払い出します。つまり認証通ることがネットワークアクセスへの信頼を得たことになります。 SDPは認証を通ることは、その時の1つの状態に過ぎないので、アクセスするユーザーにはその状態を維持していることを求めます。また違反を検知した場合は、即座に改善を求めて、状態に即した権限を速やかに変更します。
まとめ
リモートアクセスVPNは多くの環境で利用されている技術ですが、ユーザーの善意と努力によって支えられている可能性があります。ユーザーの善意だけではマルウェアや過失による不正アクセスといったシステムの安全性を担保することが難しくなっているのも事実です。
SDPはユーザーの状況は常に変化することを想定し、アクセス権限ダイナミックに追従することができる技術です。それが自宅のWi-Fi、移動中のテザリングアクセス、社内のネットワークシステムであってもをすべてUNTRUSTと定義することで、一貫したアクセスポリシーと状況に応じた柔軟性の両方を提供できる、新しい技術となります。
今まで社内だと社内のWi-Fiにつなげて、外出すると、リモートアクセスVPNを起動して、また戻ったら、社内のWi-Fiにつなげてという、境界を意識したアクセスをすることも多かったかもしれません。この行為自体がもはやSDPによって過去のものになりつつあります。
次回は最終シリーズ SDPの展開や拡張性について
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第3技術部
宮本 世華
釣りが好きです。