Der Vulnerability Scanner OpenVAS

Vas-serdicht

Mit steigender Komplexität der IT-Infrastrukur sind Tools zur Schwachstellenanalyse (Vulnerability Scanner) unverzichtbar. Wer als Admin nicht gerade eine Umschulung zum Profi-Hacker anstrebt, vertraut für das Aufspüren von Schwachstellen auf spezialisierte Software wie OpenVAS. Dieser Beitrag gibt einen Überblick über Installation und Bedienung.
NAS-Speicher mit einer Kapazität von einigen Dutzend Terabyte, wie sie sich für mittelständische Anwender eignen, nimmt die ADMIN-Redaktion in der Ausgabe ... (mehr)

Das Open Vulnerability Assessment System (OpenVAS) ist die derzeit am weitesten verbreitete und mit Abstand professionellste Open-Source-Lösung zur Schwachstellen-Analyse. Das Programm ist 2005 aus einer Abspaltung des Nessus-Projekts hervorgegangen, das vielen erfahrenen Administratoren noch ein Begriff sein dürfte. Während viele heute bekannte Open-Source-Lösungen aus kommerziellen Projekten entstanden sind, ging Nessus den umgekehrten Weg und wechselte im Jahr 2005 mit Fertigstellung der Version 3.0 zu einer kommerziellen Lizenz.

Mit dieser Entscheidung des Projekt-Teams um Nessus-Erfinder Renaud Deraison ging der Open-Source-Gemeinde im Jahr 2005 eines der bis dahin erfolgreichsten Projekte verloren. Deraisons Firma Tenable Security konzentriert sich seitdem auf technischen Support und bietet Schulungen zu Nessus an.

Neben der Aussicht, auf diese Weise mehr Geld in die Firmenkasse zu spielen erfordert die Pflege aktueller Sicherheitstests nämlich auch entsprechende Ressourcen. Die Brauchbarkeit eines Vulnerability Scanners wie OpenVAS lebt vom täglich aktualisierten Feed-Service, der die Network Vulnerability Tests (NVTs) in einem eigens definierten Format liefert [7]. Stand April 2012 beinhaltet der freie OpenVAS-Feed über 25 000 NVTs.

Freundlicherweise vermachten die Nessus-Entwickler der Open-Source-Gemeinde aber den bis dato (2005) bereits seit sieben Jahren unter der GPL stehenden Code der Nessus-Version 2.2, auf dem das Nachfolge-Projekt OpenVAS aufsetzt und bis heute weiterentwickelt wird. Die derzeit aktuelle, stabile OpenVAS-Version vom März 2011 ist 4.0. OpenVAS ist mit Ausnahme einiger C++-Module fast durchgängig in C programmiert und unter der GPLv2-Lizenz verfügbar. Nessus selbst hat inzwischen den Release-Stand 5.0 erreicht [2]. Übrigens empfiehlt auch das Bundesamt für Sicherheit in der Informationstechnik (BSI) OpenVAS.

OpenVAS-Ableger und Add-ons

Im Zusammenhang mit OpenVAS darf die Osnabrücker Greenbone Networks GmbH [3] nicht unerwähnt bleiben, deren Entwickler nicht nur laut eigener Angabe über 60 Prozent des OpenVAS-Teams ausmachen. Das Geschäftsmodell der Osnabrücker basiert auf der Entwicklung von Sicherheitslösungen für Kunden, die ausschließlich auf freier Software aufsetzen, in der Hauptsache OpenVAS [4]. Einige der interessantesten Tools und Add-ons für OpenVAS unter der Bezeichnung "Greenbone Security Solutions" [5], wie etwa das Webinterface »gsa« (Greenbone Security Assistant), das Desktopinterface »vmcc« (Vulnerability Management Control Center) oder das erweiterte CLI-Interface »vmbpi« (Vulnerability Management Batch Process Integration) wurden von Greenbone entwickelt, wie auch der Greenbone Security Explorer [6], eine interaktive, kartenbasierte, eigenständige Webanwendung zum Analysieren eines Scan-Reports. Die Greenbone-Utilities sind je nach Distribution in der Regel ebenfalls über die OpenVAS-Repos erhältlich beziehungsweise Teil des jeweiligen Gesamtpaketes.

OpenVAS-Architektur

Dem OpenVAS-Framework liegt eine relativ komplexe Client/Server-Architektur zugrunde, in deren Zentrum der – im Unterschied zu Nessus – nur für Linux verfügbare OpenVAS-Server steht. Die Zusammenhänge lassen sich der Abbildung 1 entnehmen.

Abbildung 1: Die OpenVAS-Architektur.

Der OpenVAS-Server lädt beim Start automatisch die verfügbaren Plugins, die etwaige Sicherheitslücken auf dem zu scannenden Host aufspüren. Die Plugins sind in der Nessus-eigenen Skriptsprache "Nessus Attack Scripting Language" (NASL) geschrieben. Im praktischen Einsatz verbindet sich der Admin mithilfe eines Client-Interfaces mit dem Server und erstellt für jeden Scan eine Session, in der er jeweils die zu verwendenden Plugins, den Zielhost und weitere Einstellungen angibt. Nach dem Ausführen eines Scans zeigt der Client eine Übersicht der Ergebnisse in Form eines Reports, der etwa Informationen über offene Ports (der Admin kann dazu übrigens in OpenVAS verschiedene Port-Scanner einbinden) oder andere entdeckte Sicherheitslücken enthält.

Zusätzlich verdeutlicht die Paket-Matrix [8] auf der Download-Seite, welche Komponenten im Einzelfall erforderlich sind und wie die einzelnen Module zusammenarbeiten. So gibt es zum Beispiel den Client in einer CLI-Version sowie als Desktopsoftware (auch für Windows) und als Webinterface. Der OpenVAS-Server läuft stets auf der Maschine, die die eigentlichen Tests initiiert und implementiert in der Version 4 die Services "OpenVAS Scanner" (Port 9391), "OpenVAS Manager" (Port 9390) und "OpenVAS Administrator" (Port 9393).

Die Paket-Matrix gibt über die verfügbaren Versionen Auskunft. Beim OpenVAS-Scanner ist das in der Regel die Version 3.2, bei einigen Versionen aber auch nur 3.0 oder 3.2. Der OpenVAS-Manager kontrolliert die Scanner über das "OpenVAS Transfer Protocol" (OTP) und lässt sich selbst über das XML-basierte zustandslose "OpenVAS Management Protocol" (OMP) ansprechen.

Genau genommen ist die gesamte Intelligenz der Lösung im OpenVAS Manager implementiert. Der Manager kontrolliert auch die SQLite-Datenbank, welche die Konfiguration und sämtliche Scan-Ergebnisse zentral auf dem Server speichert. Der dritte auf dem OpenVAS-Server verfügbare Dienst "OpenVAS-Administrator" dient dem Verwalten beziehungsweise Administrieren der OpenVAS-Umgebung und lässt sich vom Client aus über das "OpenVAS Administration Protocol" (OAP) steuern.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019