19 Architektur

19.1 GOS-Architektur

Das Greenbone Operating System (GOS) ist das Betriebssystem des Greenbone Security Managers. Hier ist eine Architekturübersicht für GOS 21.04.

_images/GOS_architecture.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 des Greenbone Vulnerability Management (GVM) Frameworks konfigurieren, starten und stoppen.

Greenbone Vulnerability Management (GVM)

Das Greenbone Vulnerability Management (GVM) ist ein Framework, das ursprünglich als Community-Projekt namens „OpenVAS“ aufgebaut wurde und hauptsächlich von Greenbone Networks entwickelt und weitergegeben wird. Es 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 durchführt.

Das GVM-Framework wird unter Open-Source-Lizenzen als Greenbone Source Edition (GSE) veröffentlicht. Durch dessen Verwendung können Linux-Distributionen GVM 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 von GVM, mit der ein Nutzer Scans steuert und auf Schwachstelleninformationen zugreift. Es ist der Hauptkontaktpunkt für einen Nutzer mit GVM. Er verbindet sich mit gvmd über den Webserver Greenbone Security Assistant Daemon (gsad), 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 Security Feed (GSF) oder den frei verfügbaren Greenbone Community Feed (GCF).

Der OpenVAS-Scanner wird über OSP gesteuert. Der OSP-Daemon für den OpenVAS-Scanner (ospd-openvas) kommuniziert mit gvmd über OSP: 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-Security-Manager-Appliance (GSM) 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.

Der GSM 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 GSM als Client

Die folgenden Protokolle werden von eigenständigen Systemen oder einem GSM-Master genutzt, um Verbindungen als Client zu initiieren:

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 GSM handelt als Client

19.2.2 GSM als Server

Die folgenden Verbindungen werden von einem GSM, der 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 GSM handelt als Server

19.2.3 Master-Sensor-Setup

_images/Master_Sensor_Communication.png

Abb. 19.4 GSM-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ändiger oder Master-GSM

Während viele Kommunikationsprotokolle, die der GSM 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 eines GSMs als eigenständige Appliance oder als Master, muss der GSM in der Lage sein, auf den Greenbone Security Feed zuzugreifen. Der Greenbone Security 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 dem GSM 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-GSM

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