コマンドラインユーティリティ

ローカルのコマンドラインインタフェース (CLI) から、Deep Security AgentとDeep Security Managerに対して数々の処理を実行するように指示できます。

基本的なコマンドラインタスクの使用手順については、Agentのタスクで使用する基本的なコマンドラインを参照してください。

Windowsでセルフプロテクションが有効になっている場合、ローカルユーザはAgentの管理、たとえばアンインストール、アップデート、停止などを行うことができません。また、CLIコマンドの実行時には、認証パスワードが必要となります。

このトピックの内容:

Deep Security Agent

dsa_controlの例

dsa_control -mを使用して、不正プログラムの手動検索を開始できます。次の各コマンドにより、即座にハートビートを実行し、Managerに検索開始を通知します。

Windowsの場合:

  • 管理者権限でコマンドプロンプトを開きます。
  • cd C:\Program Files\Trend Micro\Deep Security Agent\
  • dsa_control -m "AntiMalwareManualScan:true"

Linuxの場合:

  • /opt/ds_agent/dsa_control -m "AntiMalwareManualScan:true"

使用方法

dsa_control [-a <str>] [-b] [-c <str>] [-d] [-g <str>] [-s <num>] [-m] [-p <str>] [-r] [-R <str>] [-t <num>] [-u <str>:<str>] [-w <str>:<str>] [-x dsm_proxy://<str>] [-y relay_proxy://<str>] [--buildBaseline] [--scanForChanges] [有効化またはハートビート中にManagerに送信する追加のキーワード:値データ...]

  • -a <str>, --activate=<str>: 指定されたURLのManagerに対してAgentを有効化します。URLは次の形式で指定する必要があります。

    dsm://<ホストまたはIP>:<ポート>/

    ポートはManagerの検出およびハートビートのポート番号です。

  • -b, --bundle: アップデートバンドルを作成します。
  • -c <str>, --cert=<str>: 証明書ファイルを特定します。
  • -d, --diag: Agentの診断パッケージを生成します。
  • -g <str>, --agent=<str>: AgentのURLです。初期設定:

    https://localhost:<ポート>/

    ポートはManagerの待機ポート番号です。

  • -m, --heartbeat: Managerに今すぐ接続するようにAgentに指示します。
  • -p<str>, --passwd =<str> 以前にDeep Security Managerで設定した認証パスワード。詳細については、Deep Security Managerを介してセルフプロテクションを設定するを参照してください。設定されている場合は、dsa_control -adsa_control -x、およびdsa_control -yを除くdsa_controlコマンドすべてにパスワードを含める必要があります。

    例: dsa_control -m -p MyPa$$w0rd

    パスワードは、コマンドラインに直接入力した場合、画面上に表示されます。入力中のパスワードをアスタリスク (*) にして非表示にする場合は、対話形式のコマンド-p *を入力します。この場合、パスワードの入力を求めるプロンプトが表示されます。

    例:

    dsa_control -m -p *

  • -r, --reset: Agentの設定をリセットします。
  • -R <str>, --restore=<str>: 検出ファイルを復元します。(Deep Security)
  • -s<num>, --selfprotect =<num> エージェントの自己保護を有効にします(1:有効化、0:無効化).)。セルフプロテクションにより、ローカルのエンドユーザはAgentに対してアンインストールや停止などの制御ができなくなります。詳細については、エージェントの自己保護を有効または無効にするを参照してください。この機能はWindows版でのみ使用できます。

    セルフプロテクションはdsa_controlコマンドで有効化できますが、関連付けられた認証パスワードの設定にはDeep Security Managerを使用する必要があります。詳細については、Deep Security Managerを介してセルフプロテクションを設定するを参照してください。パスワードは、設定後は-pまたは--passwd=オプションを使用してコマンドラインに入力する必要があります。

  • Deep Security 9.0以前では、このオプションは、-H <num>, --harden=<num>でした。
  • -t <num>, --retries=<num>: このパラメータは、Agentサービスに接続してdsa_controlコマンドの指示を実行できない場合に、dsa_controlを再試行する回数 (<num>) を設定します。再試行は、1秒おきに実行されます。
  • -u <ユーザ>:<パスワード> Agentがプロキシ経由でManagerに接続する場合は、プロキシのユーザ名とパスワードをコロン (:) で区切って入力します。
  • -w <ユーザ>:<パスワード> Agentがセキュリティアップデートやソフトウェアを実行する際にプロキシ経由でRelayに接続する場合は、プロキシのユーザ名とパスワードをコロン (:) で区切って入力します。
  • -x dsm_proxy://<str>:<num> Agentがプロキシ経由でManagerに接続する場合は、プロキシのIPアドレスまたはFQDNとポート番号をコロン (:) で区切って入力します。
  • -y relay_proxy://<str>:<num> Agentがセキュリティアップデートやソフトウェアを実行する際にプロキシ経由でRelayに接続する場合は、プロキシのIPアドレスまたはFQDNとポート番号をコロン (:) で区切って入力します。
  • --buildBaseline: 変更監視のベースラインを構築します。
  • --scanForChanges: 変更監視の変更を検索します。
  • --max-dsm-retries: 有効化を再試行する最大回数。0から100までの値を入力してください初期設定値は30です。
  • --dsm-retry-interval: 有効化を再試行する間隔 (秒)。1から3600までの値を入力してください初期設定値は300です。

