• このエントリーをはてなブックマークに追加

vuls初歩的なエラーへの対処まとめ

  • このエントリーをはてなブックマークに追加

こんにちは。Ushioです。

脆弱性検知ツールVULSをMacOSXに導入する際の初歩的なエラーへの対処についてメモしておきたい。

◆VULSインストールについてはこちら

CA3J0463

話題の脆弱性検知ツールVULSのインストール手順、使用方法の紹介

コマンドオプションのおさらい

README in English と、README in Japaneseの内容のおさらい

◆vuls prepareコマンドについて

$ vuls prepare -help
prepare
                        [-config=/path/to/config.toml] [-debug]
                        [-ask-sudo-password]
                        [-ask-key-password]

  -ask-key-password
        実行前にssh秘密鍵のパスワードの入力を求める
  -ask-sudo-password
        実行前にsudoパスワードの入力を求める
  -config string
        設定ファイルの格納ディレクトリのパスを指定
        指定しない場合のデフォルトはコマンド実行時のカレントディレクトリ直下のconfig.tomlファイルを参照
         ("$PWD/config.toml")
  -debug
        デバッグモードで実行
  -use-unattended-upgrades
        ※非推奨。Ubuntu向け。unattended-upgradesを使用する。

◆vuls scanコマンドについて

