4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OpenVAS on Ubuntu22.04 LTS

Last updated at Posted at 2022-12-16

はじめに

OpenVAS(現:Greenbone-Vulnerability-Manager)を使用する機会があり、忘れないうちにまとめます。
※ 以降、OpenVAS 表記で進めます

前提

  • ローカル環境で脆弱性検査を実施する
  • 攻撃手法を問わず、幅広く脆弱性検査可能なツールを選定する
  • お手軽なのが良い...(本音)

上記条件でGoogleさんに聞くと、概ね OpenVAS が要件を満たしていました。従い、今回は OpenVAS で脆弱性検査をしてみたいと思います。

環境

  • Windows10 with WLS2
  • Docker on Ubuntu22.04 LTS

image.png
環境は上記の通りです。

事前調査

まず初めに、OpenVAS をざっと理解するために公式ドキュメントを確認します。
はいっ?コミュニティエディション無くないですか?となりますが、GitHub あたりからこちらに飛べるはずです!

インストール要件を確認すると、最新のLinuxディストリビューションが列挙されています。
手元の環境を勘定して、Ubuntu22.04 を採用したいと思います。Ubuntu22.04 さえ用意できれば、後は yaml 食わせてコンテナ起動してドンっ!という感じです。

次に windows 上で Ubuntu22.04 環境の用意を考えます。本記事投稿時点では wls --list --online コマンドで Ubuntu22.04 LTS はリストされていません。

wls --list --online
> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl --install -d <Distro>' を使用してインストールします。

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS

Ubuntu-20.04 を Ubuntu22.04 に VerUP する方もいるようですが、Microsoft Store から Ubuntu22.04 LTS をダウンロードする方法が一番容易だと判明しました。

ここまでで環境が理解できましたので、早速手を動かしていきます。

Let's get started!!

まずは Microsoft Store から Ubuntu22.04 LTS をダウンロードします。
image.png

初回起動時に新規ユーザ作成が必要になります。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: user01
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This message is shown once a day. To disable it please create the
/home/user01/.hushlogin file.
$

※ 補足ですが、Windows Terminal なるものがあるので合わせてインストールしてみます。
image.png

正しくインストールできたか確認します。

wsl --lsit
> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
Ubuntu-22.04

問題無いようですので、別タブで Ubuntu22.04 を起動します。
image.png

ここからは OpenVAS 公式ドキュメント通りに進めていきます...が、Docker インストール手順は別手順が必要なので注意が必要です。
実行コマンドを下記に列挙します。

$ sudo apt update
$ sudo apt install curl
$ sudo apt install docker.io
$ sudo apt install python3 python3-pip
$ sudo python3 -m pip install --user docker-compose
$ sudo usermod -aG docker $USER && su $USER
$ export DOWNLOAD_DIR=$HOME/greenbone-community-container && mkdir -p $DOWNLOAD_DIR
$ cd $DOWNLOAD_DIR && curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml

この次は docker-compose コマンドを打つ必要がありますが、docker-compose 未インストールかつdocker が起動しない状態です。従い、WSL2のUbuntu 22.04でSystemdでDockerを起動させるの優良記事を基に docker を再インストールします。

$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo apt-get update
$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
$ sudo mkdir -p /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
$ sudo apt purge needrestart
$ sudo /usr/libexec/wsl-systemd
$ sudo /usr/libexec/nslogin
$ ps ax | grep systemd
$ sudo systemctl start docker <--- docker 起動失敗
$ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
$ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
$ sudo update-alternatives --config iptables
$ sudo systemctl start docker
$ docker ps

ここまでで docker 起動確認はできました。OpenVAS 公式ドキュメント内の手順を消化していきます。

$ sudo apt install docker-compose
$ docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition pull
$ docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition up -d
$ docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition logs -f
$ xdg-open "http://127.0.0.1:9392" 2>/dev/null >/dev/null &

ここまで来たらブラウザで http://127.0.0.1:9392 にアクセスして admin/admin でログインします。

image.png

まとめ

最初は手元のノートPC(メモリ8GB)で OpenVAS を動作させましたが、結構コンテナ起動するコンテナ数が多くて/スキャン実施時もシステムリソースを食うみたいで、最終的には検証環境をもう少し余裕のあるマシンに移行しました。
スキャン単発で CPU ファンが頑張っていたので、恐らく複数スキャンは厳しそうです。。。

参考文献

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?