Tenable Nessus Agent CLI コマンド

Tenable Nessus Agent の一部の機能をコマンドラインインターフェースから実行するには、Agent nessuscli ユーティリティを使用します。

注意: どの Agent nessuscli コマンドも、管理者権限を持つユーザーとして実行する必要があります。

Nessuscli の構文

オペレーティングシステム

コマンド

Windows

C:\Program Files\Tenable\Nessus Agent\nessuscli.exe <cmd> <arg1> <arg2>

macOS

# sudo /Library/NessusAgent/run/sbin/nessuscli <cmd> <arg1> <arg2>

Linux

# /opt/nessus_agent/sbin/nessuscli <cmd> <arg1> <arg2>

Nessuscli のコマンド

コマンド 説明
情報のコマンド

# nessuscli help

nessuscli コマンドのリストを表示します。

# nessuscli -v Tenable Nessus Agent の現在のバージョンを表示します。
# nessuscli fix --get <agent setting> エージェント設定の現在の値を表示します。
バグレポートコマンド

# nessuscli bug-report-generator

システム診断のアーカイブを作成します。

引数を付けずにこのコマンドを使用すると、ユーティリティによって値を入力するよう促されます。

オプションの引数

  • --quiet - ユーザーにフィードバックを求めることなく、バグレポートジェネレーターが実行されます。

  • --scrub - バグレポートジェネレーターによって IPv4 アドレスの最後の 2 つの 8 ビットがサニタイズされます。

  • --full - バグレポートジェネレーターによって追加データが収集されます。

画像作成コマンド
# nessuscli prepare-image

以下のように画像処理前のクリーンアップを行います。

  • エージェントがリンクされている場合、解除します。

  • エージェント上のすべてのホストタグを削除します。たとえば、Windows ではレジストリキー、Unix では tenable_tag などです。

  • エージェント上のすべての UUID ファイルを削除します。例: /opt/nessus/var/nessus/uuid (MacOS/Windows ではこれと同等のもの)。

  • プラグイン dbs を削除します。

  • global db を削除します。

  • master.key を削除します。

  • backups ディレクトリを削除します。

オプションの引数

  • --json=<file> - 自動設定用の .json ファイルを検証し、適切なディレクトリに配置します。

ローカルエージェントのコマンド

エージェントステータスのリンク、リンク解除、表示を行うために使用します。

# nessuscli agent link --key=<key> --host=<host> --port=<port>

Tenable Nessus Agent リンクキーを使用して、エージェントを Tenable Nessus Manager または Tenable Vulnerability Management にリンクします。

必須の引数

  • --key - マネージャーから取得したリンクキー。
  • --host - Tenable Nessus Manager にリンクする場合: Tenable Nessus Manager のインストール中に設定した静的 IP アドレスまたはホスト名。
    Tenable Vulnerability Management にリンクする場合: sensor.cloud.tenable.com (Tenable Nessus Agents 8.0.x 以前、cloud.tenable.com の場合)

    注意: Tenable Nessus Agent 8.1.0 以降では、Tenable Vulnerability Management にリンクされたエージェントは sensor.cloud.tenable.com を使用して Tenable Vulnerability Management と通信します。エージェントが sensor.cloud.tenable.com に接続できない場合は、代わりに cloud.tenable.com を使用します。それより前のバージョンのエージェントは、cloud.tenable.com ドメインを使用し続けます。
  • --portTenable Nessus Managerにリンクするには、8834 またはカスタムポートを使用します。
    Tenable Vulnerability Management にリンクするには、443 を使用します。

Tenable Vulnerability Management の引数

  • --cloudTenable Vulnerability Management にリンクするには、引数 --cloud を渡します。

    --cloud 引数は、--host=sensor.cloud.tenable.com --port=443 を指定するためのショートカットです。--cloud を使用する場合は、--host および --port を設定する必要はありません。

    警告: --cloud 引数は、FedRAMP 環境ではサポートされていません。--host=fedcloud.tenable.com --port=443 を指定する必要があります。

    注意: 中国本土にある Tenable Nessus スキャナー、Tenable Nessus AgentsTenable Web App Scanning スキャナー、または Tenable Nessus Network Monitor (NNM) を介して Tenable Vulnerability Management に接続している場合は、sensor.cloud.tenable.com ではなく sensor.cloud.tenablecloud.cn で接続する必要があります。

