3.7. Authentifizierung und Autorisierung in den CGIs
Zurück | Kapitel 3. Icinga konfigurieren | Weiter

## 3.7. Authentifizierung und Autorisierung in den CGIs

### 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:

- die Log-Datei über das showlog CGI anzusehen

- Icinga-Prozessinformationen über das extended information CGI anzusehen

- Icinga-Prozessbefehle über das command CGI zu erteilen

- Definitionen für Hostgruppen, Kontakte, Kontaktgruppen, Zeitfenster und Befehle über das configuration CGI anzusehen

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...

- authorized_for_system_information

- authorized_for_system_commands

- authorized_for_configuration_information

- authorized_for_all_hosts

- authorized_for_all_host_commands

- authorized_for_all_services

- authorized_for_all_service_commands

### 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!

Zurück | Nach oben | Weiter
3.6. Optionen CGI-Konfigurationsdatei | Zum Anfang | Kapitel 4. Icinga starten/stoppen/prüfen

© 2009-2012 Icinga Development Team, http://www.icinga.org