ospd-openvas is an OSP server implementation to remotely control OpenVAS Scanner and Notus Scanner.
Once running, you need to configure OpenVAS Scanner and Notus Scanner for the Greenbone Vulnerability Manager, for example via the web interface Greenbone Security Assistant. Then you can create scan tasks to use both scanners.
Python 3.7 and later is supported.
ospd-openvas
has dependencies on the following Python packages:
defusedxml
deprecated
lxml
packaging
paho-mqtt
psutil
python-gnupg
redis
The ospd-openvas
startup parameter --lock-file-dir
or the lock_file_dir
config
parameter of the ospd.conf
config file needs to point to the same location / path of
the gvmd
daemon and the openvas
command line tool (Default: <install-prefix>/var/run
).
Examples for both are shipped within the config
sub-folder of this project.
Also in order to be able to use Notus ospd-openvas must connect to a MQTT broker, such as Mosquitto in order to communicate. With the parameter --mqtt-broker-address
(Default: localhost) the correct address must be given as well as the corresponding port with --mqtt-broker-port
(Default: 1883).
Please see the Details
section of the GVM release notes
for more details.
Please note that although you can run openvas
(launched from an ospd-openvas
process) as a user without elevated privileges, it is recommended that you start
openvas
as root
since a number of Network Vulnerability Tests (NVTs) require
root privileges to perform certain operations like packet forgery. If you run
openvas
as a user without permission to perform these operations, your scan
results are likely to be incomplete.
As openvas
will be launched from an ospd-openvas
process with sudo,
the next configuration is required in the sudoers file:
sudo visudo
add this line to allow the user running ospd-openvas
, to launch openvas
with root permissions
<user> ALL = NOPASSWD: <install prefix>/sbin/openvas
If you set an install prefix, you have to update the path in the sudoers file too:
Defaults secure_path=<existing paths...>:<install prefix>/sbin
There are no special usage aspects for this module beyond the generic usage guide.
Please follow the general usage guide for ospd-based scanners:
https://github.com/greenbone/ospd-openvas/blob/main/docs/USAGE-ospd-scanner.md
For any question on the usage of ospd-openvas please use the Greenbone Community Portal. If you found a problem with the software, please create an issue on GitHub. If you are a Greenbone customer you may alternatively or additionally forward your issue to the Greenbone Support Portal.
This project is maintained by Greenbone AG.
Your contributions are highly appreciated. Please create a pull request on GitHub. Bigger changes need to be discussed with the development team via the issues section at GitHub first.
For development you should use poetry to keep your python packages separated in different environments. First install poetry via pip
python3 -m pip install --user poetry
Afterwards run
poetry install
in the checkout directory of ospd-openvas (the directory containing the
pyproject.toml
file) to install all dependencies including the packages only
required for development.
The ospd-openvas repository uses autohooks to apply linting and auto formatting via git hooks. Please ensure the git hooks are active.
poetry install
poetry run autohooks activate --force
Copyright (C) 2018-2022 Greenbone AG
Licensed under the GNU Affero General Public License v3.0 or later.