ノードの検索

Kompira cloudでは、ksocketを使用して収集したノード情報を、様々な条件で検索することができます。

Kompira cloudにログイン後、画面左側のアイコンから検索画面を表示することができます。

検索フォーム欄の下には、検索クエリのチートシートが表示されています。

曖昧な検索

例えば「CentOS」のノードだけを探したい場合、 cent とだけ入力すると、OS名、ホスト名、ベンダ名、パッケージ情報などの構成情報の中に cent という文字列が含まれるノードを全て探します。

キーワード指定による検索

system:centos のように、 system: というキーワードを指定すれば、「機種・OS名」の項目の中だけに限定して centos という文字列が含まれるノードのみを探すことができます。

指定できるキーワードには以下のようなものがあります。

キーワード 意味
system system:CentOS システム名に CentOS を含むノードを検索
addr addr:10.10.0.3 IP アドレスに 10.10.0.3 を含むノードを検索
host host:dns.your.domain.com ホスト名に dns.your.domain.com を含むノードを検索
macaddr macaddr:aa:bb:cc:dd:ee:ff MAC アドレスに aa:bb:cc:dd:ee:ff を含むノードを検索
nicVendor nicVendor:vmware NIC ベンタ名に vmware を含むノードを検索
package package:httpd httpd というパッケージを持つノードを検索
package (バージョン指定) package:httpd:2.6 httpd のバージョン 2.6 を持つノードを検索
windowsUpdate windowsUpdate:KB3124263 KB3124263 という Windows アップデートを持つノード検索
serial serial:4D9569ER0069B シリアル番号に 4D9569ER0069B を含むノードを検索

複雑な検索

さらに、AND/ORや「~を含まない」という検索を行うこともできます。

意味
-system:ubuntu システム名に ubuntu を含まないノードを検索
host:fixpoint AND package:apache ホスト名に fixpoint を含み apache を持つノードを検索
package:nginx OR package:apache nginx か apache を持つノードを検索
host:fixpoint AND (package:nginx OR package:apache) ホスト名に fixpoint を含み nginx か apache を持つノードを検索
system:"windows server 2016" AND -windowsUpdate:KB3124263 "windows server 2016" だが KB3124263 が適用されていないノードを検索

これにより、Kompira cloudで管理しているノードを条件によって簡単に見つけることができます。




実践的な検索の使い方

脆弱性が発見されたアプリケーションを持ったノードを見つける

実践的な例として、ある脆弱性が発見されたため、自分が管理しているサーバ群が脆弱性を持っていないか探さなければいけない、という状況を考えてみましょう。

最も代表的な脆弱性情報サイトであるCVE - Common Vulnerabilities and Exposuresでは、脆弱性情報がCVE番号 (CVE-XXXX-YYYY) で管理されており、ある脆弱性に関する「どの環境下、どのアプリケーションに含まれているものか」「攻撃の成立条件」「対策方法」などの情報がまとめられています。

例えば、適当な例として CVE-2018-12882 という脆弱性を見てみましょう。 この脆弱性はPHPに関するもので、PHP 7.2.7までの7.2.xに含まれます。

この脆弱性を検索機能で見つけるには、単に php と検索してもよいですし、より厳密に検索させたいのであれば package:php:7.2 と書くこともできます。

また、この脆弱性に対する対応方法はRed Hat/CentOS, Ubuntu, Debian など OSごとにそれぞれ公開されているため、以下のようにOSごとに結果を表示させるのも有効です。

  • PHP 7.2系がインストールされたUbuntu
    • package:php:7.2 and system:ubuntu
  • PHP 7.2系がインストールされたDebian
    • package:php:7.2 and system:debian
  • PHP 7.2系がインストールされたRed Hat Enterprise Linux, または CentOS
    • package:php:7.2 and (system:"red hat" or system:centos)

管理しているサーバ・ネットワーク機器が数百~数千単位になると、「1台1台ログインして脆弱性が含まれていないか確認する」という方法ではほとんど管理できなくなります。

Kompira cloudでは、構成情報が自動収集される環境下で様々な検索を簡単に試すことができるため、管理している機器台数が多いほどその効果も大きくなります。