19 Architektur

19.1 GOS-Architektur

Das Greenbone Operating System (GOS) ist das Betriebssystem der Greenbone Enterprise Appliance. Hier ist eine Architekturübersicht für GOS 21.04.

_images/GOS_architecture-de.png

Abb. 19.1 GOS-21.04-Architektur

Die GOS-Steuerungsebene ermöglicht den Zugriff auf die Administration des Greenbone Operating Systems (GOS). Nur ein einziger Systemadministrator wird unterstützt. Der Systemadministrator kann Systemdateien nicht direkt verändern, aber das System anweisen, Konfigurationen zu ändern.

GOS wird über eine menübasierte, grafische Oberfläche (GOS-Administrationsmenü) verwaltet. Der Systemadministrator muss nicht zwingend die Befehlszeile (Shell) für Konfigurations- oder Wartungsaufgaben nutzen. Zugriff auf die Shell ist nur für den Support und für die Problemlösung vorgesehen.

Für den Zugriff auf die Systemebene wird entweder ein Konsolenzugriff (seriell, Hypervisor oder Monitor/Tastatur) oder eine SSH-Verbindung benötigt.

Mit GOS können Nutzer alle Dienste der Greenbone Community Edition konfigurieren, starten und stoppen.

Greenbone Community Edition

Die Greenbone Community Edition besteht aus einem Framework mit verschiedenen Diensten. Sie wird als Teil der Greenbone-Enterprise-Produkte entwickelt.

Die Greenbone Community Edition wurde ursprünglich als Community-Projekt mit dem Namen „OpenVAS“ entwickelt und hauptsächlich von Greenbone weiterentwickelt. Sie besteht aus dem Greenbone Vulnerability Manager Daemon (gvmd), dem Greenbone Security Assistant (GSA) mit dem Greenbone Security Assistant Daemon (gsad) und der ausführbaren Scan-Anwendung, die Schwachstellentests (VT) gegen Zielsysteme ausführt.

Die Greenbone Community Edition wird unter Open-Source-Lizenzen veröffentlicht. Mit ihrer Hilfe können Linux-Distributionen die Softwarekomponenten in Form von Installationspaketen erstellen und bereitstellen.

Greenbone Vulnerability Manager Daemon (gvmd)

Der Greenbone Vulnerability Manager (gvmd) ist der zentrale Dienst, der einfache Schwachstellenscans zu einer vollständigen Schwachstellenmanagement-Lösung zusammenführt. gvmd steuert den OpenVAS-Scanner über das Open Scanner Protocol (OSP).

Der Dienst selbst stellt das XML-basierte, zustandslose Greenbone Management Protocol (GMP) zur Verfügung. gvmd steuert außerdem eine SQL-Datenbank (PostgreSQL), in der alle Konfigurations- und Scanergebnisdaten zentral gespeichert werden. Darüber hinaus übernimmt gvmd auch die Benutzerverwaltung inklusive der Berechtigungssteuerung mit Gruppen und Rollen. Außerdem verfügt der Dienst über ein internes Laufzeitsystem für geplante Aufgaben und andere Ereignisse.

Greenbone Security Assistant (GSA)

Der Greenbone Security Assistant (GSA) ist die Web-Oberfläche, mit der ein Nutzer Scans steuert und auf Schwachstelleninformationen zugreift. Es ist der Hauptkontaktpunkt für einen Nutzer mit der Appliance. Er verbindet sich über den Webserver Greenbone Security Assistant Daemon (gsad) mit gvmd, um eine voll funktionsfähige Webanwendung für das Schwachstellenmanagement bereitzustellen. Die Kommunikation erfolgt über das Greenbone Management Protocol (GMP), mit dem der Nutzer auch direkt über verschiedene Tools kommunizieren kann.

OpenVAS Scanner

Der Hauptscanner OpenVAS-Scanner ist eine voll funktionsfähige Scan-Maschine, die Schwachstellentests (VTs) gegen Zielsysteme ausführt. Dazu nutzt er die täglich aktualisierten und umfangreichen Feeds: den vollumfänglichen, ausführlichen, kommerziellen Greenbone Enterprise Feed oder den frei verfügbaren Greenbone Community Feed.