$ vuls scan -help
scan:
        scan
                [-lang=en|ja]
                [-config=/path/to/config.toml]
                [-dbpath=/path/to/vuls.sqlite3]
                [-cve-dictionary-url=http://127.0.0.1:1323]
                [-cvss-over=7]
                [-report-slack]
                [-report-mail]
                [-http-proxy=http://192.168.0.1:8080]
                [-ask-sudo-password]
                [-ask-key-password]
                [-debug]
                [-debug-sql]

  -lang
       "=ja"でslack、mailレポートを日本語にする。(デフォルトは英語 "en")
  -ask-key-password
        実行前にssh秘密鍵のパスワードの入力を求める
  -ask-sudo-password
        実行前にsudoパスワードの入力を求める
  -config string
        設定ファイルの格納ディレクトリのパスを指定
        指定しない場合のデフォルトはコマンド実行時のカレントディレクトリ直下のconfig.tomlファイルを参照
         ("$PWD/config.toml")
  -cve-dictionary-url string
        CVE辞書サーバのURLとポートを指定。 
        (デフォルトは自端末(loopback i/f) "http://127.0.0.1:1323")
  -cvss-over float
        レポートで出力するCVSSの評価スコアの下限指定。6.5にするとリスクスコア6.5以上をレポート。
        デフォルトは0であり、全てのレポートの出力 ☆補足あり
  -dbpath string
        vuls.sqlite3へのpath (default "$PWD/vuls.sqlite3")
  -debug
        デバッグモード
  -debug-sql
        SQLのデバッグモード
  -http-proxy string
        デフォルトは指定なし。プロキシを指定する場合はURLとPortを指定。
  -report-mail
        メールでのレポート出力。
  -report-slack
        Slackでのレポート出力
  -use-unattended-upgrades
        ※非推奨。Ubuntu向け。unattended-upgradesを使用する。
  -use-yum-plugin-security
        ※非推奨。CentOS5向け。yum-plugin-securityを使用。デフォルトはyum plugin-updateを使用。

☆補足

CVSS Scoreについて

深刻度 スコア
緊急 9.0~10.0
重要 7.0~8.9
警告 4.0~6.9
注意 0.1~3.9
なし 0

引用元:IPA https://www.ipa.go.jp/security/vuln/CVSSv3.html

コマンド実行の前に確認する初歩的なポイント

  • user権限でのアクセス設定をしている場合、sudoパスワードをオプションで渡す
  • ターゲットサーバへのsshログインユーザに対してsudo設定(/etc/sudoersへの設定)がされているか
  • prepare実行時のカレントディレクトリはvuls用の作業ディレクトリか(config.tomlファイルのあるディレクトリか)
    →もしくはpathを指定したか
スポンサーリンク
Sponsords Link

エラー例

ここから初歩的な私があれ?となった内容、エラーログを紹介。そう、初歩的な内容に私があれ?となったのではなく、私が初歩なのだ。

config.tomlファイルの[servers.xxx]の記述ミス

config.tomlの[servers.xxx] の記載に[servers.example.com]や[servers.192.168.1.1]のようにピリオド等入れると下記のようなエラーとなる。

解決方法
→[servers.example-com]や[servers.192-168-1-1]などにしよう。

エラーログ例

$ vuls prepare
INFO[0000] Start Preparing (config: /Users/user/vuls/config.toml) 
[May  5 11:48:02]  INFO [localhost] Detecting OS... 
WARN[0000] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 552.330144ms... 
WARN[0000] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 1.080381816s... 
WARN[0001] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 1.31013006s... 
WARN[0002] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 1.582392691s... 
WARN[0004] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 2.340488664s... 
WARN[0006] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 4.506218855s... 
WARN[0011] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 3.221479586s... 
WARN[0014] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 5.608623477s... 
WARN[0020] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 7.649837917s... 
WARN[0027] Failed to ssh @: err: dial tcp :0: connect: can't assign requested address, Retrying in 15.394871241s...

sshログインユーザの実行権限の問題

上述のおさらいの通り。

◆vuls prepare

vuls prepare実行の際に、ターゲットサーバにyum-plugin-securiryとyum-plugin-changelogがインストール済みか確認し、無ければ自動的にインストールを試みるようだ。

ログインユーザに実行権限が無いとダメ

解決方法
→①-ask-sudo-passwordオプションにてsudoパスワード(ログインユーザパスワード)を渡す
→②ターゲットサーバ上にログインユーザのsudo設定(/etc/sudoers設定)をする

エラーログ例

$ vuls prepare
INFO[0000] Start Preparing (config: /Users/user/vuls/config.toml) 
[May 5 11:55:04] INFO [localhost] Detecting OS... 
[May 5 11:55:05] INFO [localhost] (1/1) Successfully detected. server1: centos 6.6
[May 5 11:55:05] INFO [localhost] Installing...
[May 5 11:55:05] INFO [server1:22] Ignored: yum-plugin-security already installed
[May 5 11:55:05] INFO [server1:22] Installing yum-plugin-changelog...
[May 5 11:55:08] ERROR [localhost] Failed: user@server1:22: Failed to install yum-plugin-changelog. status: 1, stdout: [sudo] password for user: Sorry, try again.
[sudo] password for user: 
sudo: 1 incorrect password attempt
, stderr:

◆vuls scan

こちらも内容は同じ。vuls scan実行の際に、ターゲットサーバ上でyum check-updateを実行するようで、sudoできない、とログが出る。

解決方法
→①-ask-sudo-passwordオプションにてsudoパスワード(ログインユーザパスワード)を渡す
→②ターゲットサーバ上にログインユーザのsudo設定(/etc/sudoers設定)をする

エラーログ例

$ vuls scan
INFO[0000] Start scanning (config: /Users/user/vuls/config.toml) 
[May 5 12:12:54] INFO [localhost] Validating Config...
[May 5 12:12:54] INFO [localhost] Detecting the type of OS... 
[May 5 12:12:55] INFO [localhost] (1/1) Successfully detected. server1: centos 6.6
[May 5 12:12:55] INFO [localhost] Scanning vulnerabilities... 
[May 5 12:12:55] INFO [localhost] Check required packages for scanning...
[May 5 12:12:55] INFO [localhost] Scanning vulnerable OS packages...
[May 5 12:12:59] ERROR [server1:22] Failed to scan vulnerable packages
[May 5 12:12:59] ERROR [localhost] Failed to scan. err: user@server1:22: Failed to yum --color=never check-update. status: 1, stdout: [sudo] password for user: Sorry, try again.
[sudo] password for user: 
sudo: 1 incorrect password attempt
, stderr:

とりあえずやってしもうたエラーはこんな感じ。

とりあえず立てた検証サーバだったため、うっかりうっかり。やってみないと分からないもんですね。他にvulsを試す中でエラーが出れば適宜更新したい。

ZacoUshio

スポンサーリンク
Sponsords Link
  • このエントリーをはてなブックマークに追加

ZacoDesign

スポンサーリンク
Sponsords Link