🗂

ZTNA と VPN の違い (Microsoft Entra Private Access を念頭に)

2024/06/20に公開

TL;DR

  • ZTNA (LWF 実装) と VPN の違いについて、ちゃんと説明できるようになり隊
  • L4 で制御できるのは大きなポイントの一つ
  • VPN Gateway の Microsoft Entra 認証と似てるけど置き換えられるポテンシャルは感じる

はじめに

よくある質問として、じゃあ Zero Trust Network Access (ZTNA) は VPN と何が違うのか、というのを考えてみます。
ZTNA の実装方法として VPN と LWF がある、というのもあるので、実際には LWF と VPN の違い、という感じでしょうか。

ChatGPT さんにとりあえず回答をお願いしつつ、自分の思うところを後ろに書いておきます。
ここでの ZTNA は Microsoft Entra Private Access を念頭に置いているので、Zscaler、Netskope、Cisco Secure Access などでは違うかもしれません。

ChatGPT さんのご回答

以下のような問いを投げています。

SASE の文脈における ZTNA の実装方法として、VPN と NDIS Lightweight Filter (LWF) があるようです。LWF を利用した実装のメリット、優位な点は何でしょうか?

とりあえずのご回答です。

SASE (Secure Access Service Edge) の文脈において、ZTNA (Zero Trust Network Access) を実装する方法として VPN と NDIS Lightweight Filter (LWF) がありますが、LWF を利用した実装にはいくつかのメリットがあります。以下にその優位な点を挙げます:

  1. 効率性とパフォーマンス:

    • LWF はネットワークスタックの下層で動作するため、VPN と比較して低レイテンシで通信を処理できます。
    • トラフィックのフィルタリングと処理が効率的に行われるため、全体的なネットワークパフォーマンスが向上します。
  2. セキュリティ:

    • LWF は OS のネットワークスタックに直接組み込まれるため、通信の初期段階でトラフィックをフィルタリングできます。これにより、不正なトラフィックを早期に検出・ブロックすることが可能です。
    • ZTNA ポリシーの適用をネットワーク層で直接行うため、エンドポイントセキュリティが強化されます。
  3. 柔軟性:

    • LWF は複数のプロトコルやトラフィックタイプをサポートするため、さまざまなネットワーク環境やアプリケーションに適応しやすいです。
    • エンドポイントのネットワーク接続の状態に基づいて動的にポリシーを適用できるため、柔軟なアクセス制御が実現します。
  4. 管理の簡素化:

    • LWF はエンドポイントに直接インストールされ、中央管理が容易です。これにより、IT 管理者は一元的にポリシーの適用や設定変更を行えます。
    • VPN と比較して、クライアントソフトウェアの管理や設定が簡素化されるため、運用コストが削減されます。
  5. ユーザーエクスペリエンスの向上:

    • VPN のように全トラフィックを一度集中管理するのではなく、必要なトラフィックだけをフィルタリングするため、ユーザーエクスペリエンスが向上します。
    • ローカルネットワークリソースへのアクセスがスムーズに行えるため、リモートワーク時の生産性が向上します。

これらの点から、LWF を利用した ZTNA の実装は、VPN に対して効率性やセキュリティ、柔軟性の面で多くのメリットを提供します。

自分の思うところ

ということで、以下、自分の思うところです。

低レイテンシー

ここについてはちゃんとパフォーマンスを比較していないのですが、多分いい感じなんだと思います。
Zscaler Client ConnectorのWindowsフィルタードライバの使用 にも「このフィルターを使用すると、VPNクライアントとアプリの相互運用性が向上します。詳細については、LWFドライバーに関するMicrosoftのドキュメンテーションを参照してください。」とは書いてあるものの、詳細はよくわかりません。。

mstsc を使ってる感じだと、オンプレミスまで直接 VPN を張るのに比べれば Secure Service Edge (SSE) を経由するため最初の認証画面が出るまでにじゃーーっかんの遅延があるように思いますが、得られるメリットとのトレードオフとしては全然許せる範囲だと思います。

セキュリティ

VPN で利用されるプロトコルと比較して、LWF では HTTPS を使っていることが多いように思います。
IPsec と HTTPS どっちがセキュアか、という比較をしたいわけではないですが、Microsoft Entra Private Access の場合には Microsoft Entra の条件付きアクセスを利用し、MFA を必須化したり、送信元の IP アドレスによって認証の動作を変えることができます。
VPN 利用時に、PC に証明書をインストールするとか、個人の証明書を使うとか、本人確認のためのレベルを高めるためにいろいろと四苦八苦してきたわけですが、まぁめんどいですし、逆にそのレベルが Azure や Microsoft 365 にアクセスするそれと同じレベルにそろえられるのであれば監査とかの観点でもメリットがあるかと思います。
VPN Gateway にも Microsoft Entra 認証のオプションがあるため、その観点だけでは差があまりないかもしれませんが、LWF より細かい制御が可能です。
もちろん、VPN Gateway は Azure でしか使えないので、リモート アクセス + Microsoft Entra 認証的なものがオンプレミスで実現できることも大きなメリットです。

