ローカルネットワークのスキャン

ksocket が配置されたローカルネットワーク内を探索し、ノードや付随する情報を取得することを「スキャン」と呼びます。 スキャン結果は Kompira cloud にアップロードされ Web インターフェースや REST API にて確認することが出来ます。

ネットワークの作成および設定

Kompira cloud では、スキャンにて取得した一連のノード情報を「ネットワーク」という単位で管理します。

まず、Kompira cloud にログインし、「Sonar」を選択し、ネットワーク一覧画面を開きます。 はじめは何も登録されていないので、「作成する」を選択し、好きな名称でネットワークを作成します。

作成が完了すると、作成したネットワークのノード一覧画面が開きます(はじめは何も表示されません)。

まずは、このネットワークで利用する ksocket を指定するために「設定」を選択し、ネットワーク設定画面を開きます。 次に「設定」を選択し、このネットワークのスキャンに利用したい ksocket を選択して有効化してください。

f:id:c255:20181002141617p:plain

ksocket を有効化するとスキャン設定ボックスが表示されます。 ksocket は存在する可能性が高く、アクセス可能な IP アドレスに対してパケットの送信やログインの試行を行います。 そのため、必要に応じて「スキャンオプション」を指定し ksocket がアクセスしても良い IP アドレス範囲を指定してください。 指定可能な項目は「追加起点アドレス」「許可アドレス・ネットワーク」「禁止アドレス・ネットワーク」の3点です。

f:id:c255:20181002141829p:plain

追加起点アドレス

スキャンの起点となる IPv4 アドレスの追加候補です。 便宜的に IPv4 ネットワークも指定可能です。 その場合は IPv4 アドレスとして展開されます。 通常のスキャンでは取得できない既知のアドレスが存在する場合に利用してください。 なお、安全のため起点アドレス数の合計が 256 を超えるとスキャン実行自体が拒否されます。 API の項目としては queries に相当します。

許可アドレス・ネットワーク

パケットの送信を許可する IPv4 アドレス・ネットワークです。 ここに指定された IPv4 アドレス・ネットワークに含まれない IPv4 アドレスにはパケット送信を行いません。 未指定の場合は 0.0.0.0/0 が指定されている(全てのアドレスに対するパケット送信を許可)としてスキャンを行います。 既知のアドレス・ネットワークのみをスキャン対象としたい場合に利用してください。 API の項目としては includes に相当します。

禁止アドレス・ネットワーク

禁止アドレス・ネットワーク パケットの送信を禁止する IPv4 アドレス・ネットワークです。 ここに指定された IPv4 アドレス・ネットワークに含まれる IPv4 アドレスにはパケット送信を行いません。 「許可アドレス・ネットワーク」に含まれる IPv4 アドレスでも「禁止アドレス・ネットワーク」に含まれる場合はパケット送信を行いません。 既知のアドレス・ネットワークをスキャン対象から外したい場合に利用してください。 API の項目としては excludes に相当します。

スキャンオプションを適切に設定後、「保存する」ボタンを押して設定を保存してください。

APIからこれらの値を指定する方法については、APIドキュメントを参照してください。

スキャンの実行

ネットワークの設定を行うと「スキャン」にて表示されるスキャン画面より対象ネットワークのスキャンが可能となります。 スキャン画面ではネットワーク設定画面で選択した ksocket が表示され、保存した「スキャンオプション」がデフォルト値として利用されます。 スキャン毎に「スキャンオプション」を変更したい場合は、このスキャン画面にて一時的に変更することが出来ます。 ここで一時的に変更した設定をデフォルト値としたい場合は、「デフォルト値を更新して実行する」ボタンをクリックするとスキャン設定のデフォルト値として保存されます。

f:id:c255:20181002141902p:plain

この画面にて「実行する」を押すと「開始待ちスナップショット」が作成され、スキャンがスケジュールされます。 スキャンが完了すると該当スナップショットの状態が「完了」となり、取得した一連のアドレス情報の閲覧が可能となります。

ノード

スキャンにより時系列上でのアドレスの一意性を担保できる情報(例:シリアル番号)が取得できた場合に、該当アドレスは「ノード」に昇格します。 ノードは、それぞれに対して任意の名前をつけることが可能です。 また「発見日時」と「最終確認日時」が保存されているため、意図しないアドレスの欠落を見つけることが可能です。 さらに、アプリケーションの遍歴やハードウェア情報の時系列変化等を追うことが可能となります 1 。 なお、今後ノードに対する変更履歴の表示や脆弱性検出等の拡張機能を提供する予定です。

f:id:c255:20181002141913p:plain


  1. 現在は API 呼び出しにより関連するスナップショット一覧を取得し、その情報を元に比較等を行うアプリケーションを別途開発する必要があります。