How to install Greenbone Vulnerability Management (GVM) (formerly OpenVAS) on Kali Linux
OpenVAS is now renamed Greenbone Vulnerability Management (GVM)
When the OpenVAS project was created, it only consisted of a vulnerability scanning engine. Greenbone Networks received funding shortly thereafter to provide professional vulnerability scanning support. Greenbone took over development leadership, added a few software components, and turned OpenVAS into a multi-pronged vulnerability management solution that still retains the value of open and free software.
Over the years, it became apparent that the use of OpenVAS as a trademark for an open source project and funding for almost all of the project's development had not been appreciated from outside. Therefore, after the release of the OpenVAS 9 platform, it was renamed Greenbone Vulnerability Management (GVM) and released as Greenbone Source Edition (GSE). Since GVM 10, the term OpenVAS is used only for the scanner component, as it was at the beginning of the project.
Greenbone Vulnerability Management (GVM) packages: https://github.com/greenbone
Errors when installing and starting GVM, OpenVAS
During the installation and launch process, I encountered quite a few errors, which, nevertheless, were resolved. Under the assumption that these errors are common to everyone (not just my particular installation), I described these errors right during the installation process, as a result of which the instructions became cluttered.
If during the installation process you do not encounter the described errors, please write about it in the comments – if the errors do not appear for everyone, then I will put them at the very end of the article, due to which, in general, the instruction will become clearer.
How to install OpenVAS (GVM)
Since the authors renamed openvas to gvm (more precisely, divided it into different packages), now the main package is gvm, when it is installed, all other necessary packages will also be obtained as dependencies.
Installation is done like this:
sudo apt update sudo apt install gvm
Setting up OpenVAS
Let's start by setting up the Open Vulnerability Assessment Scanner (OpenVAS) for Greenbone Vulnerability Management (GVM) solution.
It is used in Greenbone Security Manager and is a full-fledged scan engine that performs constantly updated and expanded submissions of Network Vulnerability Tests (NVTs).
The scanner needs a running Redis server to temporarily store the collected information on the scanned hosts. Configuring the Redis server is done like this (these commands need to be executed once):
wget https://raw.githubusercontent.com/greenbone/openvas-scanner/master/config/redis-openvas.conf sudo cp redis-openvas.conf /etc/redis/ sudo chown redis:redis /etc/redis/redis-openvas.conf echo 'db_address = /run/redis-openvas/redis.sock' | sudo tee /etc/openvas/openvas.conf
Starting the Redis server (must be done after every computer restart):
sudo systemctl start email@example.com
Or, if you like, add it to startup:
sudo systemctl enable firstname.lastname@example.org
The Greenbone Vulnerability Management (gvmd) service acts as an OSP client to connect to and manage scanners. openvas does not act as an OSP service – you need the OSPD-OpenVAS module for that. Actual user interfaces (like GSA or GVM-Tools) will only interact with gvmd and/or ospd-openvas, not the scanner. You can run openvas to load plugins in Redis using the following command:
sudo openvas -u
but ospd-openvas will update automatically.
Please note that although you can run openvas as a non-elevated user, it is recommended that you run openvas as root because some network vulnerability tests (NVTs) require root privileges to perform certain operations, such as package spoofing. If you run openvas as a user without permission to perform these operations, the scan results are likely to be incomplete.
Since openvas will be launched from the ospd-openvas process using sudo, the following configuration is required in the sudoers file:
add this line to allow the user running ospd-openvas to run openvas as root
USERNAME ALL = NOPASSWD: /usr/sbin/openvas
Replace USERNAME with your Linux username.
You can find out the username with the command:
If something does not work, then you can view the log with the command:
Configuring Greenbone Vulnerability Management (GVM)
Greenbone Vulnerability Manager is the central management service between security scanners and user clients.
It manages the storage of any vulnerability management configuration and scan results. Data, control commands, and workflows are accessed through the XML-based Greenbone Management Protocol (GMP). Scanners such as OpenVAS are controlled through the Open Scanner Protocol (OSP).
Deployment script (instead of openvas-setup):
This script needs to be run only once.
The script ended with an error:
sent 2,908 bytes received 1,097,808,438 bytes 405,171.19 bytes/sec total size is 1,097,537,923 speedup is 1.00 [*] Updating: Cert Data rsync: [Receiver] failed to connect to feed.community.greenbone.net (184.108.40.206): Connection refused (111) rsync: [Receiver] failed to connect to feed.community.greenbone.net (2a0e:6b40:20:106:20c:29ff:fe67:cbb5): Network is unreachable (101) rsync error: error in socket IO (code 10) at clientserver.c(137) [Receiver=3.2.3] [*] Checking Default scanner Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2450): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied[*] Modifying Default Scanner Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2452): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied [+] Done
also showed an error in the fourth step:
gvm-check-setup 20.8.0 Test completeness and readiness of GVM-20.8.0 Step 1: Checking OpenVAS (Scanner)... OK: OpenVAS Scanner is present in version 20.8.1. OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem. Checking permissions of /var/lib/openvas/gnupg/* OK: _gvm owns all files in /var/lib/openvas/gnupg OK: redis-server is present. OK: scanner (db_address setting) is configured properly using the redis-server socket: /run/redis-openvas/redis.sock OK: redis-server is running and listening on socket: /run/redis-openvas/redis.sock. OK: redis-server configuration is OK and redis-server is running. OK: _gvm owns all files in /var/lib/openvas/plugins OK: NVT collection in /var/lib/openvas/plugins contains 66548 NVTs. Checking that the obsolete redis database has been removed Could not connect to Redis at /var/run/redis-openvas/redis-server.sock: No such file or directory OK: No old Redis DB OK: ospd-OpenVAS is present in version 20.8.1. Step 2: Checking GVMD Manager ... OK: GVM Manager (gvmd) is present in version 20.08.1. Step 3: Checking Certificates ... OK: GVM client certificate is valid and present as /var/lib/gvm/CA/clientcert.pem. OK: Your GVM certificate infrastructure passed validation. Step 4: Checking data ... OK: SCAP data found in /var/lib/gvm/scap-data. ERROR: CERT data are missing. FIX: Run the CERT synchronization script greenbone-feed-sync. sudo runuser -u _gvm -- greenbone-feed-sync --type CERT. ERROR: Your GVM-20.8.0 installation is not yet complete! Please follow the instructions marked with FIX above and run this script again.
To fix the error “ERROR: CERT data are missing. FIX: Run the CERT synchronization script greenbone-feed-sync” run the following command:
sudo runuser -u _gvm -- greenbone-feed-sync --type CERT
Re-running the check showed an error at the fifth step:
Step 5: Checking Postgresql DB and user ... OK: Postgresql version and default port are OK. gvmd | _gvm | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2699): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ERROR: No users found. You need to create at least one user to log in. FIX: create a user by running 'sudo runuser -u _gvm -- gvmd --create-user=<name> --password=<password>' ERROR: Your GVM-20.8.0 installation is not yet complete! Please follow the instructions marked with FIX above and run this script again.
There are several errors at once, but the key one is “ERROR: No users found. You need to create at least one user to log in.”, To fix it, run a command like this:
sudo runuser -u _gvm -- gvmd --create-user=<USERNAME> --password=<PASSWORD>
For example, to create a user named mial and password 2:
sudo runuser -u _gvm -- gvmd --create-user=mial --password=2
The previous command failed:
Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied ** (process:2807): ERROR (recursed) **: Can not open '/var/log/gvm/gvmd.log' logfile: Permission denied
The essence of the error is that the command does not have enough permissions to write to the /var/log/gvm/gvmd.log file, even though the previous command was run with sudo. To fix the error, run the following command:
sudo chmod 666 /var/log/gvm/gvmd.log
Then run the new user creation again.
And one more mistake at the seventh step:
Step 7: Checking if GVM services are up and running ... OK: ospd-openvas service is active. Starting gvmd service Waiting for gvmd service OK: gvmd service is active. Starting greenbone-security-assistant service Job for greenbone-security-assistant.service failed because a fatal signal was delivered to the control process. See "systemctl status greenbone-security-assistant.service" and "journalctl -xe" for details. Waiting for greenbone-security-assistant service ERROR: greenbone-security-assistant service did not start. Please check journalctl -xe and /var/log/gvm/gsad.log ERROR: Your GVM-20.8.0 installation is not yet complete! Please follow the instructions marked with FIX above and run this script again.
I don't know how to solve it completely, but I know how to get around it.
Let's move on to starting the necessary services.
Do not forget that before starting the service you need to start the Redis server, that is, type following before executing the primary command:
sudo systemctl start email@example.com
Main service start:
And we get the following:
[*] Please wait for the GVM / OpenVAS services to start. [*] [*] You might need to refresh your browser once it opens. [*] [*] Web UI (Greenbone Security Assistant): https://127.0.0.1:9392 Job for greenbone-security-assistant.service failed because a fatal signal was delivered to the control process. See "systemctl status greenbone-security-assistant.service" and "journalctl -xe" for details.
The essence of the messages is that everything started fine, except for the greenbone-security-assistant, that is, gsa, that is, Web UI (Greenbone Security Assistant), that is, the web interface.
You can see the contents of the log file:
gsad main:MESSAGE:2021-04-15 09h07.55 utc:1650: Starting GSAD version 20.08.1~git gsad main:CRITICAL:2021-04-15 09h07.55 utc:1651: main: start_https_daemon failed!
https daemon failed to start .
gsad has a --http-only option which only runs HTTP without HTTPS. Let's use it:
sudo gsad --http-only
Again, the next message will be displayed that something is wrong:
Oops, secure memory pool already initialized
Log in using the credentials that you came up with when creating a new user.
To stop the service:
sudo gvm-cli sudo gvm-feed-update sudo gvm-manage-certs sudo gvm-pyshell gvm-script
In the future, sometimes run the command to update signatures:
sudo runuser -u _gvm -- greenbone-nvt-sync
If something does not work, then you can view the log with the command:
sudo cat /var/log/gvm/gvmd.log
One of the following instructions will be devoted to how to work in Greenbone Vulnerability Management (GVM) (formerly OpenVAS).
And do not forget to write – have you encountered the described errors during installation?
- Default passwords in Kali Linux (100%)
- Kali Linux Rolling post install tips (51.2%)
- How to install OWASP Mutillidae II and Damn Vulnerable Web Application (DVWA) in Kali Linux (51.2%)
- How to install and run VLC, Google Chrome, and Chromium on Kali Linux (51.2%)
- How to update Kali Linux (51.2%)
- Indicators of Man-in-the-middle attacks (RANDOM - 1.2%)