Windows OS の sshd.exe をソフトウェア認識させる方法
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago
Windows には、SSH のデーモンプロセス(サーバープロセス)を追加できる機能があります。
この機能を ソフトウェアとして検出しようとした際に試行錯誤したため、その手順をまとめました。
基本的な考え方や手順については、以下の記事が参考になります。
プロセスによるソフトウェア検出 - ServiceNow Community
Windows OS において OpenSSH のデーモンプロセスを実装する方法については、以下の Microsoft 公式ドキュメントをご参照ください。
Windows 用 OpenSSH Server の使い方を始める | Microsoft Learn
WSL の登場により、Linux 環境を自前で構築しなくても Docker を利用できるようになり、非常に便利になりました。
その流れの中で、Windows 上でも SSH デーモンプロセスが実装されるようになっています。
SSH デーモンが稼働しているかどうかは、ServiceNow Discovery 実行後に Running Process として sshd.exe が存在するかを確認することで検出できます。
しかし、これを Software としても管理できれば、より精度の高い CMDB を構築できると考え実施しました。
■手順
1.プロセスからのソフトウェア検出
プロセスによるソフトウェア検出 - ServiceNow Community を行います。
Software Installation Name Mappings (cmdb_sam_sw_name_mapping) テーブルへ以下の内容を登録します。登録は以下画像としました。
Pattern Designer → Pre Post Processing から 「Sync Installed Software」を検索し開き、Pattern に sshd を追加します。これで出来ると!と思いきや・・
Discoveryを 実行しても・・・Runs に入らないところです。
Discovery 結果のRunnnigu Process から、sshd.exe のみが Classify が false になっているためだと原因として推定しました。
2.対策手順
Classify していないのは、CI クラス分類として設定されていないためだとみました。
そこで、Cl Classification → Processes から ssh に関連する 項目を検査します。 それぞれで sshd.exe を検出するのは、
The OpenBSD Foundation OpenSSH
sshd classifier
がありました。
Name (プロセス名) が sshd.exe で検出している。
※ つまずきポイント Proccess Handlers にある ssh の Classify を true にしても Discovery 時に検出された Running Proccess は Classify が true となるもののソフトウェア検出はされずでした。
The OpenBSD Foundation OpenSSH を 開き、Active にチェックを入れ保存します。
Discovery を実行することで、Runs として認識されるようになりましたが、継続して ソフトウェア検出はされていません。
さらにですが、The OpenBSD Foundation OpenSSH の 「Create Installed Software」 を true にする必要があります。
私の環境では、デフォルトフォームにて 「Create Installed Software」 項目が表示されませんでしたので、Proccess Classification リストから表示して変更しました。
Proccess Classification (discovery_classy_proc) から、右上の⚙歯車マークをクリックし「Create Installed Software」 をSelected に移動。
The OpenBSD Foundation OpenSSH の 「Create Installed Software」 を false → true に変更
Discovery を実行する事で、OpenSSH がソフトウェア検出されました。
- 93 Views
