スキャンモードの設定#
設定ファイル(config.toml)にて、スキャナの動作を指定できます。
Linuxでの設定#
FutureVuls ではスキャナのインストール時に以下の設定が可能です。
設定項目 | 変数名 | 説明 |
---|---|---|
スキャンモード | VULS_SCAN_MODE | スキャン実行権限の違い |
スキャンオフライン | VULS_SCAN_OFFLINE | スキャン実行時のインターネット接続の有無 |
スキャナの自動更新 | AUTO_REFRESH_BINARY | 各スキャン時のスキャナ更新の有無 |
プロキシ設定 | VULS_PROXY | プロキシ環境下でのプロキシサーバの設定 |
スキャンモード#
スキャン実行時に Root 権限が必要かどうかを選択します。
プロセス起動状況などトリアージに役に立つ情報を取得可能な fast-root
でスキャンすることをオススメしています。
スキャンモード | 説明 |
---|---|
Fast-Rootスキャン(デフォルト) | スキャナプログラム実行時にRoot権限が必要なモード |
Fastスキャン | 取得できる情報に制限があるが、スキャナプログラム実行時にRoot権限が必要ないモード |
Fast モードを選択した際に取得できなくなる情報は、以下の通りです。
- パッケージに関連するプロセスの起動状況と、LISTEN ポートの開放状況: 「ソフトウェアタブ」>「プロセス実行中」列
- パッケージの最新バージョン: 「タスク詳細タブ」>「関連するソフトウェア」>「アップデート」列
- ただし、一部の OS (AlmaLinux, Rockey Linux など) では、fast モードでのスキャン時も取得できます。
- プロセス再起動の要否:「ソフトウェアタブ」>「プロセス再起動」列
スキャンモードの設定は config.toml
内の scanMode
で編集可能です。
#Fast-Rootスキャンの場合
scanMode = ["fast-root"]
#Fastスキャンの場合
scanMode = ["fast"]
Fast スキャンモードを利用する場合は、 /etc/sudoers.d/vuls-saas
の設定は不要となるので削除してください。
スキャンオフライン#
offline
を指定すると、スキャン対象サーバがインターネットに接続できない環境でもスキャンできます。
これは一部の OS で対応しています。対応状況については「OSSドキュメント」を参照してください。
スキャンオフラインの設定は config.toml
内の scanMode
で編集可能です。
# offline スキャンモードを利用する場合は以下のように追記(Fastスキャンモードも同様)
scanMode = ["fast-root", "offline"]
なお、オフラインモードの際は、一部情報を取得できません。 取得できない情報の代表例は以下のとおりです。
- パッケージの最新バージョン: 「タスク詳細タブ」>「関連するソフトウェア」>「アップデート」列
- プロセス再起動の要否: 「ソフトウェアタブ」>「プロセス再起動」
- ただし、OS が Debian の場合は、
offilne
モードでのスキャン時にも例外的に取得できます。
- ただし、OS が Debian の場合は、
スキャンモジュール#
以下のように、環境や用途に合わせてスキャナの動作を柔軟に制御できます。
- WordPress の脆弱性は検知したいが OS パッケージの脆弱性は検知したくない
- サーバに配備されているライブラリの脆弱性のみ検知したい
- ポート接続チェックはしたくない
scanModule には以下を指定可能です。
scanModules = ["ospkg", "wordpress", "lockfile", "port"]
名前 | 説明 |
---|---|
ospkg | OSのパッケージリストを取得する |
lockfile | プログラミング言語ライブラリのロックファイルを取得する。詳細 |
wordpress | WordPressのCore, Plugin, Themeのリストを取得する。詳細 |
port | サーバがListenしているPortに対して、Scannerから接続チェックする |
デフォルトでは scanModules は省略されていて、このとき ospkg
、 wordpress
、lockfile
、port
の4つのモジュールが全て有効化されます。
ただし、wordpress
や lockfile
のスキャンは、config.toml 上で対応する設定(WordPress の設定パス、Lockfile の配置パス 等)が記載されている場合にのみ実行されます。
設定が存在しない状態では、モジュールを有効化しても該当スキャンは実際に走りません。
各種パスの設定方法につきましては以下をご確認ください。
Trivyでの設定#
通常版の Trivy スキャンでは、/opt/vuls-trivy-saas/config.toml
ファイルを用いて指定可能なオプションがあります。
コンテナイメージの場合#
項目 | 説明 | 必須 |
---|---|---|
[] の中 | images.<hoge> (<hoge> の中は <imageName>:<tag> と一致している必要はありません。) |
✅ |
imageName | スキャン対象のコンテナイメージの名前 | ✅ |
tag | スキャン対象のコンテナイメージのタグ | ✅ |
uuid | uuidgen 等により生成した uuid |
✅ |
ライブラリの場合#
項目 | 説明 | 必須 |
---|---|---|
[] の中 | libraries.<hoge> (<hoge> の中は targetPath と一致している必要はありません。) |
✅ |
targetPath | スキャン対象ディレクトリ | ✅ |
uuid | uuidgen 等により生成した uuid |
✅ |
config.toml の例#
[saas]
GroupID = XXX
Token = "xxxxxxxx"
Proxy = 'http://name:pass@proxy:port'
[scanner]
refreshScanner = true
[images.myApp:latest]
imageName = "myApp"
tag = "latest"
uuid = "xxxxxxxx"
[libraries./xxx/xxx]
targetPath = "/xxx/xxx"
uuid = "xxxxxxxx"