SSH 接続で Linux ホストをスキャンする
yamory では Linux ホストの SSH スキャン機能をご提供しています。
yamory では、SSH を利用して、ホスト内で利用されているパッケージの脆弱性をスキャンできます。
これにより、お使いの MW/OS 脆弱性を検知できます。
前提条件を確認する
yamory では踏み台サーバーに CLI ツールをインストールし、CLI ツールから各ホストに SSH でログインしてスキャンを行います。スキャンする前に、以下をご確認ください。
また、このページでは Ubuntu のホストを使ってスキャン手順を説明します(スキャン可能なディストリビューションはこちら)。
- 踏み台ホストの OS が Linux、または Windows であること
- 踏み台ホストからスキャンしたい環境に SSH でスキャンできること
1.スキャンのトークンを発行する
サイドバーから「チーム設定」>「チーム情報設定」を開き、スキャンに必要なトークンを発行します。
2.yamory-cli を取得する
yamory-cli を踏み台サーバーにインストールします。
Linux の場合
ここでは wget を使っていますが、他のコマンドに読み替えても構いません。
wget -O yamory https://cli.yamory.io/yamory-cli-linux/yamory-linux-amd64 && chmod 700 yamory
wget -O yamory https://cli.yamory.io/yamory-cli-linux/yamory-linux-arm64 && chmod 700 yamory
Windows 10 Ver.1803(RS3)以降、Windows Server 2016 Ver.1803 以降の場合
curl.exe -o yamory.exe https://cli.yamory.io/yamory-cli-windows/yamory-windows-amd64.exe
PowerShell 3.0(Windows 8、Windows Server 2012 以降で標準搭載)以降の場合
Invoke-WebRequest -OutFile yamory.exe "https://cli.yamory.io/yamory-cli-windows/yamory-windows-amd64.exe"
3.設定ファイルを作成する
yamory-cli をインストールしたローカルホストに、スキャンするホストの設定ファイルを作成します。
設定ファイルは yaml 形式で記述します。 ホストの設定に合わせて、以下の内容を書き換えてください。
鍵認証を用いる場合
hosts:
- title: "my-server"
hostname: "192.168.0.111"
identifier: "Change-to-unique-identifier-for-your-team!"
port: 22
credentials:
user: "ubuntu"
key: "path/to/ssh-key.pem"
パスワード認証を用いる場合
hosts:
- title: "my-server"
hostname: "192.168.0.111"
identifier: "Change-to-unique-identifier-for-your-team!"
port: 22
credentials:
user: "ubuntu"
password: "123456"
ssh-agent を用いる場合
hosts:
- title: "my-server"
hostname: "192.168.0.111"
identifier: "Change-to-unique-identifier-for-your-team!"
port: 22
sshAgent:
useAgent: true
credentials:
user: "ubuntu"
identifier パラメーターについて
yamory のホストスキャン機能では、ホストの一意性を特定するためにマシン ID(/etc/machine-id
の値)を使用していますが、クラウド環境などでコピーしたイメージを利用する際にマシン ID が同値となり、意図せずスキャン結果を上書きしてしまうことがあります。
そのような場合に identifier
パラメーターを設定することでスキャン情報の上書きを回避できます。
identifier
パラメーターには、チーム内でホストごとに一意の値になるように設定してください。
その他パラメーターの詳細については、以下をご覧ください。
scan | 使い方 | yamory - 脆弱性管理クラウド
4.スキャンする
yamory-cli をインストールしたローカルホストで、インストールしたディレクトリに移動し、スキャンコマンドを実行します。
以下のコマンドからトークン"XXXXXXXXXXXXXX"を 1 で発行したトークンに置き換え、設定ファイルのパス"./config.yaml"を 3 で作成した設定ファイルのパスに置き換えて、スキャンを実行してください。
./yamory scan --token="XXXXXXXXXXXXXX" --config="./config.yaml"
5.スキャン結果を確認する
サイドバーから「ホスト」>「スキャン」を開き、スキャンしたホストの情報を確認できます。
また、サイドバーから「ホスト」>「脆弱性」を選択開くと、スキャンで検出された脆弱性の一覧をみることができます。
その他、詳細な設定内容についてはこちらを参照してください。
制限事項や注意事項について
- yamory-cli は nopassword で sudo コマンドを利用できる場合、sudo コマンドを使用します。
- yamory のホストスキャン機能では、ホストの一意性を特定するためにマシン ID(
/etc/machine-id
の値)を使用しています。マシン ID が同じ値のホストをスキャンするとスキャン情報を上書きしてしまいます。そのような場合は、マシン ID に異なる値を設定するか identifier パラメーターでホスト識別子を指定してください。