株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

【Zscaler】ZPAでVPNを置き換える!#6 App Connectorの構成

こんにちは。ネットワールドSEの藤田です。

ZPAでVPNを置き換える!の第六回です。
前回はZPAにおけるアクセスポリシーについてご紹介しました。
今回はプライベートネットワークへ接続し、アプリケーションへの接続を提供するApp Connectorについてご紹介します。


【Zscaler】ZPAでVPNを置き換える!#1 ZPAが求められる理由 - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#2 ユーザの操作感 - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#3 アプリケーション通信の流れ - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#4 アプリケーションの定義 - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#5 アクセスポリシーの定義 - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#6 App Connectorの構成 - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#7 認証のタイミング - ネットワールド らぼ
【Zscaler】ZPAでVPNを置き換える!#8 アプリケーションの転送制御 - ネットワールド らぼ

免責事項

  • 本書は、株式会社ネットワールド(以下 弊社)が作成・管理します。
  • 本書の記載内容の一部または全部を弊社に無断で改変・転載することを禁じます。
  • 本書の記載内容は、一部または全部が将来予告無く変更されることがあります。
  • 本書の利用は、利用者様の責任において行われるものとします。
  • 本書の記載内容には、最善の注意を払っておりますが、正確性・完全性を保証するものではありません。従いまして、本書の利用によって生じたあらゆる損害に関して、弊社は一切の責任を負いかねます。

App Connectorとは?

App Connectorはアプリケーションへの接続を提供する仮想アプライアンスです。App Connectorは社内のプライベートネットワークに配置されます。


App Connectorの役割は主に二点です。

  • アプリケーションへの接続
  • Zero Trust Exchange(ZTE)へのトンネル接続


App ConnectorはZTEとアプリケーションの中継役となります。ZTEへの通信はアウトバウンド方向で行われます。リモートアクセスにインバウンド通信を許可する必要がなくなるため、攻撃者の入口となるアタックサーフェイスを排除することができます。つまり、安全にアプリケーションへの接続を確保することがApp Connectorの役割だということです。

トラフィックフローの流れを理解すれば見通しがよくなりますので、以下のURLもご参照ください。
【Zscaler】ZPAでVPNを置き換える!#3 アプリケーション通信の流れ - ネットワールド らぼ


App Connectorに必要な通信

App Connectorに必要な通信を確認しましょう。App Connector自身もインバウンド通信は必要ありません。アウトバウンド通信のみで機能するため、App Connector自身のアタックサーフェイスも極小化されています。以下が必要なアウトバウンド通信です。

  • ZTEへのトンネル接続 HTTPS(443/TCP)
  • アプリケーションへの接続(TCP/UDP/ICMP)
  • DNS(53/TCP、53/UDP)
  • NTP(123/UDP)


クライアント端末はアプリケーションの実IPアドレスを知りません。
【Zscaler】ZPAでVPNを置き換える!#3 アプリケーション通信の流れ - ネットワールド らぼ

アプリケーションの実IPアドレスへアクセスするのがApp Connectorの役割です。その実IPアドレスを知るため、アプリケーションセグメントのFQDN情報を参照し、App ConnectorがプライベートネットワークのDNSサーバで名前解決を行います。そこで解決したIPアドレスへ、クライアント端末からのアプリケーション接続を中継します。そのため、アプリケーションセグメントに指定したFQDNを名前解決できるDNSサーバとの通信が前提となります。


App Connectorの配置

App Connectorはなるべくアプリケーションに近い場所へ配置します。そのため、IaaS基盤、オンプレミス基盤が複数ある場合、それぞれの基盤にApp Connectorを配置します。

App Connectorはコネクタグループという単位で管理されます。コネクタグループ内でトラフィックを負荷分散し、可用性を担保します。各基盤にコネクタグループを構成し、その配下にApp Connectorを配置します。


App Connectorの展開数

App Connectorは1台あたり最大500Mbpsをサポートします。リソースを増強することで、パフォーマンスを向上させることはできますが、台数を増やす水平展開による処理能力の増強が推奨です。デフォルトの1台あたりのリソースは以下の通りです。

  • CPUコア:4
  • メモリ:4GB
  • ディスク:64GB

App Connectorの展開数は、スループットより決定します。可用性を確保するため、必要台数のN+1で構成することが推奨です。
例: 600Mbpsが要件: 必要台数2台(500Mbps x 2台 = 1,000Mbps) + 1台 = 3台

※ リソース、スループットは条件により値が異なります。ご検討の際は必ず以下URLでご確認ください。
https://help.zscaler.com/ja/zpa/connector-deployment-prerequisites

また、展開できるプラットフォームはvSphere、Nutanixなどのオンプレミス基盤から、AWS、Azureなどのクラウド基盤にも対応しています。詳細は以下URLをご参照ください。
https://help.zscaler.com/ja/zpa/zpa-app-connector-software-by-platform


設定の紐づきを整理

さて、ここ迄でクライアント端末(ZCC)からアプリケーションへ至る一連のコンポーネントをご紹介しました。ここで通信が許可されるまでの設定の紐づきを整理しておきましょう。

このように設定が多段に紐づいてZPAは構成されています。初見では設定が複雑に感じられるかもしれませんが、これまで説明してきた内容を念頭に置けば見通しがよくなるのではないでしょうか。
なお、上記の中で「サーバグループ」だけは説明を省略しておりました。これは、アプリケーションの接続先であるコネクタグループ(App Connector)をまとめる設定とお考えください。

まとめ

今回はアプリケーションへの通信を安全に中継するApp Connectorについてご紹介しました。これで通信に必要な最低限のコンポーネントをご紹介できました。次回はユーザへ認証を要求するタイミングについて確認したいと思います。ありがとうございました。