yamory の使い方

yamory へようこそ! yamory の基礎知識と使い方をご紹介します。

exec

exec コマンドについて、以下に記します。

概要

exec コマンドは yamory-cli をインストールした ローカルホストのスキャンを行ないます。

スキャンにはアクセストークンが必要です。
アクセストークンは、チーム設定画面より発行できます。
発行手順などはこちらを参照してください。

アクセストークンなどの設定は、コマンドフラグ、または設定ファイルで指定できます。
両方指定された場合の優先順位は以下の通りとなり、設定ファイルの設定が無視されます。

  • コマンドフラグ(--token) > 設定ファイル(token 項目)

コマンドフラグ

Linux ホストをスキャンする場合

フラグ 説明
--config 設定ファイルの場所 (省略時は ./config.yaml )
--token/-T ホストスキャンのアクセストークン
--title/-t yamory サービス上表示されるスキャン対象の名前 (省略時は hostname コマンドの値)
--identifier/-i ホスト識別子。ホスト識別子には 半角英数字, -, _ のみ使用できます。
--distribution/-d ホストの OS
--version/-v ホストのバージョン
--openSystem/-o 公開ホストの設定を true または false で指定
--tags ホストタグ名をカンマ区切りで指定
--useSudo スキャン時に sudo を使用するか否かを指定。デフォルト false
--output ソフトウェア資産情報をローカルファイルに保存する場合に指定。ソフトウェア資産情報は yamory へ送信されません。
--pac HTTP プロキシの PAC ファイルのパスを指定
--proxy HTTP プロキシの URL を指定 ( --pac が指定された場合このフラグは無効になります)

Windows ホストをスキャンする場合

フラグ 説明
--config 設定ファイルの場所 (省略時は ./config.yaml )
--token/-T ホストスキャンのアクセストークン
--title/-t yamory サービス上表示されるスキャン対象の名前 (省略時は hostname または $Env:Computername コマンドの実行結果)
--winUpdateType 更新プログラムの取得先を指定します。Windows Update を使用する場合は WU、WSUS を使用する場合は WSUS を指定します (省略時は WU)
--identifier/-i ホスト識別子。ホスト識別子には 半角英数字, -, _ のみ使用できます。
--openSystem/-o 公開ホストの設定を true または false で指定
--tags ホストタグ名をカンマ区切りで指定
--output ソフトウェア資産情報をローカルファイルに保存する場合に指定。ソフトウェア資産情報は yamory へ送信されません。
--pac HTTP プロキシの PAC ファイルのパスを指定
--proxy HTTP プロキシの URL を指定 ( --pac が指定された場合このフラグは無効になります)

--output フラグについて

インターネットに接続できない環境で、ソフトウェア資産情報をローカルファイルに保存する場合に指定します。
出力されるファイル名は yamory_result_<yyyyMMddHHmm>_<hostname>.json です。
また、--output フラグを指定する場合 token は省略可能です。

設定ファイル

設定ファイルは YAML 形式で記述します。直下に以下のキーを記述できます。

キー 説明
token 文字列 ホストスキャンのアクセストークン
pac 文字列 HTTP プロキシの PAC ファイルのパスを指定
proxy 文字列 HTTP プロキシの URLを指定 ( pac が指定された場合このフラグは無効になります)
hosts 配列 スキャン対象の情報

hosts

スキャン対象のホストの情報です。
hosts に複数のホスト情報が記述されている場合、1番目のホスト情報のみが有効です。
下記のキーを記述できます。

Linux ホストをスキャンする場合

キー 説明
title 文字列 yamory サービス上表示されるスキャン対象の名前 (省略時は hostname コマンドの実行結果)
identifier 文字列 ホスト識別子。ホスト識別子には 半角英数字, -, _ のみ使用できます。
distribution 文字列 ホストの OS
version 文字列 ホストのバージョン
openSystem 文字列 公開ホストの設定を true または false で指定
tags 文字列 ホストタグ名をカンマ区切りで指定
useSudo 文字列 スキャン時に sudo を使用するか否かを指定。デフォルト false

Windows ホストをスキャンする場合

