Kali Linux で Vuls を使う方法 – インストール編(1/2) –


■Kali Linux で Vuls を使う方法 – インストール編(1/2) –

セキュリティ技術者にとって、

日々発見される脆弱性情報を

逐次把握しておくことは非常に重要。

また、サーバー管理等を行っている場合、

発見された脆弱性が管理対象のサーバーに

影響するかどうかを逐次判断し、

影響する場合には適切な手順でパッチを当てる等、

迅速な対応が非常に重要となる。

しかしながら、昨今、脆弱性情報は

毎日何件も報告されるため、

これを人手でいちいち収集して判断するのは

現実的に困難となってきている。

そんな状況を解決する方法として、

管理しているサーバー等の脆弱性を

自動的に検査してくれるようなツールを

導入するという方法があるが、

最近は結構いろいろなツールがあって、

どれがどうなのかがいまいちわからない。

ということで今回は、脆弱性検査ツールとして

以前から個人的に気になっていた、

Vuls

を導入し、その挙動について調べてみようと思う。

なお、インストール方法については、IPA が

非常に丁寧な手順書を公開してくれている。

IPA:脆弱性対策の効果的な進め方 ツール活用編(PDF)

基本的にはこれにそってインストールすれば

動かせるのだが、Kali Linux に導入しようとすると、

そのままではうまくいかないことがいくつかあった。

よって本記事では、

Kali Linux に Vusl をインストールする方法

について記載する。

なお、今回 Vuls を導入する Kali Linux は

VirtualBox 上で動作させている。

VirtualBox で Kali Linux を

動作させる方法等に関しては、本サイトの

Windows でセキュリティ

以下の

Windows 10 への Kali Linux の導入

に記載しているので、そちらを見ていただければと思う。

また、Remote Scan を行う対象も

VirtualBox 上で起動させるため、

Kali Linux のネットワーク設定は

『NAT ネットワーク』

にしていることにご注意いただきたい。

  1. Vuls とは?
  2. 事前準備


・Vuls とは?

そもそも Vuls とはなんなのか?

言わずと知れた、滅びの呪文である。

とまぁそんなべたなネタふりは置いておいて、

Linux ベースのシステムに対して

脆弱性検査を行ってくれるツールである。

CVE や NVD、JVN といった

各種脆弱性データベースから脆弱性情報を取得し、

サーバーに該当する脆弱性があるかどうか、

を検査できる、というツール。

その特徴として、

・日本人によって開発されたため、日本語ドキュメントが充実

・Go 言語で開発されている

・検査結果を e-mail や Slack に通知可能

・エージェントレスで検査対象サーバーの負担が軽い

などがあげられる。

複数の検査対象サーバーに対して、

定まった時間に検査を行い、

結果を Slack に通知する、などができるため、

サーバー管理者の負担を大幅に減らしてくれると思われる。

公式サイトはこちら。

Vuls – Agentless Vulnerability Scanner for Linux/FreeBSD –



・事前準備

Vuls を利用するための事前準備としては、

・vuls 利用ユーザアカウントの作成
・必要なソフトウェアのインストール
・vuls 利用ユーザの SSH 鍵ペア作成

があげられる。

以下、各々について説明する。

  1. Vuls 利用ユーザアカウントの作成
  2. SSH 鍵ペアの作成
  3. 必要なソフトウェアのインストール

Vuls 利用ユーザアカウントの作成

Vuls を利用するためには、

vuls を利用するためのユーザを

作成しておいたほうがよい。

必須ではないが、最小権限の原則からも、

vuls 専用ユーザ

をちゃんと作っておいたほうがよいだろう。

ということで、vuls ユーザ用のアカウントを作成する。

ここでは、作成するアカウントの user 名を

vuls

と設定することにする。

まずは root のまま、vuls ユーザの

ホームディレクトリを作成する。

root@kali:~# mkdir /home/vuls

続いてアカウントの作成。

root@kali:~# useradd -d /home/vuls vuls -s /bin/bash

-d オプションでホームディレクトリを /home/vuls に、

-s オプションでシェルを /bin/bash に各々設定する。

なお、シェルを bash にしておかないと

もろもろ不都合がでる場合があるらしいので、

この指定は確実にしておく。

次は作成した vuls ユーザのパスワード設定。