オプションの引数

  • --auto-proxy — (Windows のみ) 設定した場合、エージェントはプロキシを設定するために、Web Proxy Auto Discovery (WPAD) を使用して Proxy Auto Config (PAC) ファイルを取得します。この設定は、他のすべてのプロキシ設定に優先します。
  • --name - エージェントの名前。エージェントの名前を指定しない場合、名前はエージェントをインストールしているコンピューターの名前にデフォルトで設定されます。
  • --groups - エージェントを追加する 1 つ以上の既存のエージェントグループ。インストールプロセス中にエージェントグループを指定しない場合、Tenable Nessus Manager または Tenable Vulnerability Management で、リンクされたエージェントを後からエージェントグループに追加できます。コンマ区切りリストで複数のグループをリストにします。グループ名にスペースが含まれる場合は、リスト全体を引用符で囲みます。例: "Atlanta,Global Headquarters"

    注意: エージェントグループ名は、大文字と小文字を区別し、正確に一致する必要があります。エージェントグループ名は引用符で囲む必要があります (例: --groups="My Group")。

  • --ca-path - マネージャーのサーバー証明書の検証に使用するカスタム CA 証明書。
  • --offline-install — 有効にすると、オフラインの状態でも Tenable Nessus Agent がシステムにインストールされます。Tenable Nessus Agent は定期的にマネージャーへのリンクを試みます。

    エージェントがコントローラーに接続できない場合、1 時間ごとに再試行します。コントローラーには接続できるがリンクに失敗する場合は、24 時間ごとに再試行します。

  • --network - Tenable Vulnerability Management にリンクされたエージェントの場合、エージェントをカスタムネットワークに追加します。ネットワークを指定しない場合、エージェントはデフォルトのネットワークに属することになります。

  • --profile-uuid - エージェントを割り当てるエージェントプロファイルの UUID (例: 12345678-9abc-4ef0-9234-56789abcdef0)。詳細については、「Tenable Vulnerability Management ユーザーガイド」のエージェントプロファイルを参照してください。

  • --proxy-host - プロキシサーバーのホスト名または IP アドレス。
  • --proxy-port - プロキシサーバーのポート番号。
  • --proxy-password - ユーザー名として指定したユーザーアカウントのパスワード。
  • --proxy-username - プロキシサーバーへのアクセスと使用が許可されているユーザーアカウント名。
  • --proxy-agent - プロキシに事前定義されたユーザーエージェントが必要とされる場合のユーザーエージェント名。

# nessuscli agent unlink

Tenable Nessus Manager または Tenable Vulnerability Management とエージェントのリンクを解除します。

# nessuscli scan-triggers --list

エージェントのルールベーススキャンについての詳細をリストします。

  • スキャン名

  • ステータス (uploaded (アップロード済み) など)

  • 最後にアクティビティがあった時間 (ステータスの隣に表示されます)

  • スキャンの説明

  • 最新のポリシー変更の時間

  • 最後に実行された時間

  • スキャントリガー

  • スキャン設定テンプレート

  • スキャンを開始するためのコマンド (nessuscli scan-triggers --start --UUID=<scan-uuid>)

# nessuscli scan-triggers --start --UUID=<scan-uuid>

(Tenable Vulnerability Management にリンクされたエージェントのみ)

UUID に基づくルールベーススキャンを手動で実行します。

# nessuscli agent status

エージェントのステータス、ルールベーススキャンの情報、保留中のジョブ、およびエージェントがサーバーにリンクしているかどうかを表示します。

コマンド出力には、次の情報の一部が表示されます。

  • Running (実行中) — エージェントが現在ホスト上でアクティブであるかどうかを示します。

  • Linked to (リンク先) — エージェントがリンクされているマネージャーを示します。

  • Link status (リンクステータス) — エージェントのマネージャーとの現在のリンクステータスを示します。

  • Proxy (プロキシ) — エージェントが接続しているプロキシを示します (該当する場合)。

  • Plugin set (プラグインセット) — エージェントの現在のプラグインセットを示します。

  • Scanning (スキャン中) — エージェントが現在ホストをスキャンしているかどうかを示します。この値は、保留中のスキャンジョブの数と、エージェントに対して設定されたスキャントリガーの数も示します (この値は、出力では smart scan configs (スマートスキャン設定) とラベル付けされます)。

  • Scans run today (今日実行されたスキャン) — エージェントが今日実行したスキャンの数を示します。

  • Last scanned (最終スキャン日) — エージェントが最後にスキャンを実行した日時を示します。

  • Last connect (最終接続日) — エージェントがマネージャーに最後に接続した日時を示します。

  • Last connection attempt (最終接続試行日) — エージェントがマネージャーに最後に接続を試行した日時を示します。