Agentからのリモート有効化 (「dsa_control -a」)

Managerがコンピュータを保護するためのルールとポリシーを割り当てられるようにするには、そのコンピュータにインストールされているAgentを有効化する必要があります。有効化プロセスでは、AgentとManager間で一意のフィンガープリントが交換されます。これにより、1つのManager (またはいずれか1つのManagerノード) だけがAgentへの指示や通信をできるようにします。

Managerから手動でAgentを有効化するには、[コンピュータ] 画面でコンピュータを右クリックして、[処理]→[有効化/再有効化] の順に選択します。

Agentでは、ローカルで実行するコマンドラインツールを使用して有効化プロセスを開始できます。インストール環境に多数のコンピュータを追加する際、有効化プロセスを自動化するスクリプトを記述する必要がある場合には、この方法が便利です。Agentからのリモート有効化を有効にするには、[管理]→[システム設定]→[Agent] に進み、[Agentからのリモート有効化を許可] を選択します。

有効化の命令には、少なくとも有効化コマンドとManagerのURL (ポート番号を含む) を含めます。

dsa_control -a dsm://<ホスト>:<ポート>/

指定する項目は次のとおりです。

  • -aはAgentを有効化するコマンドです。
  • dsm://<ホスト>:<ポート>/のパラメータにより、Agentに接続先のManagerを指示します (<ホスト> はManagerの完全修飾ドメイン名 (FQDN)、IPv4アドレス、またはIPv6アドレスとなり、<ポート>はAgentからManagerへの通信ポート番号です)。次に例を示します。

    dsa_control -a dsm://fe80::ad4a:af37:17cf:8937:4120

ホスト名は唯一の必須パラメータです。追加のパラメータを使用することもできます (以下の使用可能なパラメータの表を参照してください)。パラメータはキー:値のペアとして入力する必要があります (セパレータにはコロンを使用します)。入力可能なキー:値のペアの数に制限はありませんが、キー:値のそれぞれのペアを空白文字で区切る必要があります。次に例を示します。

dsa_control -a dsm://dsm-example-com:4120/ hostname:www12 "description:Long Description With Spaces"

(引用符が必要なのは、空白文字または特殊文字が値に含まれる場合のみです)

プロキシ経由のプライベートネットワーク上でのAgentからのリモート有効化

プライベートネットワーク上のAgentは、Agent側から開始するManagerとの通信をプロキシサーバ経由で実行できます。

