iPhone から Windows と Linux の PC のインベントリを取る
Windows と Linux のマシンを準備し、iPhone・iPad の NetBlade Pro でインベントリを読み取り、Windows のプログラムの既知の脆弱性を確認。
NetBlade Pro は、ネットワーク上の PC に何もインストールせずに、その中身を読み取れます。ハードウェア、インストール済みのソフトウェア、サービス、更新プログラム、アカウント、そして防御の状態です。Windows マシンは WinRM で、Linux マシンは SSH で読み取ります。この記事では、それぞれのマシンの準備、インベントリの実行、Windows のプログラムの既知の脆弱性の確認、そして時間を追った変化の追跡方法を説明します。
始める前に
- NetBlade Pro。Windows インベントリ、Linux インベントリ、脆弱性チェックは Pro の機能です。
- PC と同じローカルネットワークに接続した iPhone または iPad。
- Windows の場合:ネットワーク経由でのログオンが許可され、パスワードが設定されたアカウント。通常はローカル管理者です。
- Linux の場合:SSH サーバーと通常のユーザーアカウント。sudo は不要です。
注: NetBlade は PC の設定を何も変更しません。読み取るだけで、マシンを準備するコマンドは、あなた自身が実行するものです。
1. Windows PC を準備する
iOS には SMB クライアントがないため、NetBlade が Windows から読み取るものはすべて、ポート 5985 の WinRM を経由します。Windows は WinRM がオフの状態で出荷されます。PC で PowerShell を管理者として開きます。
- WinRM をオンにします。
Enable-PSRemoting -Force - ドメインに参加していないワークグループの PC で、組み込みの Administrator 以外のローカルアカウントを使う場合のみ、次を実行します。
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1 -PropertyType DWord -Force
2 つ目のコマンドが必要なのは、Windows がネットワーク経由のローカルアカウントにフィルター処理されたトークンを渡すため、ワークグループの PC では正しいパスワードでも拒否されてしまうからです。
ここからコピーする必要はありません。アプリの「もっと詳しく調べるには」に、両方のコマンドがコピーボタン付きで表示されます。
ヒント: PC のネットワークがパブリックに設定されていると、
Enable-PSRemotingは実行を拒否します。先に Windows の設定でネットワークプロファイルをプライベートにしてください。
2. Linux マシンを準備する
通常は何もする必要はありません。通常のユーザーで SSH 接続できれば、NetBlade はそのマシンを読み取れます。NetBlade が実行するコマンドは読み取り専用で sudo を使わないため、root が必要な情報は空のままになります。
3. 認証情報を一度だけ保存する(任意)
多くのマシンが同じアカウントを共有している場合は、デバイスごとではなくネットワークに保存します。
- 保存済み › 対象のネットワーク ›「資格情報」を開きます。
- Windows(WinRM)と Linux(SSH)のアカウントを入力します。
個々のマシンは、そのページの「資格情報(この機器)」でこれを上書きできます。パスワードはこのデバイスの iOS キーチェーンにのみ保存され、バックアップファイルには決して含まれません。
4. インベントリを実行する
- LAN タブからネットワークをスキャンし、PC をタップします。
- 「リモートインベントリ (Windows / Linux)」をタップし、システムを選びます。
- ユーザーとパスワードを入力します。Windows ではドメインを追加するか、ローカルアカウントの場合は「ドメイン(任意)」を空欄にします。Linux ではポートを確認します。
- 「この PC を読み取る」をタップします。
失敗した場合は、NetBlade が理由を説明し、解決するコマンドがあればそれを表示します。
Windows から得られるもの
システムと稼働時間、ハードウェア(プロセッサー、メモリ、BIOS のシリアル)、サービス、更新プログラム、ローカルアカウント、スタートアップ項目、ネットワークアダプター、ディスク、インストール済みのソフトウェア、そして「防御機能」:ウイルス対策、プロファイルごとのファイアウォール、ボリュームごとの BitLocker、TPM です。
プログラムのバージョンは Windows のレジストリから取得します。漏れはありませんが、プログラムのファイルから読み取ったバージョンほど正確ではありません。iOS では SMB がないため、ファイルからの読み取りはできません。同じ理由で、共有フォルダーやユーザープロファイルも取得できません。
Linux から得られるもの
ディストリビューションとカーネル、CPU とメモリ、ディスク、サービスと待ち受けポート、ユーザー、コンテナー、パッケージと保留中の更新、ファイアウォール、SELinux と AppArmor です。
5. Windows のプログラムの既知の脆弱性を確認する
このチェックは、NetBlade が認識した各プログラムの正確なバージョンに、公開済みのどの脆弱性(CVE)が影響するかを National Vulnerability Database(NVD)に問い合わせます。
- 設定 ›「脆弱性チェック」に移動します。
- 「ソフトウェアの既知の脆弱性を確認」をオンにします。
- 必要に応じて、無料の「NVD API キー(任意)」を貼り付けます。キーがない場合、NVD が許可するのは 30 秒ごとに 5 件のリクエストで、キーがあれば 50 件です。プログラムの多い PC では、キーがあるとチェックがずっと速くなります。
- Windows PC のインベントリを読み取ります(または読み取り直します)。
検出結果は深刻なものから順に、CVSS スコアとリンク付きで表示されます。まとめはデバイスの「セキュリティ状態」と保存済みネットワークにも表示されます。
iPhone から送信されるもの
NetBlade が確実に照合できたプログラムの名前とバージョンだけが、nvd.nist.gov に送信されます。マシンの名前、アドレス、サインインしている人の情報が送信されることはありません。設定をオンにするまで、何も送信されません。
注: チェックされるのは、NetBlade がデータベースの正しい項目と完全に照合できたプログラムだけです。認識できなかったプログラムには判定が出ませんが、それは「脆弱性なし」と同じではありません。応答は 1 週間保持されます。チェックの対象は Windows のインベントリだけです。
6. 時間を追って変化を追跡する
保存済みネットワーク上の PC のインベントリは、そのたびに「ネットワークタイムライン」に反映されます。ウイルス対策・ファイアウォール・暗号化のオフ、保護の低下、有効化されたアカウント、新しいスタートアッププログラム、新しい管理者、新しいポート、ほぼいっぱいのディスク、保留中の更新などです。
iOS では NetBlade がバックグラウンドでインベントリを実行できないため、タイムラインが進むのは PC を読み取ったときです。現場に行くたびに主要なマシンを読み取ることを習慣にしてください。
うまくいったか確認する
- PC のページに、読み取った日付とともにインベントリが表示されます。
- Windows では、「防御機能」にウイルス対策、ファイアウォール、BitLocker、TPM が表示されます。
- 脆弱性チェックがオンなら、「セキュリティ状態」に検出結果が表示されるか、認識されたプログラムに既知の脆弱性がないことが表示されます。
- 保存済み › 対象のネットワークに、インベントリを取った PC が表示されます。
うまくいかないときは
- Windows が応答しない。 WinRM がオフになっているか、ブロックされています。PC で
Enable-PSRemoting -Forceを実行してください。iOS は WinRM でしか読み取らないため、ファイル共有しかしていないマシンは応答しないことを覚えておいてください。 - ワークグループの PC でアカウントが拒否される。
LocalAccountTokenFilterPolicyのコマンドを実行するか、組み込みの Administrator を使ってください。 - パスワードは正しいのに拒否される。 パスワードのないアカウントはネットワーク経由でログオンできません。ドメインの欄も確認してください。ローカルアカウントの場合は空欄です。
- Linux から得られる情報が少ない。 root が必要なデータは、設計上空のままになります。制限付きシェルでは、何も返ってこないこともあります。
- 脆弱性チェックが遅い。 設定で NVD API キーを追加してください。