また、認証先が一旦クラウドで終端するので、昨今流行っている VPN の脆弱性を突かれたサイバー攻撃に関してもある程度対応がしやすいのでは、という観点もあります。
もちろん、Microsoft Entra Private Access に脆弱性が未来永劫絶対ないわけではないですが、少なくとも保守契約がなくてファームウェアのバージョンアップしてなくて、、、という事態は避けられます。

Microsoft Entra Private Access Connector について、外部からのポート開放が必要ないのもセキュリティに寄与するポイントの 1 つかなと思います。
あくまで Microsoft Entra Private Access Connector サーバーから SSE に対しての通信のみが必要で、これは内側から外部への HTTPS 通信となるためハードルとしては低めな気がします。

柔軟性

ここについては明確な違いがあると思っており、VPN の場合、ルーティングで制御することになるため、その粒度は IP アドレス、サブネット単位になります。
一方で、ZTNA の場合には、プロトコルとポート番号を組み合わせて制御することができるため、より細かい制御が可能です。
たとえば、VPN の場合には 192.168.11.0/24 を丸ごと VPN に乗せることになりますが、ZTNA の場合にはその中でも 22/tcp や 3389/tcp だけを通す、といったことが可能です。

実際に、丸ごと VPN に向けてしまうと問題になるケースをあまり思いつきませんが、それでも柔軟性があることはまぁいいことではないのでしょうか。

管理の簡素化

VPN の場合の課題点の一つとして、専用のクライアントをインストールしないとクライアント PC のルーティングを設定できない・設定しづらい、というのがあるかと思っています。
Azure VPN でも、IPsec トンネル自体は専用のアプリケーションをインストールせずに接続可能なのですが、その場合にはルーティングをユーザー側で設定する必要があります。
もちろん、Azure VPN クライアントをインストールすればいいだけ、という話でもあるんですが、この部分をユーザーに触らせない、というのは一種の安心感があります。

ユーザーエクスペリエンスの向上

VPN が使いづらいか、というと人によりますが、あくまで Microsoft Entra Private Access は、という観点でいうと、透過的に動いており、ユーザーからみると使いやすいように思います。
あとは管理者としてもクラウドでログは確認できるため、トラブルシュートもしやすいのでは、という気もしています。
ここに関してはもう少し利用ユーザーを増やしていきながら知見をためていこう、という感じです。

境界型セキュリティとゼロ トラスト?

この記事では具体的な内容として VPN と ZTNA を比較しましたが、もうちょっと広い概念として境界型セキュリティとゼロ トラストがあるかなと思います。
境界型セキュリティとゼロ トラスト ネットワークを比較すべきなのか ではその点についても簡単に書いているのでぜひご覧いただければと思います。

まとめ

タイトルだけではよくある話ですし、ChatGPT に聞いていることからも若干サボっている感はありますが、Microsoft Entra Private Access を念頭に置いた ZTNA と、VPN の比較について簡単に書いてみました。
Azure VPN の Microsoft Entra 認証と結構似ている点もあるかなと思いつつ、LWF を使っていることでプロトコルベースで通信制御できるのは大きな違いの 1 つかとは思います。
願わくば VPN Gateway のように Microsoft Entra Private Access Connector がマネージド サービス的に提供してくれるとなぁ、という気はしています。(オンプレミスの場合でも .ova で提供される、とか)

  • LWF を利用している ZTNA なら、IP アドレス、サブネット単位ではなくプロトコルとポート番号で通信制御ができる
  • VPN Gateway + Microsoft Entra 認証的なリモートアクセス構成がオンプレミスでも構築できる
    • VPN 機器のファームウェア アップデート的な対応が不要
    • インターネット側から Microsoft Entra Private Access Connector サーバーへのポート開放は不要
    • Microsoft Entra Private Access Connector をインストールした Windows Server の運用は必要
  • ユーザー自身でルーティングをいじって管理者の意図しない通信が可能になってしまう、というのを避けられる
    • ちょーっといやですけどね

参考

  • Microsoft Entra Private Access はどうやってパケットを曲げているのか (分からんかった)

https://zenn.dev/skmkzyk/articles/me-private-access-routing

  • Microsoft Entra Private Access の出口

https://zenn.dev/skmkzyk/articles/mepa-tunnel-exit

  • Zscaler Client ConnectorのWindowsフィルタードライバの使用

https://help.zscaler.com/ja/client-connector/using-windows-filter-driver-zscaler-client-connector

  • 境界型セキュリティとゼロ トラスト ネットワークを比較すべきなのか

https://zenn.dev/skmkzyk/articles/perimeter-security-and-ztna


Update log

  • typo の修正とか - 2024/06/25
  • tag の追加とか - 2024/07/14
  • 新しい記事の内容を参照する段落を追加 - 2024/08/08

Discussion