プロキシサーバを使用してプライベートネットワーク上のAgentからのリモート有効化を許可するには

  1. Deep Security Managerで、[管理]→[システム設定]→[詳細] の順に選択します。
  2. [Agentからのリモート有効化] エリアで次の手順を実行します。
    • [Agentからのリモート有効化を許可] を選択します。
    • [Agentによるホスト名指定を許可] を選択します。
    • [同じ名前のコンピュータがすでに存在する場合] のリストから、[同じ名前で新規コンピュータを有効化] を選択します。
  3. [保存] をクリックします。

次のコマンドラインオプションを使用して、Agentがプロキシサーバ経由でManagerと通信するように設定できます。

構文 備考
dsa_control -x "dsm_proxy://<ホストまたはIP>/" AgentがManagerとの通信に使用するプロキシサーバのアドレスを設定します。
dsa_control -x "" プロキシサーバのアドレスをクリアします。
dsa_control -u "<ユーザ名:パスワード>" プロキシのユーザ名とパスワードを設定します。
dsa_control -u "" プロキシのユーザ名とパスワードをクリアします。
dsa_control -x "dsm_proxy://172.21.3.184:808/" プロキシのIPv4アドレスです。
dsa_control -x "dsm_proxy://squid:808/" プロキシのホスト名です。
dsa_control -x "dsm_proxy://[fe80::340a:7671:64e7:14cc]:808/" プロキシのIPv6アドレスです。
dsa_control -u "root:Passw0rd!" プロキシの認証に、「root」とパスワード「Passw0rd!」を使用します(基本認証のみ。Digest認証とNTLM認証はサポートされていません)。

Agentからのリモート有効化を行うには、最初にプロキシ設定コマンドを発行し、次にAgentからのリモート有効化のコマンドを発行する必要があります。以下は、プロキシサーバのアドレスと認証情報の設定、Agentの有効化までの一連のコマンドの例となります。

dsa_control -x "dsm_proxy://172.21.3.184:808/"
dsa_control -u "root:Passw0rd!"
dsa_control -a "dsm://dsm.example.com:4120/"
Deep Security Managerで必要な設定

Agentからのハートビート有効化コマンド (「dsa_control -m」)

Agentからのハートビートコマンドは、Managerに対するハートビート処理をただちに実行するようにAgentに指示します。ハートビートコマンドは、上記の有効化コマンドと同様これだけでも便利ですが、このコマンドを使用してManagerにさまざまなパラメータセットを渡すこともできます。

次の表は、有効化コマンドとハートビートコマンドで使用できるパラメータを一覧表示しています。有効化でしか使用できないパラメータや、ハートビートでしか使用できないパラメータもあります。

キー 説明 有効化中の実行 有効化後のハートビート中の実行 値の形式 備考
AntiMalwareCancelManualScan

コンピュータで現在実行中の手動または予約 不正プログラム対策 検索を取り消します。詳細については、不正プログラム検索設定を参照してください。

"AntiMalwareCancelManualScan:true" 不可 ブール

AntiMalwareManualScan

コンピュータで手動または予約 不正プログラム対策 検索を開始します。詳細については、不正プログラム検索設定を参照してください。

"AntiMalwareManualScan:true" 不可 ブール

description 説明」の値を設定します。 "description:ホストの追加情報" 文字列 最大2000文字。
displayname 表示名」の値を設定します(ホスト名の横にカッコで囲んで表示されます)。 "displayname:名前" 文字列 最大2000文字。
externalid externalid値を設定します。 "externalid:123" 整数 この値を使用して、Agentを一意に識別できます。この値には、SOAP WebサービスAPIを使用してアクセスできます。
group コンピュータの所属する [コンピュータ] 画面のグループを設定します。 "group:ゾーンAのWebサーバ" 文字列 1つの階層レベルの1つのグループ名につき最大254文字。

