Icinga

3.7. Authentifizierung und Autorisierung in den CGIs

3.7.1. Einführung
3.7.2. Definitionen
3.7.3. Erstellen von authentifizierten Benutzern
3.7.4. Aktivieren der Authentifizierungs/Autorisierungsfunktionalität in den CGIs
3.7.5. Standardberechtigungen für CGI-Informationen
3.7.6. Zusätzliche Berechtigungen zu CGI-Informationen gewähren
3.7.7. CGI-Autorisierungsanforderungen
3.7.8. Authentifizierung auf sicheren Web-Servern

3.7.1. Einführung

Dieses Dokument beschreibt, wie die Icinga-CGIs entscheiden, wer die Überwachungs- und Konfigurationsinformationen sehen darf und wer über das Web-Interface Befehle an den Icinga-Daemon erteilen darf.

3.7.2. Definitionen

Bevor wir fortfahren, ist es wichtig, dass Sie die Bedeutung und den Unterschied zwischen authentifizierten Benutzern und authentifizierten Kontakten verstehen:

  • Ein authentifizierter Benutzer ist jemand, der sich dem Web-Server gegenüber mit Benutzer und Passwort authentifiziert hat und dem Zugang zum Icinga-Web-Interface gewährt wurde.

  • Ein authentifizierter Kontakt ist ein authentifizierter Benutzer, dessen Benutzername mit dem Kurznamen einer Kontakt-Definition übereinstimmt.

3.7.3. Erstellen von authentifizierten Benutzern

Wenn wir annehmen, dass Sie Ihren Web-Server wie in der Schnellstart-Anleitung konfiguriert haben, dann sollte er Sie dazu auffordern, sich zu authentifizieren, bevor Sie die Icinga-CGIs benutzen können. Sie sollten außerdem ein Benutzerkonto (icingaadmin) haben, das Zugang zu den CGIs hat.

Während Sie weitere Kontakte definieren, um Host- und Service-Benachrichtigungen zu erhalten, möchten Sie wahrscheinlich auch, dass sie Zugang zum Icinga-Web-Interface haben. Sie können den folgenden Befehl benutzen, um zusätzliche Benutzer hinzuzufügen, die sich bei den CGI authentifizieren können. Ersetzen Sie <username> durch den Benutzernamen, den Sie hinzufügen möchten. In den meisten Fällen sollte der Benutzername mit dem Kurznamen eines Kontakts übereinstimmen, den Sie definiert haben.

 htpasswd /usr/local/icinga/etc/htpasswd.users <username>

3.7.4. Aktivieren der Authentifizierungs/Autorisierungsfunktionalität in den CGIs

Als nächstes sollten Sie sicherstellen, dass die CGI so konfiguriert sind, dass sie die Authentifizierungs- und Autorisierungsfunktionalität nutzen, um festzulegen, welchen Zugang Benutzer zu Informationen und/oder Befehlen haben. Dies wird durch die use_authentication-Variable in der CGI-Konfigurationsdatei erreicht, die einen Wert ungleich Null haben muss. Beispiel:

 use_authentication=1

Okay, nun sind Sie fertig mit dem Einstellen der grundlegenden Authentifizierungs- und Autorisierungsfunktionalität in den CGIs.

3.7.5. Standardberechtigungen für CGI-Informationen

Welche Standardberechtigungen haben Benutzer in den CGIs, wenn die Authentifizierungs- und Autorisierungsfunktionalität aktiviert ist?

CGI-Daten

Authentifizierte Kontakte *

andere authentifizierte Benutzer *

Host-Statusinformationen

Ja

Nein

Host-Konfigurationsinformationen

Ja

Nein

Host-Verlauf

Ja

Nein

Host-Benachrichtigungen

Ja

Nein

Host-Befehle

Ja

Nein

Service-Statusinformationen

Ja

Nein

Service-Konfigurationsinformationen

Ja

Nein

Service-Verlauf

Ja

Nein

