end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

install openvas-9 to raspbian (raspberry pi) from src

OpenVAS - OpenVAS - Open Vulnerability Assessment System

2018/1/27追記

openvasと別の脆弱性スキャナとして、vuls というものがあるようですが、そちらは別途(いつか...)

2017/10/11追記

その後、「普段、使ってるcentos6 or 7にもinstall」と試みましたが、 依存libraryにつまづくことが多く、断念。 更に、その後、ubuntu16.04にはこのエントリとほぼ同様の手順でできました。

openvas ver.9は、openvas ver.8からの変更点が多いらしい為、install & test.

  • ※www.openvas.org では、vmのisoも配布されていましたが、baseのgreenbone os でのcve情報更新等が分からず、諦めました
  • ※手元にあるcent osに対し、package installしようとも思いましたが、vmのdisk space不足で諦めました。

今回は、raspbian (raspberry pi) に対して、srcからinstallしています。

参考にさせて頂いたurl

openvas-8とopenvas-9の違いはありますが、qiitaのentryのまんまです。

qiita.com

https://serenity-networks.com/?s=openvas

avleonov.com

hackertarget.com

download & 解凍

OpenVAS - Install OpenVAS from Source Code

$ mkdir ~/tmp/openvas
$ cd ~/tmp/openvas

$ wget http://wald.intevation.org/frs/download.php/2420/openvas-libraries-9.0.1.tar.gz
$ wget http://wald.intevation.org/frs/download.php/2423/openvas-scanner-5.1.1.tar.gz
$ wget http://wald.intevation.org/frs/download.php/2448/openvas-manager-7.0.2.tar.gz
$ wget http://wald.intevation.org/frs/download.php/2429/greenbone-security-assistant-7.0.2.tar.gz
$ wget http://wald.intevation.org/frs/download.php/2397/openvas-cli-1.4.5.tar.gz

$ tar -zxvf openvas-libraries-9.0.1.tar.gz
$ tar -zxvf openvas-scanner-5.1.1.tar.gz
$ tar -zxvf openvas-manager-7.0.2.tar.gz
$ tar -zxvf greenbone-security-assistant-7.0.2.tar.gz
$ tar -zxvf openvas-cli-1.4.5.tar.gz

それぞれのdirにINTALLファイルがある為、事前に確認するとよいと思います。

依存packeのinstall

apt-get update や apt-get upgrade もおすすめします

$ sudo apt-get install libgnutls28-dev libglib2.0-dev libssh-dev libpcap-dev \
       libpcap-dev libhiredis-dev libgpgme11-dev libgcrypt20-dev uuid-dev \
       libldap2-dev bison doxygen

依存packeのinstall その2

こちらは、診断結果レポートのpdf出力用

$ sudo apt-get install texlive-latex-extra --no-install-recommends
$ sudo apt-get install texlive-fonts-recommended

make & install

$ cd openvas-libraries-9.0.1
$ less INSTALL
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ make rebuild_cache
$ sudo make install

$ cd openvas-scanner-5.1.1
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ make rebuild_cache
$ sudo make install

$ sudo apt-get install libsqlite3-dev xmltoman
$ cd openvas-manager-7.0.2
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ make rebuild_cache
$ sudo make install

$ suto apt-get install libmicrohttpd-dev libxml2-dev libxslt1-dev gettext xsltproc
$ cd greenbone-security-assistant-7.0.2
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ make rebuild_cache
$ sudo make install

$ cd openvas-cli-1.4.5
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ make rebuild_cache
$ sudo make install

証明書の作成

openvas8からコマンドが変更されています

$ openvas-manager-7.0.2/INSTALL
$ sudo apt-get install gnutls-bin  ## install certtool
$ sudo openvas-manage-certs -a     ## openvas-mkcert in openvas8

openvas8では「openvas-mkcert-client -n -i in 」も必要でしたが、 openvas9では不要かも?

scan情報の更新

数時間を要します。 特に greenbone-scapdata-sync が途中から、part 0 Done -> part 1 Done ... を繰り返していた為、 中断し、再実行しましたが、何か間違えたのかな?

$ sudo greenbone-nvt-sync          ## openvas-nvt-sync      in openvas8
$ sudo greenbone-scapdata-sync     ## openvas-scapdata-sync in openvas8
$ sudo greenbone-certdata-sync     ## openvas-certdata-sync in openvas8

redis (no sql)のinstall & start

$ sudo apt-get install redis-server
$ sudo sh -c 'echo "unixsocket /tmp/redis.sock" >> /etc/redis/redis.conf'
$ sudo service redis-server restart

start scanner service

$ sudo openvassd

$ ps -ef | grep openvas
root  22805     1 77 19:36 ? 00:01:41 openvassd: Reloaded 6900 of 54606 NVTs (12% /
root  22806 22805  0 19:36 ? 00:00:00 openvassd (Loading Handler)

# ↓上記の Loading Handler が Waiting for incoming connections となるまで、数10分?待つ
$ ps -ef | grep openvas
root  22805     1 74 19:36 ? 00:19:38 openvassd: Waiting for incoming connections

create web-admin

後で、ブラウザでのログインに使用します

$ sudo openvasmd --create-user=admin --role=Admin
User created with password 'ないしょ'.

start openvas-manager & web-service

「--rebuild」の影響でしょうか、数10分待ちました

$ sudo openvasmd --rebuild --progress
Rebuilding NVT cache... done.
$ sudo openvasmd
$ sudo gsad --http-only

openvas-check-setup

最後にチェックツールで問題なければ、ブラウザを起動し、先程のweb-adminで利用できます

$ wget https://svn.wald.intevation.org/svn/openvas/trunk/tools/openvas-check-setup --no-check-certificate
$ chmod 755 openvas-check-setup
$ sudo ./openvas-check-setup --v9

scan実行後、すぐにDONEとなる場合

診断対象が ping に応答しない為、「host is dead」と判断されている可能性があります。 openvasのメニューバーから Configuration → Targets へ画面遷移し、 その設定画面において、「Alive Test = Consider Alive」とすると ping応答なしでも診断を行うようになります。