Background¶
Architecture¶
The Greenbone Community Edition consists of a framework with several services. It is developed as part of the commercial Greenbone Enterprise product line.
The Greenbone Community Edition was originally built as a community project named OpenVAS and is primarily developed and forwarded by Greenbone.
The architecture for the Greenbone Community Edition is grouped into three major parts:
Executable scanner applications that run vulnerability tests (VT) against target systems
Greenbone Vulnerability Management Daemon (gvmd)
Greenbone Security Assistant (GSA) with the Greenbone Security Assistant Daemon (gsad)
The following figure shows an overview of the architecture for the 22.4 release.
The Greenbone Community Edition is released under open-source licenses. By using it, Linux distributions can create and provide the software components in the form of installation packages.
Greenbone Vulnerability Management Daemon (gvmd)¶
The [Greenbone Vulnerability Management Daemon (gvmd)] – also called Greenbone Vulnerability Manager is the central service that consolidates plain vulnerability scanning into a full vulnerability management solution. gvmd controls the OpenVAS Scanner via Open Scanner Protocol (OSP).
The service itself offers the XML-based, Greenbone Management Protocol (GMP). gvmd also controls an SQL database (PostgreSQL) where all configuration and scan result data is centrally stored. Furthermore, gvmd also handles user management including permissions control with groups and roles. And finally, the service has an internal runtime system for scheduled tasks and other events.
Greenbone Security Assistant (GSA)¶
The Greenbone Security Assistant (GSA) is the web interface that a user controls scans and accesses vulnerability information with. It is the main contact point for a user. It connects to gvmd via the web server Greenbone Security Assistant Daemon (gsad) to provide a full-featured web application for vulnerability management. The communication occurs using the Greenbone Management Protocol (GMP) with which the user can also communicate directly by using different tools.
OpenVAS Scanner¶
The main scanner OpenVAS Scanner is a full-featured scan engine that executes Vulnerability Tests (VTs) against target systems. For this, it uses the daily updated and comprehensive feeds: the full-featured, extensive, commercial Greenbone Enterprise Feed or the free available Greenbone Community Feed.
The scanner consists of the components ospd-openvas and openvas-scanner. The OpenVAS Scanner is controlled via OSP. The OSP Daemon for the OpenVAS Scanner (ospd-openvas) communicates with gvmd via OSP: VT data is collected, scans are started and stopped, and scan results are transferred to gvmd via ospd.
Notus Scanner¶
The Notus Scanner scans during every regular scan, so no user interaction is necessary. It offers better performance due to less system resource consumption and thus, faster scanning.
The Notus Scanner replaces the logic of potentially all NASL-based local security checks (LSCs). A comparison of installed software on a host against a list of known vulnerable software is done instead of running a VT script for each LSC.
The regular OpenVAS Scanner loads each NASL LSC individually and executes it one by one for every host. A single known vulnerability is then compared with the installed software. This is repeated for all LSCs.
With the Notus Scanner, the list of installed software is loaded in the same way, but is directly compared with all known vulnerable software for the operating system of the scanned host. This eliminates the need to run the LSCs because the information about the known vulnerable software is collected in one single list and not distributed in individual NASL scripts.
Additional Software¶
The Greenbone Vulnerability Management Tools (gvm-tools) are a collection of tools that help with remote controlling Greenbone Community Edition installations or Greenbone Enterprise Appliances. The tools aid in accessing the communication protocols GMP (Greenbone Management Protocol) and OSP (Open Scanner Protocol).
This module is comprised of interactive and non-interactive clients. The programming language Python is supported directly for interactive scripting. But it is also possible to issue remote GMP/OSP commands without programming in Python.
Greenbone, GVM, OpenVAS and How They Are Connected¶
When the OpenVAS project was launched, it only consisted of an engine for scanning vulnerabilities.
Shortly after that, the company Greenbone was founded to achieve professional support for vulnerability scanning. Greenbone started to lead the development of OpenVAS, added several software components and turned OpenVAS into a vulnerability management solution while keeping the values of free software. This vulnerability management solution was later named Greenbone Vulnerability Management (GVM) to reflect the origins and brand changes. Therefore, after the release of the OpenVAS 9 framework, the following releases got named GVM.
With this in mind, OpenVAS could mean
a vulnerability scanner (OpenVAS Scanner),
a name for a software framework of several components (GVM),
a software project led by the company Greenbone (Greenbone Source Edition),
a source code release of a vulnerability management solution (OpenVAS 9, GVM 20.08, …), or
a community of users and developers (Greenbone Community)
depending on the context.
To have a unique name we decided to use the term Greenbone Community Edition as an umbrella for all Open Source/Free Software efforts of the company Greenbone in 2022.
History of the OpenVAS project¶
In 2005, the developers of the vulnerability scanner Nessus decided to discontinue the work under open-source licenses and switch to a proprietary business model.
At this point, developers from Intevation and DN-Systems – the two companies which would later found the Greenbone AG – were already contributing developments to Nessus, focusing on client tools. The works were primarily supported by the German Federal Office for Information Security (BSI).
In 2006, several forks of Nessus were created in response to the discontinuation of the open-source solution. Of these forks, only one has continued to show activity: OpenVAS, the Open Vulnerability Assessment System. OpenVAS was registered as a project at Software in the Public Interest, Inc. to hold and protect the domain “openvas.org”.
The years 2006 and 2007 brought little activity other than cleanups of the status quo. But in late 2008, the Greenbone AG, based in Osnabrück, Germany was founded to drive OpenVAS forward. Essentially, Greenbone’s business plan was about 3 cornerstones:
Go beyond plain vulnerability scanning towards a comprehensive vulnerability management solution.
Create a turn-key appliance product for enterprise customers.
Continue the open-source concept of creating a transparent security technology.
Also in 2008, two further companies became active: Secpod from India and Security Space from Canada. Both of them had a focus on contributing vulnerability tests, and teamed up with Greenbone to start producing a reliable and up-to-date feed of vulnerability tests. This started with removing any source code and vulnerability tests where the license was not clear or not compatible. Several thousands of vulnerability tests were eliminated to get a clean starting point. Shortly after, the feed content grew quickly and steadily.
In 2009, Greenbone added the first additional modules to build a vulnerability management solution. The web interface and the central management service were developed from scratch, with generic protocols defined as their API. At the same time, the OpenVAS scanner was carefully improved and quickly lost compatibility with its ancestor. All open-source work was branded “OpenVAS”. The first “Greenbone Security Manager” appliance products entered the market in spring 2010.
In the years 2010 to 2016, the commercial product was systematically improved and extended, and so were the open-source modules. The vulnerability management was extended to include daily updated security advisories, which were made available to the public with a GPL-compatible license by the German CERTs DFN-CERT and CERT-Bund, a division of the BSI.
In March 2017, the OpenVAS framework reached version 9. Many new modules and numerous features were added during the release cycles. Several hundreds of thousands of lines of code were produced and there was almost no day without a couple of released code improvements by a growing development team.
The year 2017 marked the beginning of a new era: first of all, Greenbone became visible as the driving force behind OpenVAS, by introducing several naming changes. This included several activities, the most essential one using the term Greenbone Vulnerability Management” (GVM) instead of “OpenVAS framework” for the releases. Since then the OpenVAS Scanner is only one of many modules. This led to “GVM-10” as the successor of “OpenVAS-9”. There were no license changes, all modules remained free and open-source software.
The second major change in 2017 involved the feed service. Apart from the branding confusion, several companies integrated the technology and feed, passing it off as their work or claiming to be an alternative to Greenbone’s product at a better price. Only a minority of them contributed to the project and properly complied with the GPL licenses. None of them cooperates with Greenbone commercially. To achieve better visibility, less misunderstanding, and better differentiation from other OpenVAS-based products, the public feed was renamed to Greenbone Community Feed and the feed development was internalized. Furthermore, the release scheme has been changed from a 14-day delay to a daily publication without delay, now excluding vulnerability tests for enterprise products.
The third major change to the new era was the transition to a modern infrastructure, namely GitHub and a community forum. The whole transition was completed in 2018 and boosted both productivity and community activity.
The OpenVAS Scanner released with GVM-10 received numerous performance optimization to meet the challenge of a growing number of vulnerability tests scanning target networks of increasing size and heterogeneity.
GVM-11 introduced substantial architectural changes: the former service openvassd was turned into a command-line tool openvas. It is controlled by the service layer ospd-openvas. This concept essentially replaces the old stateful, permanent and proprietary OTP (OpenVAS Transfer Protocol) by the new stateless, request-response XML-based and generic OSP (Open Scanner Protocol).
With GVM 20.08, the release versioning changed to Calendar Versioning. Most important change in this release was to ship and sync the gvmd object data consisting of the report formats, port lists, policies and scan configs with the feed.
Besides removing legacy features like GMP scanners, the 21.4 release got support for CVSSv3.0/CVSSv3.1.
The Greenbone Community Edition 22.4 release added the Notus Scanner and removed some legacy features like support for generic OSP scanners.
During 2023 the decision was taken to allow more flexible development of the components and to release them independently of each other. To allow to express software compatibility most components switched to semantic versioning.