🚀

【Zscaler】Z-Tunnel バイパス設定(Zoom をバイパスした際の検証)

に公開

はじめに

Zscaler を導入することで、企業ネットワークのセキュリティ強化が期待できます。
一方で、オンラインミーティングアプリや社内アプリなどの特定の通信を、意図的に Zscaler をバイパスさせる必要があるケースも存在します。
本記事では、主に Z-Tunnel 1.0 および 2.0 のバイパス方法の違いを中心に、PAC ファイルを活用した実践的な設定手順と検証結果について紹介します。

対象者

  • Zscaler の導入・運用を始めたばかりのネットワーク管理者
  • Z-Tunnel の挙動や設定を実践的に理解・検証したい方

記事の構成

  • Z-Tunnel 1.0/2.0 とは
  • 検証条件
  • 設定手順
  • 検証内容/結果
  • ワンポイントアドバイス
  • 所感

Z-Tunnel 1.0/2.0 とは

Zscaler では、Zscaler Client Connector(ZCC)を通じてトラフィックを Zscaler クラウドに転送する際に、Z-Tunnel 1.0 と 2.0 の2種類の Tunnel バージョンが存在します。

バージョン 主な特徴
Z-Tunnel 1.0 ポート80(HTTP)および 443(HTTPS)の Web トラフィックのみを転送
Z-Tunnel 2.0 TCP/UDP/ICMPを含む、全てのポートとプロトコルに対応

Z-Tunnel の詳細についてはヘルプページをご参照ください。

検証条件

今回は、Web通信をドメインベースでバイパスする方法について検証しました。
バイパス対象は Zoom の通信です。

検証環境 バージョン
OS Windows11 24H2
ZCC 4.6.0.180

設定手順

Z-Tunnel 1.0 と 2.0 ではバイパスの設定方法が異なります。
詳細な設定手順についてはヘルプページをご参照ください。

Forwarding Profile / App Profile とは
  • Forwarding Profile
    トラフィックをどの方法で Zscaler に転送するかを定義する設定

  • App Profile
    ZCC がどの Zscaler クラウドへ、どんな認証方法で接続するかを定義する設定

1. Z-Tunnel 1.0 を使用したバイパス設定

  1. ZIA 管理ポータルにて PAC ファイルを追加
  2. ZCC 管理ポータルにて App Profile に PAC ファイルの URL を指定

2. Z-Tunnel 2.0 を使用したバイパス設定

  1. ZCC 管理ポータルにて Forwarding Profile の「Redirect Web Traffic to ZCC Listening Proxy」を有効化

  2. ZCC 管理ポータルにて App Profile に、PAC ファイルの URL を指定

details Redirect Web Traffic to ZCC Listening Proxy とは

Web 通信を全て ZCC のリスニングポート宛に送る機能。
リスニングポート宛に転送された通信は、自動的に Z-Tunnel 1.0 で処理される。

3. PAC ファイル作成

Web 通信をドメインベースでバイパスする場合は、PAC ファイルを使用する必要があります。
PAC ファイルによって、Zscalerへ 転送する通信と Zscaler をバイパスさせる通信とを振り分けます。
今回設定した PAC ファイルのスクリプトは以下の通りです。

PAC ファイルスクリプト
function FindProxyForURL(url, host) {

    var privateIP = /^(0|10|127|192\.168|172\.1[6789]|172\.2[0-9]|172\.3[01]|169\.254|192\.88\.99)\.[0-9.]+$/;
    var resolved_ip = dnsResolve(host);
    // var country = "${COUNTRY}";

    /* Don't send non-FQDN or private IP auths to us */
    if (isPlainHostName(host) || isInNet(resolved_ip, "192.0.2.0", "255.255.255.0") || privateIP.test(resolved_ip))
        return "DIRECT";

    /* FTP goes directly */
    if (url.substring(0, 4) == "ftp:")
        return "DIRECT";

    /* test with ZPA */
    if (isInNet(resolved_ip, "100.64.0.0", "255.255.0.0"))
        return "DIRECT";

    /* Zoom domains bypass */
    if (
        dnsDomainIs(host, "zoom.us") ||
        shExpMatch(host, "*.zoom.us") ||
        dnsDomainIs(host, "zoom.com") ||
        shExpMatch(host, "*.zoom.com") ||
        dnsDomainIs(host, "zoomgov.com") ||
        shExpMatch(host, "*.zoomgov.com") ||
        shExpMatch(host, "*.zoomcdn.io") 
    )
        return "DIRECT";

    /* Updates are directly accessible */
    if (((localHostOrDomainIs(host, "trust.zscaler.com")) ||
        (localHostOrDomainIs(host, "trust.zscaler.net")) ||
        (localHostOrDomainIs(host, "trust.zscalerone.net")) ||
        (localHostOrDomainIs(host, "trust.zscalertwo.net")) ||
        (localHostOrDomainIs(host, "trust.zscalerthree.net")) ||
        (localHostOrDomainIs(host, "trust.zscalergov.net")) ||
        (localHostOrDomainIs(host, "trust.zsdemo.net")) ||
        (localHostOrDomainIs(host, "trust.zscloud.net")) ||
        (localHostOrDomainIs(host, "trust.zsfalcon.net")) ||
        (localHostOrDomainIs(host, "trust.zdxcloud.net")) ||
        (localHostOrDomainIs(host, "trust.zdxpreview.net")) ||
        (localHostOrDomainIs(host, "trust.zdxbeta.net")) ||
        (localHostOrDomainIs(host, "trust.zsdevel.net")) ||
        (localHostOrDomainIs(host, "trust.zsbetagov.net")) ||
        (localHostOrDomainIs(host, "trust.zspreview.net")) ||
        (localHostOrDomainIs(host, "trust.zscalerten.net")) ||
        (localHostOrDomainIs(host, "trust.zdxten.net"))) &&
        (url.substring(0, 5) == "http:" || url.substring(0, 6) == "https:"))
        return "DIRECT";

    /* Default Traffic Forwarding. Forwarding to Zen on port 80, but you can use port 9400 also */
    return "PROXY ${GATEWAY_FX}:80; PROXY ${SECONDARY_GATEWAY_FX}:80; DIRECT";
}

検証内容/結果

Zoom 通信が Zscaler をバイパスしていることをログで確認しました。
実際のログ表示はこちらです。
Z-Tunnel 1.0/2.0 のどちらでも、ログの表示内容に違いは見られませんでした。

ワンポイントアドバイス

バイパスした通信は Zscaler を経由しないためログには表示されません。
ただし、ZCC のフローログ機能を使用することで、Zscaler をバイパスしたトラフィックもログとして確認することが可能です。
フローログに関しては、ヘルプページの「フローログ」項目をご参照ください。

所感

Z-Tunnel 1.0 と 2.0 の挙動は、似ているようで運用の観点では大きく異なります。
設定方法が異なるため、使用している Tunnel バージョンを正確に把握した上で、適切に設計することが重要です。バイパス設定はセキュリティリスクにもつながるため、要件を明確にした上で、必要最小限の範囲に絞って適用するよう心がけましょう。

本記事では、Zscaler の Z-Tunnel 1.0/2.0 におけるバイパス設定の違いや、実際の検証結果について解説しました。最後までお読みいただきありがとうございました。

株式会社プログデンス
設定によりコメント欄が無効化されています