目次

1.スキャン対象サーバの用意

2.スキャン結果の確認

3.スキャン結果の通知

4.定期的な作業

まとめ

1.スキャン対象サーバの用意

対象サーバにvulsサーバからSSH可能にする設定をします。
@target-srvで行います。
vulsuserを作成~vulsuserにスイッチしてSSHキーを作成します。

 

@vuls-srvで行います。
ユーザはrootです。
id_rsaをSCPでコピー~接続テストをします。

 

再び@target-srvで行います。
/etc/sudoersに下記内容を設定します。

sudo権限設定(# Allow root to run any commands anywhereに追記)

最終行にsudo実行時のパスワード問い合わせがないよう追記
※NOPASSWDのため、乗っ取られたらやられ放題となりますので、十分に注意してください。

 

再び@vuls-srvで行います。

emailとslackと対象サーバを設定ファイルに追記します。

メールは、例としてgmailに設定します。
Slackは、Incoming WebhookからURLを取得する設定を行ってください。
今回はチャンネルにvuls-testを指定します。

設定ファイルと、スキャン対象サーバの設定のチェックをします。

 

2.スキャン結果の実行と確認

Scan実行します。

設定ファイルに記載のあるtarget-srvのみScanを実行したい場合は、下記の通り指定します。

下記の通り出力されます。

 

3.スキャン結果の通知

emailで通知します。
下記は、ホストごとに結果をすべて日本語でメール通知するコマンドです。

下記は、ホストごとにcvs7以上の結果をすべて日本語でメール通知するコマンドです。

下記の通りメールが届きます。

slackで通知します。
ホストごとにcvs7以上の結果をすべて日本語でslackに通知するコマンドです。

下記の通りSlackで通知されます。

 

4.定期的な作業

CVEのUpdateです。
常に最新の情報を取得するため、定期的に実行してください。
本家にも記載がありますが、nvd→jvnの順番で実行をしてください。
逆の順番でUpdateすると、非常に時間がかかるようです。
cronに登録します。

毎日2:00にnvdのUpdateを実行します。

毎日2:30にjvnのUpdateを実行します。

 

定期的にScanを実行するようにcronに登録します。
平日4:00にScanを実行し、CVE7以上のScan結果をメールでレポートします。

 

 

まとめ

Vuls導入に際しての注意点と動作についてをまとめます。
・インストール、動作検証ともに問題なく実行できた。GitHubのマニュアルも非常にわかりやすく書かれており、使用するに快適なツールでした。
・WebUIが用意されているが、基本はコマンドラインベースで動作する。
・SSH remoteで脆弱性スキャンを実行する際に、NOPASSWDにする際は、サーバが乗っ取られないよう十分に注意する必要がある。
・当方の環境では、サーバ1台に対してのスキャンの実行時間が5分程度だった。
・OpenVAS同様、意外と対策されていない脆弱性が容易に発見できるため、特に外部から接続できるサーバ(Webサーバ、メールサーバ、DNSサーバなど)に対しては定期的な脆弱性診断を実施することが、セキュリティにおいて非常に重要な対策である。
・CSVレポートやOWASP Dependency Check、Slackなどの連携が可能で、拡張機能が充実している。