root@kali:~# passwd vuls
Enter new UNIX password : (任意のパスワードを入力する)
Retype new UNIX password : (同じパスワードを入力する)
passwd : password updated successfully

vuls ユーザのホームディレクトリにおける

所有者を vuls ユーザに設定。

root@kali:~# chown vuls:vuls /home/vuls/

アクセス権限も vuls ユーザのみにしておく。

root@kali:~# chmod 700 /home/vuls

なお、今後 vuls ユーザでいろいろ作業するが、

その際、root 権限で作業する必要がある。

このため、vuls ユーザーが sudo コマンドを

実行できるように、以下の処理を行う。

root@kali:~# visudo

すると、次のような画面が出てくるので、

図の赤枠部分を追加する。

追加するにあたって、キーボードの i を打つと

INSERT mode となってテキスト記入ができる。

記入終了後は Esc キーで INSERT Mode を抜け、

:wq

と打つと(wrote quite の意味なので)

上書き保存して抜けられる。



SSH 鍵ペアの作成

vuls では、検査対象サーバーに

公開鍵を使って SSH でログインする必要がある。

これを実現するため、vuls ユーザ自身の

公開鍵ペアを生成しておく。

まず、root から vuls ユーザに切り替える。

root@kali:~# su - vuls

その後、SSH 用公開鍵ペアを生成する。

vuls@kali:~$ ssh-keygen -t ecdsa -b 256

ここで、以下の図に示すように、

・生成する公開鍵ペアの格納パスとファイル名
・秘密鍵用のパスワード

が求められるが、前者はそのままリターンでよいだろう。

秘密鍵用のパスワードもリターンでいけば

パスワードなし設定となるが、

セキュリティ上好ましくないので、

こちらはきちんと設定しておくべき。

なお、-t オプションは暗号アルゴリズムを、

-b オプションは鍵の bit 長を指定するもの。

今回は ECDSA 256-bit を指定したが、

-t rsa -b 2048

など、RSA を指定しても構わない。

これで、vuls ユーザーに関する設定は

一通り完了。



必要なソフトウェアのインストール

事前準備の最後として、

vuls のインストールに必要な

各種ソフトウェアのインストールを行っていく。

まずは、

SQLite3・Git・GCC・GNU Make・Wget

といったあたりを、以下のコマンドで

インストールしておく。

vuls@kali:~$ sudo apt-get update
vuls@kali:~$ sudo apt-get install sqlite git gcc make wget -y

続いて、Go 言語をインストールしていく。

Go 言語の最新版に関しては、

The Go Programing Language > Downloads

に記載がある。

ここで最新版のバージョンを確認しておくとよい。

本記事作成時点では、Linux に関して、

go1.12.5.linux-amd64.tar.gz

が最新版だったため、

まずは git でこれを落としてくる。
*普通にダウンロードしてもよい。

vuls@kali:~$ wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz

これを /usr/local に展開する。

vuls@kali:~$ sudo tar -C /usr/local -xzf go1.12.5.linux-amd64.tar.gz

-C オプションで、指定したディレクトリに

移動してからコマンドを開始するようにし、

-xzf は x が展開、z が gzip、f がファイル指定、

となっている。

その後、/home/vuls/ 以下に go 用の

directory を作成する。

vuls@kali:~$ mkdir go

続いて、go 言語を利用するための

環境設定ファイルを、vi で書き込みつつ作成する。

vuls@kali:~$ sudo vi /etc/profile.d/goenv.sh

vi で新規作成した /etc/profile.d/goenv.sh には、

以下の内容を記入する。
*これもまずキーボードの i を押して INSERT mode にして記入。

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

やっていることは、

一行目:環境変数 GOROOT を /usr/local/go に設定
二行目:環境変数 GOPATH を /home/vuls/go に設定
三行目:go 用の各種コマンドのパスを通す

ということ。

記入したら、いつも通り ESC -> :wq で保存する。

その後、設定結果を以下の通り反映させておく。

vuls@kali:~$ source /etc/profile.d/goenv.sh

これで事前準備は終了。

ちょっと長くなってしまったので、

これ以降の作業は

Kali Linux で Vuls を使う方法 – インストール編(2/2) –

に記載していこうと思う。






Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: Windows でセキュリティ タグ: パーマリンク