catch-img

TSA(Terminal Server Agent)設定のヒント (Palo Alto PAシリーズ)

本記事では NGFW(Palo Alto PA シリーズ)でTSA(Terminal Server Agent)を使用する際の仕組み、設定方法及び注意点について紹介します。
TSA を利用することで、NGFW でリモートデスクトップ接続のユーザを特定して、通信の制御やログの収集をするができるようになります。

目次[非表示]

  1. 1.はじめに
    1. 1.1.TSAとは
    2. 1.2.仕組み
  2. 2.使用上の制限及び利用条件
    1. 2.1.使用上の制限
    2. 2.2.利用条件
  3. 3.設定方法
    1. 3.1.TSA インストーラのダウンロードおよび インストール
    2. 3.2.TSAの設定
    3. 3.3.NGFW の設定
  4. 4.接続状態の確認
    1. 4.1.TSA と NGFW が接続できている事の確認
    2. 4.2.NGFW内から User と ポート のマップ情報の確認
  5. 5.参考情報
    1. 5.1.ソースポートの利用について
    2. 5.2.TSA Architecture について
    3. 5.3.TWS(Timed-Wait-State)チューニングについて
  6. 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つ挙げます。

  1. ユーザレベルで行われないセッションに関しては、ユーザとの紐付けはできません(例:ファイル共有)
  2. デフォルトでは、ターミナルサーバのリソースが余っていても、ユーザに割り当てる最大ポート数以上のセッションを開こうとすると失敗します
  3. TSA と NGFW 間に NAT 装置がある場合は利用できません(Proxy を含む)
  4. TSA の設定変更またはアップグレードをした場合は、TSA サービスの再起動が必要です
  5. 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 コマンドを使用して接続状態を確認します。

admin@TS4-VM-PA2> show user ts-agent statistics

Name             Host            Port  Vsys    State             Ver Users   Blo
cks
---------------------------------------------------------------------------
TSA TEst         10.44.26.196    5010  vsys1   conn:idle         768 1       1


admin@TS4-VM-PA2> show user ts-agent state all

Agent: TSA TEst(vsys: vsys1) Host: 10.44.26.196(10.44.26.196):5010
        Status                                            : conn:idle
        Version                                           : 0x300
        num of connection tried                           : 5
        num of connection succeeded                       : 2
        num of connection failed                          : 3
        num of status msgs rcvd                           : 19849
        num of request of status msgs sent                : 19849
        num of user ip mapping add entries rcvd           : 0
        num of user ip mapping del entries rcvd           : 0
        num of config msgs rcvd                           : 2
        num of config msgs rcvd but failed to proc        : 0
        num of add user info msgs rcvd                    : 0
        num of add user info msgs rcvd but failed to proc : 0
        num of add users info msgs rcvd                   : 2
        num of add users info msgs rcvd but failed to proc: 0
        num of remove user info msgs rcvd                 : 0
        num of remove user msgs rcvd but failed to proc   : 0
        num of remove user info msgs rcvd                 : 0
        num of remove user info msgs rcvd but failed to proc: 0
        Last heard(seconds ago)                           : 1

※状態が”conn:Idle”で正常接続されている


NGFW内から User と ポート のマップ情報の確認

> show user ip-port-user-mapping all コマンドを使用します。

admin@TS4-VM-PA2> show user ip-port-user-mapping all 
 
Global max host index 1, host hash count 1

TS-Agent 10.44.xx.xx

Vsys 1, Flag 3

Port range: 20000 - 48999, port count 29000

Number of ports allocated per user terminal session: 200; max 200

Number of user terminal sessions (port block count): 145

20000-20199: ad\administrator

Total host: 

"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 NOP TECH INFO https://secure.okbiz.jp/netone-pa/category?site_domain=default

(「NOP TECH INFO」は弊社パートナー様向けの会員サイトです。実際にお問い合わせいただいた技術 FAQ や各種製品情報を掲載しています。)


まとめ

ここまでTSA(Terminal Server Agent)について説明してきました。TSA の動作を確認する際に本記事をご活用いただければ幸いです。
また過去に、User-ID機能でsyslog連携を行い、ユーザー情報を可視化する設定方法を紹介しています。興味がある方はぜひ記事をチェックしてみてください。

■関連記事

  マルチデバイス環境でユーザを可視化しよう@PAシリーズ User-ID PAシリーズのUser-ID機能から、syslog連携の機能についてご紹介させていただきます。 ネットワンパートナーズ株式会社ブログサイト



Watanabe Ayako

Watanabe Ayako

2022年よりPalo Alto Networks製品担当をしております。
ご不明な点はお気軽に
お問い合わせください
ソリューション・カタログは
こちら