TSA(Terminal Server Agent)設定のヒント (Palo Alto PAシリーズ)
本記事では NGFW(Palo Alto PA シリーズ)でTSA(Terminal Server Agent)を使用する際の仕組み、設定方法及び注意点について紹介します。
TSA を利用することで、NGFW でリモートデスクトップ接続のユーザを特定して、通信の制御やログの収集をするができるようになります。
目次[非表示]
- 1.はじめに
- 2.使用上の制限及び利用条件
- 3.設定方法
- 3.1.TSA インストーラのダウンロードおよび インストール
- 3.2.TSAの設定
- 3.3.NGFW の設定
- 4.接続状態の確認
- 5.参考情報
- 6.まとめ
はじめに
TSAとは
TSA(Terminal Server Agent)は、Windows ターミナルサーバや Citrix XenApp に TSA をインストールすることで、リモートデスクトップ等を利用した通信に関してセッションとユーザの紐付け情報を NGFW に提供します。
ターミナルサービスを使う場合、複数のユーザが同じ IP アドレス使用するため、PA シリーズの User-ID Agent を使ったセッションとユーザの紐付けはできません。しかし TSA を使う事で、ターミナルサーバを使う環境においても、ユーザによる制御やログの収集が可能になります。
仕組み
TSA はログインしたユーザ毎に、使用するソースポートを割り振ります。NGFW は割り当てたユーザ名とソースポート情報を NGFW へ通知します。
NGFW は、通過するセッションに使用された、ソースポート番号と、IP アドレスを元にTSA から通知されたユーザ名を検索しセッション情報に保存します。
※補足:TSA と NGFW 間は SSL で暗号化された通信を使用します。
使用上の制限及び利用条件
使用上の制限
ここでは TSA を使用する際の注意点を5つ挙げます。
- ユーザレベルで行われないセッションに関しては、ユーザとの紐付けはできません(例:ファイル共有)
- デフォルトでは、ターミナルサーバのリソースが余っていても、ユーザに割り当てる最大ポート数以上のセッションを開こうとすると失敗します
- TSA と NGFW 間に NAT 装置がある場合は利用できません(Proxy を含む)
- TSA の設定変更またはアップグレードをした場合は、TSA サービスの再起動が必要です
- TCP/UDP のみ識別可能です
利用条件
メーカーから各 NGFW モデルと OS ごとにサポートされている TSA 数をアナウンスしています。
■How Many TS Agents Does My Firewall Support?
https://docs.paloaltonetworks.com/compatibility-matrix/terminal-services-ts-
agent/terminal-services-ts-agent-firewall-vm-support
また、TSA の各バージョンをインストールできる OS について案内があります。インストール前に一度ご確認ください。
■Where Can I Install the Terminal Server (TS) Agent?
https://docs.paloaltonetworks.com/compatibility-matrix/terminal-services-ts-
agent/terminal-services-ts-agent-table
設定方法
ここから設定方法について説明していきます。大まかな流れは下記の通りです。
・TSA インストーラのダウンロードおよび TSA のインストール
・TSA の設定
・NGFW の設定
設定方法についてはメーカードキュメントに案内があります。併せてご確認ください。
■Configure the Palo Alto Networks Terminal Server (TS) Agent for User Mapping
https://docs.paloaltonetworks.com/pan-os/11-0/pan-os-admin/user-id/map-ip-addresses-
to-users/configure-user-mapping-for-terminal-server-users/configure-the-palo-alto-
networks-terminal-services-agent-for-user-mapping
TSA インストーラのダウンロードおよび インストール
CSP(カスタマーサポートポータル) にログインして該当の TSA をダウンロードしインストールします。
※インストールは管理者権限で、ターミナルサーバに対して行います
TSAの設定
NGFW の設定
GUI:Device > User Identification > Terminal Server Agents
add で新しい TSA の設定を入れます。
接続状態の確認
TSA と NGFW が接続できている事の確認
GUI:Device > User Identification > Terminal Server Agents
※該当の接続が“Connected”になっていることを確認します。
CLI:
>show user ts-agent statistics コマンド及び、
>show user ts-agent state all コマンドを使用して接続状態を確認します。
※状態が”conn:Idle”で正常接続されている
NGFW内から User と ポート のマップ情報の確認
> show user ip-port-user-mapping all コマンドを使用します。
※"20000-20199: ad\administrator"が User 名と割り当てられたソースポート情報
参考情報
ソースポートの利用について
TCP 通信において、初期設定では TSA はセッション終了後、ソースポートが再利用可能な状態になりますが、Windows はセッション終了後、240 秒間ソースポートの再利用を阻害します。
この影響で TSA がソースポートを再利用すると、Windows がポートの再利用を阻止するため新規セッションが作成に失敗し、ブラウジング等が失敗する期間があります。
つまり、TSA 上では空ポートがある状態なのに、ユーザは通信に失敗するという状態になります。
この問題は、1ユーザに割当てるソースポートの数を多くすると発生し難くなりますが、ソースポートの数が多く割り当てられる利用状況下では発生が避けられません。
この問題を抑制するためには、Windows のレジストリをチューニングする事が必要になります(例:TCP Wait TimeOut Delay の値の変更)。
TSA Architecture について
TSA は、アプリケーションと WinSock を横取りして TCP/UDP セッションを作成します。
このため、TSA をターミナルサーバへインストールする場合には管理者権限での実行が必要です。
TWS(Timed-Wait-State)チューニングについて
「ソースポートの利用について」でも触れましたが、Windows のソースポート利用停止時間によって、TSA のソースポート再利用による通信が失敗することを抑制する例の一つが、Windows のレジストリのチューニングで TCP Wait TimeOut Delay の値を変更することです。
WTS チューニング方法については、弊社のパートナー様向けサイト「NOP TECH INFO」にて、「TSA(Terminal Server Agent)利用時のTWS(Time Wait State)チューニングガイド」記事を公開しております。設定に興味がある方はこちらへアクセスをお願いします。
(「NOP TECH INFO」は弊社パートナー様向けの会員サイトです。実際にお問い合わせいただいた技術 FAQ や各種製品情報を掲載しています。)
まとめ
ここまでTSA(Terminal Server Agent)について説明してきました。TSA の動作を確認する際に本記事をご活用いただければ幸いです。
また過去に、User-ID機能でsyslog連携を行い、ユーザー情報を可視化する設定方法を紹介しています。興味がある方はぜひ記事をチェックしてみてください。
■関連記事