スキャンモードの設定#
設定ファイル(config.toml)にて、スキャナの動作を指定できます。
Linuxでの設定#
FutureVulsではスキャナのインストール時に以下の設定が可能です。
設定項目 | 変数名 | 説明 |
---|---|---|
スキャンモード | VULS_SCAN_MODE | スキャン実行権限の違い |
スキャンオフライン | VULS_SCAN_OFFLINE | スキャン実行時のインターネット接続の有無 |
スキャナの自動更新 | AUTO_REFRESH_BINARY | 各スキャン時のスキャナ更新の有無 |
プロキシ設定 | VULS_PROXY | プロキシ環境下でのプロキシサーバの設定 |
スキャンモード#
スキャン実行時に Root 権限が必要かどうかを選択します。
プロセス起動状況などトリアージに役に立つ情報を取得可能な fast-root
でスキャンすることをオススメしています。
スキャンモード | 説明 |
---|---|
Fast-Rootスキャン(デフォルト) | スキャナプログラム実行時にRoot権限が必要なモードであり、以下の情報も取得可能 ・プロセスの起動状況やポートの開放状況 ・次回アップデート時に影響のあるプロセス ・パッケージアップデートしたが再起動を忘れているサービス |
Fastスキャン | 取得できる情報に制限があるが、スキャナプログラム実行時にRoot権限が必要ないモード |
スキャンモードの設定は 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"]
スキャンモジュール#
以下のように、環境や用途に合わせてスキャナの動作を柔軟に制御できます。
- 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"