Service-Benachrichtigungen

Ja

Nein

Service-Befehle

Ja

Nein

Alle Konfigurationsinformationen

Nein

Nein

System/Prozessinformationen

Nein

Nein

System/Prozessbefehle

Nein

Nein

Authentifizierten Kontakten * werden die folgenden Berechtigungen für jeden Service gewährt, bei dem sie als Kontakt eingetragen sind (aber "Nein" für Services, bei denen sie nicht als Kontakt eingetragen sind)...

  • Autorisierung, um Service-Statusinformationen zu sehen

  • Autorisierung, um Service-Konfigurationsinformationen zu sehen

  • Autorisierung, um Verlauf und Benachrichtigungen für den Service zu sehen

  • Autorisierung, um Service-Befehle zu erteilen

Authentifizierten Kontakten * werden die folgenden Berechtigungen für jeden Host gewährt, bei dem sie als Kontakt eingetragen sind (aber "Nein" für Hosts, bei denen sie nicht als Kontakt eingetragen sind)...

  • Autorisierung, um Host-Statusinformationen zu sehen

  • Autorisierung, um Host-Konfigurationsinformationen zu sehen

  • Autorisierung, um Verlauf und Benachrichtigungen für den Host zu sehen

  • Autorisierung, um Host-Befehle zu erteilen

  • Autorisierung, um Statusinformationen für alle Services des Hosts zu sehen

  • Autorisierung, um Konfigurationsinformationen für alle Services des Hosts zu sehen

  • Autorisierung, um Verlauf und Benachrichtigungen für alle Services des Host zu sehen

  • Autorisierung, um Befehle für alle Services des Hosts zu erteilen

Es ist wichtig anzumerken, dass als Grundeinstellung keiner autorisiert ist, das Folgende zu tun:

Sie werden unzweifelhaft Zugang zu diesen Informationen haben wollen, so dass Sie wie unten beschrieben zusätzliche Rechte für sich (und vielleicht andere Benutzer) zuweisen möchten.

3.7.6. Zusätzliche Berechtigungen zu CGI-Informationen gewähren

Uns ist klar, dass die verfügbaren Optionen es nicht erlauben, sehr genau auf bestimmte Berechtigungen einzugehen, aber es ist besser als nichts...

Benutzern können zusätzliche Autorisierungen gegeben werden, indem sie den folgenden Variablen in der CGI-Konfigurationsdatei hinzugefügt werden...

3.7.7. CGI-Autorisierungsanforderungen

Wenn Sie verwirrt sind, welche Autorisierung Sie benötigen, um Zugang zu verschiedenen Informationen in den CGIs zu bekommen, lesen Sie hier den Abschnitt Autorisierungsanforderungen , in dem jedes CGI beschrieben ist.

3.7.8. Authentifizierung auf sicheren Web-Servern

Wenn Ihr Web-Server in einer sicheren Domäne steht (d.h. hinter einer Firewall) oder wenn Sie SSL benutzen, dann können Sie einen Standard-Benutzernamen definieren, der verwendet werden kann, um die CGI aufzurufen. Dies wird durch die Definition der default_user_name-Option in der CGI-Konfigurationsdatei erreicht. Durch die Definition eines Standard-Benutzernamens, der die CGIs aufrufen kann, können Sie Benutzern erlauben, die CGIs aufzurufen, ohne dass sie sich am Web-Server authentifizieren müssen. Sie möchten das vielleicht nutzen, um die Verwendung der Basis-Web-Authentifizierung zu verhindern, weil diese Passwörter im Klartext über das Internet überträgt.

Wichtig: Definieren Sie keinen Standard-Benutzernamen, solange Sie nicht einen sicheren Web-Server haben und sicher sind, dass sich jeder, der die CGIs aufruft, in irgendeiner Weise authentifiziert hat. Wenn Sie diese Variable definieren, dann wird jeder, der sich am Web-Server authentifiziert, alle Rechte dieses Benutzers erben!