1 Zugriffskontrolle
Überblick
Dieser Abschnitt enthält Best Practices für die sichere Einrichtung der Zugriffskontrolle.
Prinzip der geringsten Rechte
Benutzerkonten sollten jederzeit mit so wenigen Rechten 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 die Rechte haben sollten, die für die Ausführung der vorgesehenen Funktionen unbedingt erforderlich sind.
Die Vergabe zusätzlicher Rechte an den Benutzer 'zabbix' ermöglicht ihm den Zugriff auf Konfigurationsdateien und die Ausführung von Vorgängen, die die Sicherheit der Infrastruktur gefährden können.
Bei der Konfiguration von Benutzerrechten sollten die Zabbix-Frontend-Benutzertypen berücksichtigt werden. Beachten Sie, dass der Benutzertyp Admin zwar weniger Rechte als der Benutzertyp Super Admin hat, aber dennoch die Konfiguration verwalten und benutzerdefinierte Skripte ausführen kann.
Einige Informationen sind auch für nicht privilegierte Benutzer verfügbar. Zum Beispiel ist Warnungen → Skripte nur für Benutzer vom Typ Super Admin verfügbar, Skripte können jedoch auch über die Zabbix API abgerufen werden. In diesem Fall können die Einschränkung von Skriptberechtigungen und der Ausschluss sensibler Informationen aus Skripten (zum Beispiel Zugangsdaten) dazu beitragen, die Offenlegung sensibler Informationen zu vermeiden, die in globalen Skripten verfügbar sind.
Sicherer Benutzer für Zabbix Agent
Standardmäßig verwenden die Prozesse von Zabbix Server, Proxy und Agent (oder Agent 2) gemeinsam einen zabbix-Benutzer.
Um zu verhindern, dass Zabbix Agent/Agent 2 (der auf derselben Maschine wie Server/Proxy läuft) auf vertrauliche Details in der Server-/Proxy-Konfiguration zugreift (zum Beispiel Datenbank-Zugangsdaten), 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). - Legen Sie diesen Benutzer im Parameter User der Agent-Konfigurationsdatei fest.
- Starten Sie den Agent neu, damit die Berechtigungen auf den neuen Benutzer reduziert werden.
Für Zabbix Agent 2 muss die Konfiguration auf der Ebene des Dienstes angewendet werden, da die Agent-2-Konfigurationsdatei den Parameter User nicht unterstützt.
Ein Beispiel finden Sie unter ZBX-26442.
Schreibzugriff auf die SSL-Konfiguration widerrufen (Windows)
Wenn Sie den Zabbix Agent unter Windows kompiliert haben und sich OpenSSL 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-Administrator-Benutzern den Schreibzugriff auf dieses Verzeichnis entziehen.
Andernfalls lädt der Agent SSL-Einstellungen aus einem Pfad, der von nicht privilegierten Benutzern geändert werden kann, was zu einer potenziellen Sicherheitslücke führt.
Absicherung der Sicherheit von Zabbix-Komponenten
Einige Funktionen können deaktiviert werden, um die Sicherheit von Zabbix-Komponenten zu erhöhen:
- die Ausführung globaler Skripte auf dem Zabbix Server kann durch Setzen von EnableGlobalScripts=0 in der Server-Konfiguration deaktiviert werden;
- die Ausführung globaler Skripte auf dem Zabbix Proxy ist standardmäßig deaktiviert (kann durch Setzen von EnableRemoteCommands=1 in der Proxy-Konfiguration aktiviert werden);
- die Ausführung globaler Skripte auf Zabbix Agents ist standardmäßig deaktiviert (kann durch Hinzufügen eines Parameters AllowKey=system.run[<command>,*] für jeden erlaubten Befehl in der Agent-Konfiguration aktiviert werden);
- die HTTP-Benutzerauthentifizierung kann durch Setzen von
$ALLOW_HTTP_AUTH=falsein der Frontend-Konfigurationsdatei (zabbix.conf.php) deaktiviert werden. Beachten Sie, dass bei einer Neuinstallation des Frontends (durch Ausführen von setup.php) dieser Parameter entfernt wird.
Zugriff auf UNC-Pfade unter Windows durch den Zabbix Agent
Zabbix Agents 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 manchen 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 gegenüber dem Server des Anfragenden offenlegen kann. Benutzer können dies bei Bedarf mit den Konfigurationsparametern AllowKey und DenyKey abmildern.