スラッシュ (「/」) はグループの階層を示します。groupパラメータはグループの階層を読み取ったり、作成したりできます。
このパラメータは、メインの「コンピュータ」ルートブランチの下位にある標準のグループにコンピュータを追加する場合にのみ使用できます。ディレクトリ (MS Active Directory)、VMware vCenter、またはクラウドプロバイダのアカウントに所属するグループにコンピュータを追加する場合には使用できません。
groupid

"groupid:33" 整数

hostname

"hostname:www1" 不可 文字列 最大254文字。

hostnameには、Managerの [コンピュータ] リストに含まれるコンピュータへの接続に最も適したIPアドレス、ホスト名、またはFQDNを指定します。
IntegrityScan コンピュータで変更の検索を開始します。 "IntegrityScan:true" 不可 ブール

policy

"policy:ポリシー名"
文字列 最大254文字。

ポリシー名とポリシーリストの大文字と小文字は区別しません。ポリシーが見つからない場合、ポリシーは割り当てられません。

イベントベースタスクによって割り当てられるポリシーは、Agentからのリモート有効化中に割り当てられるポリシーをオーバーライドします。
policyid

"policyid:12" 整数

relaygroup コンピュータを特定のRelayグループにリンクします。 "relaygroup:カスタムRelayグループ"
文字列 最大254文字。

Relayグループ名と既存のRelayグループ名の大文字と小文字は区別しません。Relayグループが見つからない場合は、初期設定のRelayグループが使用されます。

これは、イベントベースタスクの際に割り当てられるRelayグループには影響を与えません。このオプションまたはイベントベースタスクのどちらかを使用してください。
relaygroupid

"relaygroupid:123" 整数

relayid

"relayid:123" 整数

tenantIDtoken

"tenantID:12651ADC-D4D5"

および

"token:8601626D-56EE"
文字列 Agentからのリモート有効化をテナントとして使用する場合は、tenantIDtokenの両方が必要です。tenantIDtokenはインストールスクリプト生成ツールから取得できます。
RecommendationScan コンピュータで推奨設定の検索を開始します。 "RecommendationScan:true" 不可 ブール

UpdateComponent セキュリティアップデートの実行をManagerに指示します。 "UpdateComponent:true" 不可 ブール

RebuildBaseline コンピュータに変更監視ベースラインを再構築します。 "RebuildBaseline:true" 不可 ブール

UpdateConfiguration 「ポリシーの送信」処理を実行するようにDeep Security Managerに指示します。 "UpdateConfiguration:true" 不可 ブール

dsa_query

dsa_queryコマンドは、エージェント情報を提供します。

使用方法

dsa_query [-c <str>] [-p <str>] [-r <str>]

  • -p,--passwd<文字列>: オプションの エージェント自己保護 機能で使用される認証パスワード。セルフプロテクションを有効化した際にパスワードを指定した場合は必須となります。
    一部のクエリコマンドでは認証を直接バイパスできます。このような場合、パスワードは必要ありません。
  • -c,--cmd <文字列>: Agentに対してクエリコマンドを実行します。次のコマンドがサポートされます。
    • GetHostInfo": - ハートビート中にManagerに返されるIDをクエリします。
    • GetAgentStatus": どの保護モジュールが有効になっているか、実行中の不正プログラム対策監視と整合性監視検索のステータス、およびその他のその他の情報を照会します。
    • "GetComponentInfo": クエリのバージョン情報(不正プログラム対策パターンファイルとエンジン)
  • -r,--raw <文字列>: 「-c」と同じクエリコマンドの情報を返しますが、サードパーティのソフトウェアで解釈できるようにrawデータ形式で出力します。

pattern: 結果をフィルタするためのワイルドカードのパターンです (オプション)。

例:
dsa_query -c "GetComponentInfo" -r "au" "AM*"

Deep Security Manager

オンプレミスのDeep Securityソフトウェアのインストール環境のみに該当します。

