
皆さま、はじめまして!SB C&S新卒の伊東です。
本記事では、社内アプリケーションに安全にアクセスすることができる「ZPA」の機能のひとつである「AppProtection」について解説いたします。
はじめに
入社してからゼロトラストやZscalerの技術を学ぶ機会が多くありました。その中で特に気になった機能が「AppProtection」という機能です。
ZPA (Zscaler Private Access) を使うと内部アプリケーションに安全にアクセスできることはわかりました、しかし、ユーザは安全にアクセスしてくれるとは限りません。
そこで今回疑問に思ったのが、「もし不正なリクエストをアプリに送ったらどうなる?」という点でした。
この疑問をきっかけにZPAを調べてみると、ZPAにアプリ層のセキュリティを追加する役割を持つ機能があることがわかりました。この記事では、新卒エンジニアの学びとしてAppProtectionの概要と特徴、検証イメージを整理してみます。
AppProtectionとは?
AppProtectionは、ZPAに組み込まれたアプリケーションを保護する機能です。
ユーザとアプリを直接つなぐZPAの中で、さらにアプリ層に到達するトラフィックを検査し、攻撃を未然に防ぐ役割を果たします。
つまり「ネットワークを守る」ものではなく「アプリそのものを守る」ものです。ユーザの認証だけでなくアプリへの攻撃検知・防御までカバーするのがAppProtectionです。
どんな場面で使う?
- 内部からの不正なリクエストをアプリ前でブロックするとき
端末やネットワークから届くリクエストを、ZPAで検査します。XSSやSQLi、セッション乗っ取り等の挙動を検知、遮断し、攻撃種別ごとに可視化できます。 - レガシー/ブラックボックス化している社内アプリに防御を追加するとき
改修が難しい社内WebサーバやAPIに対して、SQLi/XSSなどのWeb攻撃や既知CVEを使用した攻撃からコードを変えずに防御が可能です。
AppProtectionの設定
実際にAppProtectionの設定を行い動作を確認します。
- AppProtectionプロファイルを作成
- AppProtectionポリシーを作成
- アプリケーションセグメントの設定
今回は、指定したいアプリケーションセグメントやセグメントグループ等の基本的な設定は完了した状態でAppProtectionの設定をします。
1.AppProtectionプロファイルを作成
AppProtectionプロファイルは、対象アプリに対する「検査内容」と「検出時の動作」を定義する設定です。OWASP定義済みコントロール、HTTPカスタム、WebSocket、API、ThreatLabZ など複数カテゴリのコントロールから必要なものを組み合わせて総合的な検査をし、悪意のあるトラフィックを検出した際のアクションを割り当てることができます。
ZPA管理ポータルから、[構成とコントロール]>[セキュリティ]>[セキュリティ プロファイル]にアクセスし、画面左上にある、[追加]をクリックし設定します。
コントロールの設定では検証のため、XSSにチェックを入れます。
2.AppProtectionポリシーを作成
ZPA管理ポータルから、[ポリシー]>[セキュリティ ポリシー]>[AppProtection]にアクセスし、画面左上にある、[追加]をクリックし設定します。
アクションに先ほど作成したAppProtection プロファイルを設定します。
条件では、既存のアクセスポリシーを再利用して、AppProtectionポリシーを作成することができます。
今回は、既存のアクセスポリシーを使用してAppProtectionポリシーを作成します。
3.アプリケーションセグメントの設定
ZPA管理ポータルから、[リソース管理]>[アプリケーションの管理]>[Application Segments]にアクセスします。
今回は、既存のアプリケーションセグメントを編集し設定します。
AppProtectionを適用するアプリケーションを指定し、AppProtectionにチェックを入れます。
動作確認
ZCCを導入済みの端末から、XSS攻撃を模した無害なリクエストを下記の条件で検証用のWebサーバに送信しました。
・AppProtection が適用されている
・Webサーバ側でXSS対策を実装していない
その結果、リクエストはWebサーバに届かず403エラー(アクセス拒否) が表示され、Webサイトへのアクセス自体がブロックされました。
※AppProtectionにより攻撃をブロックした場合、ユーザーは403レスポンスコードを受信します。
ZPA管理ポータルからログを確認
AppProtectionポリシーによりXSS攻撃が拒否されたことを確認できました。
まとめ
今回は、ZPAの機能の一つである「AppProtection」についてご紹介いたしました。
AppProtectionはアプリケーション自体に変更を加えることなく、ZPA側でL7層を保護できる機能となっています。
そしてクラウド上でアプリを保護するため、Webサーバ側の負担を少なくすることができます。
ぜひ社内アプリ保護の一つとして考えてみてはいかがでしょうか。
これからも新卒として学んだことを発信していきたいと思いますので、どうぞよろしくお願いいたします!
__________________________________________________________________________________
※本ブログの内容は投稿時点での情報となります。
今後アップデートが重なるにつれ正確性、最新性、完全性は保証できませんのでご了承ください。
他のおすすめ記事はこちら
著者紹介

SB C&S株式会社
技術本部 技術統括部 第4技術部 2課
伊東 景勲