オプションの引数

  • --local(デフォルトの動作) ステータス、現在のジョブ数、保留中のジョブを示します。このオプションは、エージェントがステータスを取得するためにその管理ソフトウェアに接続しないようにします。代わりに、最後の同期時に取得した最新情報が表示されます。

  • --remote — マネージャーからジョブ数が取得され、ステータスが表示されます。

    注意: Tenable では、--remote オプションによる頻繁なステータスチェックの実行を推奨していません (自動化の利用時など)。

  • --offlineTenable Nessus Manager または Tenable Vulnerability Management に接続できない場合、最後にキャッシュされたエージェントステータスを表示します。

  • --show-token — 管理ツールにより特定および認証に利用された、エージェントのトークンを表示します。

  • --show-uuid — エージェントの Tenable UUID を表示します。

# nessuscli plugins --info

エージェントのフルおよびインベントリプラグインセットの詳細をリストします。

  • インストールされているバージョン

  • 最後にダウンロードされた日時

  • 最後に必要とされた日時

  • 有効期限 — プラグインセットが期限切れとなる日時 (つまり、プラグインセットが不要になるタイミング)。

  • プラグイン — プラグインセット内のプラグインの総数。

  • 非圧縮時のソースサイズ

エージェントのプラグインに関する、以下の詳細および統計情報を一覧表示します。

  • 最後にプラグインが更新された日時

  • 最後にプラグインの更新を確認した日時

  • 圧縮後のプラグインソースの合計サイズ

  • コンパイル後のプラグインの合計サイズ

  • プラグイン属性データの合計

  • ディスク上のプラグインの合計サイズ

# nessuscli plugins --reset

すべてのプラグインとプラグインに関連するデータをディスクから削除します。エージェントは、削除が完了した直後にプラグインをダウンロードできます。

注意: このコマンドは、エージェントのディスクにプラグインデータがある場合にのみトリガーされます。

# nessuscli install-relay --linking-key=<Tenable Identity Exposure relay linking key>

エージェントに Tenable Identity Exposure セキュアリレーをインストールします。

Tenable Identity Exposure リレーリンクキーを取得するには、Tenable Identity Exposure 管理者ガイドセキュアリレーを参照してください。

install-relay は、以下の任意のパラメーターをサポートしています。

  • proxy_address — プロキシが Tenable ドメインに到達する必要がある場合に使用するプロキシ IP または DNS。proxy_address を入力すると、proxy_port も入力する必要があります。

  • proxy_address — プロキシが Tenable ドメインに到達する必要がある場合に使用するプロキシポート。proxy_port を入力すると、proxy_address も入力する必要があります。

  • proxy_basic_login — プロキシログインのユーザー名。proxy_basic_login を入力すると、proxy-basic-password も入力する必要があります。

  • proxy-basic-password — プロキシのログインパスワード。proxy_basic_login を入力すると、proxy_basic_login も入力する必要があります。

プロキシを指定しない場合は、プロキシパラメーターを一切入力しないでください。認証されていないプロキシを指定するには、proxy_addressproxy_port を入力します。認証されているプロキシを指定するには、proxy_addressproxy_portproxy_basic_login、および proxy-basic-password を入力します。

アップデートコマンド
# nessuscli agent update --file=<plugins_set.tgz>

プラグインセットを手動でインストールします。

修正コマンド
# nessuscli fix --list エージェントの設定とその値のリストを表示します。
nessuscli fix --set <setting>=<value> エージェント設定を特定の値にセットします。

エージェント設定の一覧は、詳細設定を参照してください。

# nessuscli fix --set update_hostname="<value>"

Tenable Vulnerability Management または Tenable Nessus Manager のエージェントホスト名を自動的に更新します。

update_hostname パラメーターは、yes または no に設定できます。デフォルトでは、この環境設定は無効になっています。

注意: 変更を Tenable Nessus Manager で有効にするためにエージェントサービスを再起動します。

# nessuscli fix --set agent_update_channel=<value>

(Tenable Vulnerability Management にリンクされたエージェントのみ)

エージェントアップデートプランを設定して、エージェントが自動的にアップデートするバージョンを指定します。

値:

  • ga - 一般公開 (GA) され次第、自動的に最新の Agent バージョンへと更新されます。注意: この日付は通常、バージョンが一般公開された日から 1 週間後です。重大なセキュリティ問題に対処するためのバージョンの場合は、Tenable から直ちに公開される場合があります。

  • ea - 早期アクセス (EA) 用にリリースされ次第、自動的に最新の Agent バージョンへとアップデートします。通常、一般公開よりも数週間早いタイミングです。

  • stable - 自動的に最新の Tenable Nessus Agent バージョンに更新しません。Tenable が設定した、Tenable Nessus Agent の古いバージョンを維持します。これは通常、最新の一般公開バージョンよりも 1 リリース前のものとなりますが、7.7.0 よりも前のバージョンにはなりません。Tenable Nessus Agent が新しいバージョンがリリースすると、 エージェントはソフトウェアバージョンをアップデートしますが、最新のリリースよりも前のバージョンに留まります。

