VASpberryPi is a collection of scripts to setup a Raspberry Pi with the Community Edition of the Greenbone OpenVAS stack. It is actually following the instructions for Building from Source. The release versioning follows the versioning of the openvas-scanner, because the Greenbone Community Edition does not have a single version, but each component has its own running version. Before you start to setup your VASpberryPi, you should read the Background information of the Greenbone Community Documentation.
The basic configuration of this project can be done in 5 minutes, while the automated setup will take 60 to 100 minutes. After that you will be able to log into the system via your web browser, but you will have to wait approx. additional 100 minutes, until all feed data is downloaded, before you can start your first scan. So at best you plan about 3.5h to set it all up.
Greenbone gives the following hardware requirements:
Minimal | Recommended | Mine | |
---|---|---|---|
CPU Cores | 2 | 4 | 4 |
Random-Access Memory | 4GB | 8GB | 2GB |
Hard Disk (free) | 20GB | 60GB | 32GB |
The hardware that I used for this project is actually a Raspberry Pi 4 Model B Rev 1.5 with 2GB RAM and a 32GB Micro-SDXC
htop
shows that 2GB are actually not enough for VASpberryPi, but with some swapping the system runs fine.
VASpberryPi
├── .github/workflows # actions for verifying/testing commits
├── resources # folder for files used for README.md
└── scripts # folder holding the files that are copied to the Raspberry Pi OS sd card
├── cmdline.txt # this file controls which file is run at boot of raspberry pi
├── firstrun.sh # script to do basic configuration of the raspberry pi
├── secondrun.sh # actual setup script of VASpberryPi
└── thirdrun.sh # cleanup script
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── getAndConfigureVASPberryPi.sh # script to configure and start the installation
└── install_vaspberrypi.sh # script to download Raspberry Pi OS and configure it as VASpberryPi
For installation on Windows, I will only give support on specific request. If you read through install_vaspberrypi.sh you should be able to identify the needed steps.
For installation on Linux I provide a script that downloads Raspberry Pi OS and flashes it onto a Micro SD card. The script was mainly written out of curiosity to see how that could work. So it has no added sanity checks and you should use it with care. Check each step, when asked to confirm.
On Linux you can do the following steps
-
Insert the Micro SD card that you want to get prepared as VASpberryPi into your notebook/PC/whatever
-
Run the following commands in your shell
wget https://github.com/beep-projects/VASpberryPi/releases/latest/download/getAndConfigureVASpberryPi.sh chmod 755 getAndConfigureVASpberryPi.sh ./getAndConfigureVASpberryPi.sh
The next steps in these instructions assume that your user is
beep
with passwordprojects
and the configured hostname isvaspberrypi
. If you use different values, don't do plain copy & paste. -
Eject the Micro SD card and insert it into your Raspberry Pi
-
Power up the Raspberry Pi
-
Wait a while (~60-100 minutes, depending on the number of system updates available) For troubleshooting, you can check the progress by checking the logs. After 5 minutes the resize of the partitions and
firstrun.sh
should be finished, so that you canssh
into the VASPberryPi and watch the installation processssh -x beep@vaspberrypi tail -f ~/secondrun.log
-
Open http://vaspberrypi:9392 in your browser.
-
The user created is
admin
with passwordprojects
or whatever password you configured at the beginning. -
You can start to use your system, but before you can start the first scans, you have to wait until the feed data is downloaded. Otherwise you will get strange error messages, when you try to start a scan or task. You can check the status of the feed data here http://vaspberrypi:9392/feedstatus.
There is nothing implemented for updating the code of the Greenbone Community Edition and you have to do it manually.
For updating OpenVAS, you should follow Updating to Newer Releases.
If you want to have the system running for a while, you should also follow Updating and Upgrading Raspberry Pi OS.
If you want to contribute, read this.