キー 説明
title 文字列 yamory サービス上表示されるスキャン対象の名前 (省略時は hostname または $Env:Computername コマンドの実行結果)
winUpdateType 文字列 更新プログラムの取得先を指定します。Windows Update を使用する場合は WU、WSUS を使用する場合は WSUS を指定します (省略時は WU)
identifier 文字列 ホスト識別子。ホスト識別子には 半角英数字, -, _ のみ使用できます
openSystem 文字列 公開ホストの設定を true または false で指定
tags 文字列 ホストタグ名をカンマ区切りで指定

identifier フラグ / パラメーターについて

yamory のホストスキャン機能では、ホストの一意性を特定するためにマシン ID(/etc/machine-id の値)。Windows の場合はシリアルナンバー)を使用していますが、クラウド環境などでコピーしたイメージを利用する際にマシン ID が同値となり、意図せずスキャン結果を上書きしてしまうことがあります。
そのような場合に identifier を設定することでスキャン情報の上書きを回避できます。
identifier には、チーム内でホストごとに一意の値になるように設定してください。

distribution フラグ / パラメーター、および version フラグ / パラメーターについて

ホストの OS(distribution)、およびバージョン(version)が指定されている場合、 OS の自動判別が無効になります。
なお、現在 distribution に指定できる値は以下の通りです。

  • Amazon Linux: amazon-linux
  • CentOS: centos
  • Debian: debian
  • Oracle Linux: oracle-linux
  • Red Hat Enterprise Linux: redhat
  • Ubuntu: ubuntu

openSystem フラグ / パラメーターについて

公開ホスト(外部ネットワークからパブリックアクセスが可能なホスト)として使用するかを指定できます。
公開ホストの場合は true、非公開ホストの場合は false を指定します。
openSystem が未指定の場合、前回スキャン情報があればその状態を引き継ぎ、初回スキャン時は公開ホストとして登録されます。
本パラメータはトリアージレベルの計算に使用されます。

useSudo フラグ / パラメーターについて

一部のディストリビューションでホスト情報を取得する際に root 権限が必要な場合、useSudotrue を指定すると、sudo コマンドを使用してホスト情報を取得します。trueを指定する場合、no password で sudo コマンドを実行できる必要があります。
スキャンを実行するユーザーが root 権限なしでホスト情報を取得できる場合は、useSudofalse を指定すると sudo を使用せずにスキャンします。省略した場合はfalseとして扱います。
useSudo は以下のディストリビューションでのみ有効です。

  • Amazon Linux
  • CentOS
  • Oracle Linux
  • Red Hat Enterprise Linux

root 権限が必要な場合がある権限は以下の通りです。

  • rpm コマンドの実行権限
  • /etc/os-release の参照権限

wsusScanFilePath フラグ / パラメーターについて

インターネット、または WSUS などの Windows Update サービスに接続できない環境で Windows のホストスキャンを実施する場合に
Windows Update から提供されている cab ファイル(wsusscn2.cab)を用いて未適用な更新プログラムを検出し脆弱性を検知できます。
wsusScanFilePath には wsusscn2.cab のフルパスを指定します。

wsusscn2.cab は Microsoft社が運営する windowsupdate.com から入手します。
Windows で wsusscn2.cab をダウンロードする場合以下を実行します。

curl.exe -sS -o C:\wsusscn2.cab http://download.windowsupdate.com/microsoftupdate/v6/wsusscan/wsusscn2.cab

また、cab ファイルを使用する場合、winUpdateType には CAB を指定する必要があります。

cab ファイルを使用したスキャンについては、よくある質問「 インターネットに繋がらない環境でWindowsホストをローカルスキャンできますか?」も参照ください。

設定ファイル例

Linux

token: "xxxxx"
pac: "/path/to/proxy.pac"
hosts:
  - title: "Linux-server"
    identifier: "Change-to-unique-identifier-for-your-team!"
    openSystem: true
    tags: "tag1,tag2"
    useSudo: false

Windows

token: "xxxxx"
proxy: "http://proxy.example.com:8080"
hosts:
  - title: "windows-server"
    identifier: "Change-to-unique-identifier-for-your-team!"
    winUpdateType: "WU"
    openSystem: true
    tags: "tag1,tag2"