Skip to content

ospd-openvas is an OSP server implementation to allow GVM to remotely control an OpenVAS Scanner

License

Notifications You must be signed in to change notification settings

Kraemii/ospd-openvas

 
 

Repository files navigation

Greenbone Logo

ospd-openvas

GitHub releases PyPI code test coverage Build and test

This is an OSP server implementation to allow GVM to remotely control OpenVAS and Notus.

Once running, you need to configure OpenVAS and Notus for the Greenbone Vulnerability Manager, for example via the web interface Greenbone Security Assistant. Then you can create scan tasks to use OpenVAS and Notus.

Installation

Requirements

Python 3.7 and later is supported.

ospd-openvas has dependencies on the following Python packages:

  • defusedxml
  • depreacted
  • lxml
  • packaging
  • paho-mqtt
  • psutil
  • python-gnupg
  • redis

Mandatory configuration

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.

Optional configuration

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

Usage

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

Support

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.

Maintainer

This project is maintained by Greenbone Networks GmbH.

Contributing

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

License

Copyright (C) 2018-2021 Greenbone Networks GmbH

Licensed under the GNU Affero General Public License v3.0 or later.

About

ospd-openvas is an OSP server implementation to allow GVM to remotely control an OpenVAS Scanner

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.1%
  • Other 1.9%