注意: Tenable Vulnerability Management にリンクされているエージェントの場合は、エージェントの nessuscli ユーティリティから agent_update_channel コマンドを実行する必要があります。Tenable Nessus Manager にリンクされているエージェントの場合は、Tenable Nessus Managernessuscli ユーティリティから agent_update_channel コマンドを実行する必要があります。

# nessuscli fix --set maximum_scans_per_day=<value>

(Tenable Vulnerability Management にリンクされたエージェントのみ)

エージェントが 1 日につき実行できる最大スキャン数を設定します。最小数量は 1、最大数量は 48 で、デフォルト数量は 10 となります。

# nessuscli fix --set max_retries="<value>"

agent linkagent status、または agent unlink コマンドの実行中に不具合が生じた場合、エージェントが再試行する最大回数が設定されます。コマンドは、試行間隔を retry_sleep_milliseconds に設定することで休止時間を徐々に増やしながら、指定回数にわたり、連続して再試行されます。max_retries のデフォルト値は 0 です。最小値は 0 で、最大値は 10 です。

たとえば、max_retries を 4 に、retry_sleep_milliseconds を 1500 (デフォルト) に設定した場合は、エージェントが 1 回目の試行後に 1.5 秒間、2 回目の試行後に 3 秒間、3 回目の試行後に 4.5 秒間休止します。

注意: この設定はオフラインの更新やリンク後 24 時間経過してから通常実行されるエージェントのチェックインには影響しません。
# nessuscli fix --set retry_sleep_milliseconds="<value>"

agent linkagent status、または agent unlink コマンドの実行中に不具合が生じた場合、エージェントの再試行間隔がミリ秒単位で設定されます。デフォルトは 1500 ミリ秒 (1.5 秒) です。

# nessuscli fix --set niap_mode=enforcing

Tenable Nessus Agent に NIAP モードを適用します。NIAP モードの詳細については、NIAP に準拠する Tenable Nessus Agent の設定を参照してください。

# nessuscli fix --set niap_mode=non-enforcing

Nessus Agent の NIAP モードを無効にします。NIAP モードの詳細については、NIAP に準拠する Tenable Nessus Agent の設定を参照してください。

# nessuscli fix --set fips_mode=enforcing

Tenable Nessus Agent 通信およびデータベース暗号化に対して最新の検証済み FIPS モジュールを適用します。FIPS モジュールはスキャン暗号化に影響しません。

注意: NIAP モードを適用すると、Tenable Nessus Agent は FIPS モジュールも適用します。詳細については、NIAP に準拠する Tenable Nessus Agent の設定を参照してください。

# nessuscli fix --set fips_mode=non-enforcing

Tenable Nessus Agent 通信およびデータベース暗号化に対して FIPS モジュールを無効にします。

注意: NIAP モードを無効にすると、Tenable Nessus Agent は FIPS モジュールも無効にします。詳細については、NIAP に準拠する Tenable Nessus Agent の設定を参照してください。

セキュア設定の修正
nessuscli fix

--list--set --get--delete コマンドを使用して、詳細なエージェント設定を変更したり表示したりすることができます。

--secure オプションを選択すると、登録関連情報が含まれる暗号化の環境設定に影響が及びます。

警告: ドキュメントにない --secure 設定の変更は Tenable でサポートされない設定となるため推奨していません。

エージェント設定の一覧は、詳細設定を参照してください。

nessuscli fix [--secure] --list
nessuscli fix [--secure] --set <setting=value>
nessuscli fix [--secure] --get <setting>
nessuscli fix [--secure] --delete <setting>
# nessuscli fix --secure --get agent_linking_key

(Tenable Nessus Manager バージョン 10.4.0 以降のみ) 一意のエージェントリンクキーを取得します。

注意: このリンクキーは、エージェントをリンクする目的でのみ使用できます。スキャナーまたは子ノードとのリンクには使用できません。
リソース管理コマンド  

# nessuscli fix --set process_priority="<value>"

# nessuscli fix --get process_priority

# nessuscli fix --delete process_priority

コマンド

process_priority 設定をセット、取得、または削除します。

process_priority 設定を使用することで、システム上で実行中の他のタスクの優先度に対する Tenable Nessus Agent の相対的な優先度を制御できます。

有効な値、および本設定の動作方法に関する詳細については、エージェント CPU リソースコントロールを参照してください。