2020年7月6日 新型肺炎ウィルスの影響を受けて、お問い合わせ対応時間が10時~18時となっております。ご迷惑をおかけしますが宜しくお願い申し上げます。

バルス!!

 

社員 WEBサイト 閲覧 履歴 管理

こんにちは、インフラ担当のちぇんです。

某滅びの○○ではなく、脆弱性の話になります。

脆弱性検知ツールに「 Vuls 」というものがあります。

一般的に「 Vuls 」と呼ばれてますが、構成は以下のようです・

・脆弱性情報

・go-cve-dictionary

・goval-dictionary

・gost

・go-exploitdb

・go-msfdb

・Vuls 本体

・vuls

・ブラウザ上でレポートを表示する WebGUI

・vulsrepo

簡単に言うと「インストールされているソフトウェアの情報」と「脆弱性データベースに登録されている脆弱性情報」を関連付けし確認できるツールのようです。

 

インストールから診断完了まで、結構時間がかかったのでおさらいを兼ねて仮想マシンで構築してみました。

ユーザ作成

まず Vuls 実行用のユーザを作成し、root 権限を使えるように設定します。

 

前提パッケージのインストール

vulsuser になり、Vuls を動かすために必要な前提パッケージをインストールします。

「go」はできるだけ最新のものを用意します。

Vuls インストール

まず PATH を通すスクリプトを作成し反映します。

 

go-cve-dictionary をインストール

バイナリの存在とバージョンを確認します。

NVD と JVN から脆弱性情報を習得します。(マシンスペックによってはかなり時間がかかります。私は数時間かかりました。)

 

goval-dictionaryをインストール

バイナリの存在とバージョンを確認します。

Red Hat から OVAL 情報を入手します。

 

gost をインストール

バイナリの存在とバージョンを確認します。

Red Hat から脆弱性情報を入手します。

 

go-exploitdb をインストール

バイナリの存在を確認します。(バージョン情報はなさそうです。)

ExploitDB から情報を入手します。

 

go-msfdb をインストール

バイナリの存在とバージョンを確認します。

msf-db 情報を入手します。

 

vuls インストール

バイナリの存在とバージョンを確認します。

 

VulsRepo インストール

vulsrepo-config.toml を設定します。

有効な部分のみ抜粋、環境に合わせ path を変更したのみです。

VulsRepo 用にポート開放します。

 

脆弱性検知

Local Scan Mode

動作確認としてローカルスキャンを試します。

まず設定ファイルを作成します。

Vuls 管理サーバの設定状態を確認します。

脆弱性検知を実行します。

VulsRepo でブラウザ上にレポートを表示させるために scan 結果を JSON ファイルで出力します。

JSON ファイルが出力されたか確認します。

 

 

VulsRepo 起動

VulsRepoサーバを起動します。

ブラウザでアクセスします。今回の環境は

http://192.168.11.249:5111

になります(https://ではありません)

左上のリストボタンをクリックすると、保存した JSON ファイルが表示されます。

表示したい JSONファイルにチェックを入れ「 Submit 」を押します。

左上の項目を変更しグラフ表示などもできます。

 

Remote Scan Mode

では本命のリモートスキャンを試したいと思います。

結果の確認はローカルスキャンと同じく VulsRepo が使えます。

スキャン対象サーバ作業

Vuls 用アカウントを作成し公開鍵を作る準備をします。

 

Vuls 管理サーバ側作業

まず Vuls 管理サーバで秘密鍵・公開鍵を生成します。

※ Vuls で自動的に SSH 接続するため、パスフレーズは設定しないほうがいいです。

公開鍵をスキャン対象サーバに送り、鍵認証のみ(パスワード聞かれない)でログインできることを確認します。

 

リモートからログオフしたら「 known_hosts 」ファイルにスキャン対象サーバが登録されていることを確認します。

config.toml を設定します。

 

設定をテストします。

 

脆弱性検知を実行します。

 

VulsRepo

ローカルスキャン同様JSONファイルに出力してからブラウザでアクセスします。

ブラウザでアクセスし、リモートで取得したJSONファイルを指定します。

CveIDのリンクをクリックすると、その脆弱性の情報を確認できます。

 

まとめ

Vuls を使った感触を以下に記載します。

・リモート側には公開鍵を置くのみでエージェントを仕込む必要がないため、構築・運用が比較的容易だと思える。

・一部の脆弱性情報ダウンロードで時間がかかるものの、診断は数分で網羅的に確認できた。

・VulsRepo で表にしてしまえば、ピボットテーブルのように項目を入れ替え必要な情報を見やすくまとめることができそう。

(脆弱性情報をスコアの高い順に表示しようとしましたが、ソートが機能しなかったため記載しませんでした。)

 

長くなりましたが以上となります、お疲れさまでした。

最新情報をチェックしよう!

サイバーセキュリティの最新記事8件

>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG