1 Zugriffskontrolle
Übersicht
Dieser Abschnitt enthält Best Practices für die sichere Einrichtung der Zugriffskontrolle.
Prinzip der geringsten Privilegien
Benutzerkonten sollten jederzeit mit so wenigen Privilegien wie möglich ausgeführt werden. Das bedeutet, dass Benutzerkonten im Zabbix Frontend, Datenbankbenutzer oder der Benutzer für Zabbix Server-/Proxy-/Agent-Prozesse nur über die Privilegien verfügen sollten, die für die Ausführung der vorgesehenen Funktionen unbedingt erforderlich sind.
Das Gewähren zusätzlicher Privilegien für den Benutzer 'zabbix' ermöglicht ihm den Zugriff auf Konfigurationsdateien und das Ausführen von Operationen, die die Sicherheit der Infrastruktur gefährden können.
Bei der Konfiguration von Benutzerkontenberechtigungen sollten die Frontend-Benutzertypen von Zabbix berücksichtigt werden. Beachten Sie, dass der Benutzertyp Admin zwar weniger Privilegien als der Benutzertyp Super Admin hat, er jedoch weiterhin Konfigurationen verwalten und benutzerdefinierte Skripte ausführen kann.
Einige Informationen sind auch für nicht privilegierte Benutzer verfügbar. Während beispielsweise Alerts → Scripts nur für Super Admin-Benutzer verfügbar ist, können Skripte auch über die Zabbix API abgerufen werden. In diesem Fall kann es helfen, die Skriptberechtigungen einzuschränken und sensible Informationen aus Skripten zu entfernen (zum Beispiel Zugangsdaten), um zu vermeiden, dass sensible Informationen in globalen Skripten offengelegt werden.
Sicherer Benutzer für Zabbix Agent
Standardmäßig teilen sich die Prozesse von Zabbix Server, Proxy und Agent (oder agent 2) einen zabbix-Benutzer.
Um zu verhindern, dass Zabbix Agent/agent 2 (der auf demselben Rechner wie Server/Proxy ausgeführt wird) auf sensible Details in der Konfiguration von Server/Proxy zugreift (z. B. Datenbankanmeldedaten), sollte der Agent unter einem anderen Benutzer ausgeführt werden:
Für Zabbix Agent:
- Erstellen Sie eine sichere Gruppe und einen Benutzer (z. B.
zabbix-agent). - Setzen Sie diesen Benutzer im Konfigurationsparameter User der Agent-Konfigurationsdatei.
- Starten Sie den Agent neu, um die Berechtigungen auf den neuen Benutzer zu reduzieren.
Für Zabbix agent 2 muss die Konfiguration auf der Ebene des Dienstes angewendet werden, da die Konfigurationsdatei von agent 2 den Parameter User nicht unterstützt.
Ein Beispiel finden Sie unter ZBX-26442.
Schreibzugriff auf die SSL-Konfiguration entziehen (Windows)
Wenn Sie den Zabbix Agent unter Windows kompiliert haben und OpenSSL sich in einem ungeschützten Verzeichnis befindet (z. B. C:\zabbix, c:\openssl-64bit, C:\OpenSSL-Win64-111-static oder C:\dev\openssl), stellen Sie sicher, dass Sie nicht-administrativen Benutzern den Schreibzugriff auf dieses Verzeichnis entziehen.
Andernfalls lädt der Agent die SSL-Einstellungen aus einem Pfad, der von nicht privilegierten Benutzern geändert werden kann, was zu einer potenziellen Sicherheitslücke führt.
Absicherung der Zabbix-Komponenten
Einige Funktionen können deaktiviert werden, um die Sicherheit der Zabbix-Komponenten zu erhöhen:
- Die Ausführung globaler Skripte auf dem Zabbix Server kann durch Setzen von
EnableGlobalScripts=0in der Serverkonfiguration deaktiviert werden. - Die Ausführung globaler Skripte auf dem Zabbix Proxy ist standardmäßig deaktiviert (kann durch Setzen von
EnableRemoteCommands=1in der Proxykonfiguration aktiviert werden). - Die Ausführung globaler Skripte auf Zabbix Agenten ist standardmäßig deaktiviert (kann durch Hinzufügen eines Parameters
AllowKey=system.run[<command>,*]für jeden zulässigen Befehl in der Agentkonfiguration aktiviert werden). - Die HTTP-Authentifizierung für Benutzer kann durch Setzen von
$ALLOW_HTTP_AUTH=falsein der Frontend-Konfigurationsdatei (zabbix.conf.php) deaktiviert werden. Beachten Sie, dass eine Neuinstallation des Frontends (Ausführen vonsetup.php) diesen Parameter entfernt.
UNC-Pfad-Zugriff unter Windows durch Zabbix Agent
Zabbix Agent unter Windows folgen UNC-Pfaden (SMB-Freigaben wie \\server\share\file.txt) in Datenpunkten wie vfs.file.*, vfs.dir.*, modbus.get und perf_counter*. Dies kann in bestimmten Kontexten ein Sicherheitsrisiko darstellen.
Wenn Windows aufgefordert wird, auf einen UNC-Pfad zuzugreifen, versucht es, sich auf diesem Server zu authentifizieren. Das bedeutet, dass eine bösartige Anfrage an den Zabbix Agent den NTLM-Hash an den Server des Anfragenden preisgeben kann. Benutzer können dies bei Bedarf mit den Konfigurationsparametern AllowKey und DenyKey abmildern.