プローブベースのディスカバリー中に特権ユーザーを必要とする SSH コマンド

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:4分
  • これらのテーブルには、水平ディスカバリー中に ディスカバリー プローブによって実行される SSH コマンドが表示されます。これらの SSH コマンドを実行するには、昇格された権限が必要です。

    昇格された権限が必要なオペレーティングシステムコマンド

    次の例では、ユーザー名が Disco であることを前提とします。実際のユーザー名に置き換えて、コマンドのパスがシステム上のパスと一致することを確認します。
    注:
    sudo コマンドに指定するパスワードがないため、sudo コマンドは秘密鍵認証情報では機能しません。解決策は、NOPASSWD オプションを sudo 構成に追加することです。たとえば、disco ALL=(root) NOPASSWD:/usr/sbin/dmidecode,/usr/sbin/lsof,/sbin/ifconfig と入力します。

    昇格された権限を必要としないコマンドの詳細については、「 プローブベースのディスカバリー中に特権ユーザーを必要としない SSH コマンド」を参照してください。

    トップダウンディスカバリー中に サービスマッピング で使用されるコマンドの詳細については、「特権ユーザーを必要とする サービスマッピング コマンド」および「特権ユーザーを必要としない サービスマッピング コマンド」を参照してください。

    SSH キーが検証されていません

    MID サーバーがシステムに接続すると、MID サーバーはそのシステムに対してホストキー検証を実行しないため、信頼できないものとして扱われます。攻撃者が中間者攻撃を実行し、トラフィックを悪意のある SSH サービスにリダイレクトすると、攻撃者は接続を介して送信されたデータを傍受または変更できます。

    したがって、 MID サーバー とターゲット SSH サーバー間で交換される機密情報を制限します。SSH 認証にはキーまたは証明書のみを使用し、システム認証情報は送信しないでください。必要な特権コマンドについて、sudoers ファイルで NOPASSWD を構成します。

    表 : 1. HP-UX
    コマンド 目的
    adb CPU の速度とメモリーを収集します。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/adb

    表 : 2. すべての Linux
    コマンド 目的
    dmidecode マザーボード内に埋め込まれたシリアル番号など、ハードウェアに関するいくつかの情報を収集します。

    /etc/sudoers 行の例: Disco ALL=(root) /sbin/dmidecode

    fdisk システム上のディスクおよびサイズ情報を収集します。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/fdisk -l

    multipath マルチパス入力出力 (MPIO) のデバイスマッピングを収集します。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/multipath -ll

    表 : 3. Linux および Solaris
    コマンド 目的
    dmsetup 低レベルのボリュームを調べます。

    /etc/sudoers 行の例

    • Disco ALL=(root) /usr/bin/dmsetup table *
    • Disco ALL=(root) /usr/bin/dmsetup ls
    表 : 4. すべての UNIX バージョン
    コマンド 目的
    lsof プロセスとシステムへの接続との関係を決定します。

    /etc/sudoers 行の例: Disco ALL=(root) /sbin/lsof

    oratab Oracleホームおよび pfile を検索するための oratab ファイルへの読み取りアクセス権を付与します。
    netstat プロセスとシステムへの接続との関係を決定します。

    /etc/sudoers 行の例: Disco ALL=(root) /bin/netstat

    ss プロセスとシステムへの接続との関係を決定します。

    /etc/sudoers 行の例: Disco ALL=(root) /sbin/ss

    表 : 5. Solaris
    コマンド 目的
    iscsiadm iSCSI 修飾名 (IKN) を取得します。

    /etc/sudoers 行の例: ${sudo:iscsiadm list target -S}

    fcinfo ポートのワールドワイドポート名 (WWPN) を取得します。

    /etc/sudoers 行の例: ${sudo:fcinfo remote-port -sl -p $port}

    prtvtoc ディスク パーティションに関する情報をレポートします。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/prtvtoc

    /usr/bin/ps 実行中のプロセスを一覧表示します。ルートアクセスで実行する代わりに、proc_owner role.sola を追加します。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/ps

    /usr/ucb/ps 実行中のプロセスを一覧表示します。ルート アクセスで実行する代わりに、proc_owner ロールを追加します。

    /usr/ucb/ps コマンドの使用は、Solaris 11 以降廃止されています。ディスカバリーでは、すべてのSolarisバージョンでこのコマンドを使用する必要があるため、Solaris 11 のシステムに ucb ユーティリティを手動でインストールする必要があります。手順については、「KB0564262」を参照してください。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/ucb/ps

    pgrep ソケット情報を含むプロセス ID (PID) のリストを取得します。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/pgrep

    pfiles PID ごとに、S_IFSOCKの出力を取得して処理します。

    /etc/sudoers 行の例: Disco ALL=(root) /usr/bin/pfiles