一部のコマンドではDeep Security Managerが再起動することがあります。コマンドが実行されたら、Deep Security Managerが再起動したことを確認します。

dsm_c

使用方法

dsm_c -action actionname

コマンドのヘルプを表示するには、-hオプションを使用します。dsm_c -h

次の表のカッコで囲まれたパラメータは、すべて必須パラメータです。

一部の処理には-tenantnameパラメータまたは-tenantidパラメータのいずれかが必要です。テナント名を使用したときに実行の問題が発生した場合は、テナントIDを使ってコマンドを試してみてください。
処理名 Description使用方法
addcert信頼された証明書を追加します

dsm_c -action addcert -purpose 目的 -cert 証明書

PURPOSEは、証明書が使用される接続の種類を示します。

addregionプライベートクラウドプロバイダのリージョンを追加しますdsm_c -action addregion -region REGION -display DISPLAY -endpoint ENDPOINT
changesetting設定を変更しますdsm_c -action changesetting -name 名前 -value 値 [-computerid コンピュータID] [-computername コンピュータ名] [-policyid ポリシーID] [-policyname ポリシー名] [-tenantname テナント名 | -tenantid テナントID]
createinsertstatements別のデータベースへのエクスポートに使用するinsert文を作成しますdsm_c -action createinsertstatements [-file ファイルパス] [-generateDDL] [-databaseType sqlserver|oracle] [-maxresultfromdb 数] [-tenantname テナント名 | -tenantid テナントID]
diagnostic

システム用の診断パッケージを作成します。

必要に応じて、詳細な診断パッケージのプロセスメモリを増やすことができます。

dsm_c -action diagnostic [-verbose 0 | 1]  テナントテナントテナントテナント
fullaccess管理者にFull Accessの役割を与えますdsm_c -action fullaccess -username ユーザ名 [-tenantname テナント名 | -tenantid テナントID]
listcerts信頼された証明書を一覧表示します

dsm_c -action listcerts [-purpose PURPOSE]

PURPOSEは、証明書が使用される接続の種類を示します。

listregionsプライベートクラウドプロバイダのリージョンを一覧表示しますdsm_c -action listregions
removecert信頼された証明書を削除しますdsm_c -action removecert -id ID
removeregionプライベートクラウドプロバイダのリージョンを削除しますdsm_c -action removeregion -region REGION
resetcountersカウンタテーブルをリセットします (空の状態に戻します)dsm_c -action resetcounters [-tenantname テナント名 | -tenantid テナントID]
reseteventsイベントテーブルをリセットします (空の状態に戻します)dsm_c -action resetevents -type all|am|wrs|fw|dpi|im|li[-tenantname テナント名 | -tenantid テナントID]
setportsDeep Security Managerのポートを設定するdsm_c -action setports [-managerPort ポート] [-heartbeatPort ポート]
trustdirectorycertディレクトリの証明書を信頼しますdsm_c -action trustdirectorycert -directoryaddress ディレクトリアドレス -directoryport ディレクトリポート [-username ユーザ名] [-password パスワード] [-tenantname テナント名 | -tenantid テナントID]
unlockoutユーザアカウントのロックを解除しますdsm_c -action unlockout -USERNAME [-eUSERNAME [-NEWPASSWORD] [-wordNEWPASSWORD] [-disablemfa]  テナントテナントテナントテナント
viewsetting設定値を表示しますdsm_c -action viewsetting -name 名前 [-computerid コンピュータID] [-computername コンピュータ名] [-policyid ポリシーID] [-policyname ポリシー名] [-tenantname テナント名 | -tenantid テナントID]

リターンコード

dsm_cコマンドは、コマンドの実行に成功したかどうかを示す整数値を返します。返される値は以下のとおりです。

  • 0: 実行に成功
  • -1: ソフトウェアのインストールの破損など、原因不明の失敗
  • 1: データベースにアクセスできなかったなど、実行中の失敗
  • 2: 指定されている引数が無効