スキャン方法の選択肢と特徴
FutureVulsにはスキャン対象ごとに複数のスキャン方法があります。
それぞれの選択肢とその特徴を説明します。
LinuxホストOSをスキャン
スキャン対象がインターネットに接続している場合
スキャン対象サーバからスキャン結果のJSONをFutureVulsにアップロードできる場合は、パッケージアップデート時に構成情報をFutureVulsに自動で反映可能なスキャナでLinuxをスキャンする方法がおすすめです。
- ローカルスキャン
- スキャン対象の各サーバにスキャナを設置してスキャンする方法
- メリット
- インストールが簡単(コマンド1つ実行すれば完了)
- 該当するプロセスの情報なども取得できる。
- アップデートなどにより構成情報が変わった場合も画面上に自動で反映される
- スキャナプログラムは自動更新
- 検討ポイント
- SSH経由のリモートスキャン
- スキャン対象ネットワーク内にスキャナを設置して、スキャナからスキャン対象サーバにSSH経由でスキャンする方法
- メリット
- 該当するプロセスの情報なども取得できる。
- アップデートなどにより構成情報が変わった場合も画面上に自動で反映される
- スキャナプログラムをサーバ上に配置できない場合でもOK
- SSHトンネル等を用いることでスキャナからSSHで到達できるサーバはスキャンできる
- CIDRレンジを指定すれば、あるネットワーク内のサーバを一括でスキャン可能
- 検討ポイント
- ローカルスキャンに比べて設定が大変(設定ファイルに定義が必要)
- Amazon EC2のInspector連携
スキャン対象が閉域網の場合
- ペーストスキャン
- メリット
- FutureVulsの画面上でパッケージのリストをコピーペーストで登録してCVEを検知
- 閉域網(エアギャップ環境)のサーバも検知可能
- 管理対象サーバにスキャナプログラムが必要ない
- 検討ポイント
- アップデートなどにより構成情報が変わった場合に画面上からパッケージのリストを更新する必要あり
- スキャナよりも取得できる情報は少ない
- プロセスの情報(ポートリスン情報)などは取得できない
Windowsをスキャン
コンテナをスキャン
- コンテナのイメージをスキャン
- Trivy連携
- メリット
- コンテナイメージ内にあるアプリケーションライブラリも検知可能
- CI/CDに組み込める
- Amazon ECR外部連携
- メリット
- コンテナイメージ内にあるアプリケーションライブラリも検知可能
- AWSのECRと連携設定するだけで設定が完了する。Trivyのスキャン環境を別途構築する必要がない
- GCP GCR外部連携
- メリット
- 検討ポイント
- Trivyのほうが検知精度良い
- ライブラリの脆弱性検知は他の方法で実現する必要あり
- 実行中のコンテナをスキャン
- Vuls(ヘルプ準備中。すぐに必要であれば問い合わせください)
アプリケーションの依存ライブラリをスキャン
JavaやPythonなどのフレームワークや、Webアプリケーションなどが内部で依存するOSSライブラリの脆弱性検知の方法です。
依存ライブラリの脆弱性にはCVEが採番されていない脆弱性がたくさんありますが、それらCVEが採番されていない脆弱性も検知できます。
サポートする言語やLockfileの一覧は、対応環境を参照してください。
- ホストOS上のLockfileをスキャンしたい場合
- 一緒にOS Pkgもスキャンしたい場合
- VulsでLockfileを指定したスキャン
- メリット
- Vulsスキャナのセットアップ済みOSではconfig.tomlを変更すれば良い。
- 検討ポイント
- 検知対象のLockfileをconfig.tomlに列挙する必要あり
- ライブラリのみスキャンしたい場合
- コンテナイメージ内にインストールされた依存ライブラリをスキャンしたい場合
- Lockfileが閉域網にある場合
- ペーストスキャンで画面上から登録
- メリット
- Lockファイルがあればブラウザ上からコピーペーストで登録可能
- 検討ポイント
- アップデートなどによりLockfileが変更された場合は、下記のいずれかの方法で更新する必要あり
- 画面上からペーストして更新する
- REST APIで更新する方法
- GitHubのLockfileやライブラリをスキャンしたい場合
- GitHub以外のソース管理サービスにある依存ライブラリをスキャンしたい場合
NW機器、商用ミドルウェアや自分でコンパイルしたものをスキャン
CPEスキャン機能は、OSやプログラミング言語依存のライブラリ「以外」のソフトウェアの脆弱性をスキャンできます。具体的なスキャン対象例としては以下のようなものがあります。
- Cisco、Fortinetなどのネットワーク機器
- OracleやJP1などの商用データベースおよびその他の商用製品
- ダウンロードしてセットアップしたTomcat
- ソースコードをコンパイルしたApache
WordPressのプラグインやテーマをスキャン