Der Scanner besteht aus den Komponenten ospd-openvas und openvas-scanner. Der OpenVAS-Scanner wird über OSP gesteuert. Der OSP-Daemon für den OpenVAS-Scanner (ospd-openvas) kommuniziert über OSP mit gvmd: VT-Daten werden gesammelt, Scans werden gestartet und gestoppt und Scan-Ergebnisse werden über ospd an gvmd übertragen.

OSP Scanner

Nutzer können eigene OSP-Scanner entwickeln und anschließen, indem sie das generische Scanner-Framework ospd verwenden. Ein (generisches) OSP-Scanner-Beispiel, das als OSP-Scanner-Vorlage verwendet werden kann, findet sich hier.

GMP Clients

Die Greenbone Vulnerability Management Tools (gvm-tools) sind eine Sammlung von Werkzeugen, die bei der Fernsteuerung einer Greenbone Enterprise Appliance und des zugrundeliegenden Greenbone Vulnerability Manager Daemons (gvmd) helfen. Die Tools helfen beim Zugriff auf die Kommunikationsprotokolle GMP (Greenbone Management Protocol) und OSP (Open Scanner Protocol).

Dieses Modul besteht aus interaktiven und nicht interaktiven Clients. Die Programmiersprache Python wird direkt für die interaktive Skripterstellung unterstützt. Es ist aber auch möglich, Remote-GMP-/Remote-OSP-Befehle ohne Programmierung in Python zu erteilen.

19.2 Protokolle

Es gibt obligatorische und optionale Protokolle. Einige Protokolle werden nur in bestimmten Setups genutzt.

Die Appliance benötigt einige Protokolle um voll funktionsfähig zu sein. Diese Protokolle stellen Feed-Updates, die Domain-Name-System-Auflösung (DNS-Auflösung), die Zeit etc. bereit.

19.2.1 Appliance als Client

Die folgenden Verbindungen werden von einer Appliance, die als Client agiert, genutzt:

DNS – Namensauflösung

  • Verbindet zu 53/udp und 53/tcp
  • Obligatorisch
  • Nicht verschlüsselt
  • Kann interne DNS-Server nutzen

NTP – Zeitsynchronisierung

  • Verbindet zu 123/udp
  • Obligatorisch
  • Nicht verschlüsselt
  • Kann interne NTP-Server nutzen

Feeds (siehe unten)

  • Direkt
    • Verbindet zu 24/tcp oder 443/tcp
    • Direkter Internetzugang erforderlich
  • Über Proxy
    • Verbindet zu internem HTTP-Proxy, der CONNECT-Methode auf konfigurierbarem Port unterstützt
  • Verbindet zu apt.greenbone.net und feed.greenbone.net
  • Obligatorisch auf eigenständigen und Master-Appliances
  • Genutztes Protokoll ist SSH
  • Verschlüsselt und in beide Richtungen authentifiziert über SSH
    • Server: öffentlicher Schlüssel
    • Client: öffentlicher Schlüssel

DHCP

  • Verbindet zu 67/udp und 68/udp
  • Optional
  • Nicht verschlüsselt

LDAPS – Benutzerauthentifizierung

  • Verbindet zu 636/tcp
  • Optional
  • Verschlüsselt und authentifiziert über SSL/TLS
    • Server: Zertifikat
    • Client: Benutzername/Passwort

Syslog – Remote-Protokollierung und -Benachrichtigungen

  • Verbindet zu 512/udp oder 512/tcp
  • Optional
  • Nicht verschlüsselt

SNMP-Traps für Benachrichtigungen

  • Verbindet zu 162/udp
  • Optional
  • Nur SNMPv1
  • Nicht verschlüsselt

SMTP für E-Mail-Benachrichtigungen

  • Verbindet standardmäßig zu 25/tcp, verbindet alternativ zu 587/tcp
  • Optional
  • Verschlüsselt über STARTTLS, falls möglich
  • Nicht verschlüsselt, falls Verschlüsselung über STARTTLS nicht möglich ist

SSH für Backups

  • Verbindet zu 22/tcp
  • Optional
  • Verschlüsselt und in beide Richtungen authentifiziert über SSH
    • Server: öffentlicher Schlüssel
    • Client: öffentlicher Schlüssel

Cisco Firepower (Sourcefire) für IPS-Integration

  • Verbindet zu 8307/tcp
  • Optional
  • Verschlüsselt und in beide Richtungen authentifiziert über SSL/TLS
    • Server: Zertifikat
    • Client: Zertifikat

verinice.PRO

  • Verbindet zu 443/tcp
  • Optional
  • Verschlüsselt über SSL/TLS
    • Server: optional über Zertifikat
    • Client: Benutzername/Passwort

TippingPoint SMS

  • Verbindet zu 443/tcp
  • Optional
  • Verschlüsselt über SSL/TLS
    • Server: Zertifikat
    • Client: Zertifikat, Benutzername/Passwort
_images/GSM_acting_as_client.png

Abb. 19.2 Appliance handelt als Client

19.2.2 Appliance als Server

Die folgenden Verbindungen werden von einer Appliance, die als Server agiert, genutzt:

HTTPS – Web-Oberfläche

  • 443/tcp
  • Obligatorisch auf eigenständigen und Master-Appliances
  • Verschlüsselt und authentifiziert über SSL/TLS
    • Server: optional über Zertifikat
    • Client: Benutzername/Passwort

SSH – CLI-Zugang und GMP

  • 22/tcp
  • Optional
  • Verschlüsselt und authentifiziert über SSH
    • Server: öffentlicher Schlüssel
    • Client: Benutzername/Passwort

SNMP

  • 161/udp
  • Optional
  • Optional verschlüsselt, falls SNMPv3 genutzt wird
_images/GSM_acting_as_a_server.png

Abb. 19.3 Appliance handelt als Server

19.2.3 Master-Sensor-Setup

_images/Master_Sensor_Communication.png

Abb. 19.4 Appliance-Master und -Sensor

In einem Master-Sensor-Setup gelten die folgenden zusätzlichen Anforderungen. Der Master (Server) veranlasst bis zu drei zusätzliche Verbindungen zum Sensor (Client):

SSH für GOS-Upgrades, Feed-Updates, GMP und OSP

  • 22/tcp
  • Obligatorisch
  • Verschlüsselt und in beide Richtungen authentifiziert über SSH
    • Server: öffentlicher Schlüssel
    • Client: öffentlicher Schlüssel

19.3 Hinweise zur Nutzung eines Sicherheitsgateways

Viele Unternehmen setzen Sicherheitsgateways ein, um den Internetzugang zu beschränken. Diese Sicherheitsgateways können als Paketfilter oder Gateways auf der Anwendungsebene wirken.

Einige Produkte unterstützen tiefgreifende Untersuchungen und versuchen das tatsächlich in den Kommunikationskanälen genutzte Protokoll zu bestimmen. Sie versuchen möglicherweise sogar, jede verschlüsselte Kommunikation zu entschlüsseln und zu analysieren.

19.3.1 Eigenständige oder Master-Appliance

Während viele Kommunikationsprotokolle, die die Appliance unterstützt, nur intern verwendet werden, benötigen manche Protokolle Zugang zum Internet. Diese Protokolle können möglicherweise durch solche Sicherheitsgateways gefiltert werden.

Beim Einsetzen einer Appliance als eigenständige Appliance oder als Master, muss die Appliance in der Lage sein, auf den Greenbone Enterprise Feed zuzugreifen. Der Greenbone Enterprise Feed kann direkt über die Ports 24/tcp oder 443/tcp oder durch Nutzung eines Proxys erreicht werden.

Bemerkung

In allen Fällen ist das genutzte Protokoll SSH, auch wenn der Port 443/tcp oder ein HTTP-Proxy genutzt wird.

Eine Deep-Inspection-Firewall könnte die Nutzung des SSH-Protokolls auf Port 443/tcp entdecken und den Verkehrt abbrechen oder blockieren.

Falls das Sicherheitsgateway versucht, den Verkehr mithilfe von Man-in-the-Middle-Techniken zu entschlüsseln, fällt die Kommunikation zwischen der Appliance und dem Feedserver aus. Das SSH-Protokoll, das eine doppeltgerichtete Authentifizierung basierend auf öffentlichen Schlüsseln nutzt, verhindert jeden Man-in-the-Middle-Angriff, indem es die Kommunikation beendet.

Zusätzliche Protokolle, die Internetzugang benötigen, sind DNS und NTP. Sowohl DNS als auch NTP können für die Nutzung von internen DNS- und NTP-Servern konfiguriert werden.

19.3.2 Sensor-Appliance

Falls Sicherheitsgateways zwischen dem Master und dem Sensor eingesetzt werden, muss das Sicherheitsgateway SSH-Verbindungen (22/tcp) vom Master zum Sensor erlauben.