Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision |
tachtler:icinga2 [2015/11/19 16:40] – [Neues Backend für Benutzer erstellen] klaus | tachtler:icinga2 [2015/12/13 10:46] – klaus |
---|
</code> | </code> |
| |
===== Installation: icinga2===== | ===== Installation: icinga2 ===== |
| |
Nachdem das **Drittanbieter-Repository** | Nachdem das **Drittanbieter-Repository** |
# systemctl is-enabled icinga2.service | # systemctl is-enabled icinga2.service |
enabled | enabled |
| </code> |
| |
| ===== iptables Regel ===== |
| |
| Damit der [[https://www.icinga.org/|Icinga]] auch erreichbar ist und nicht das Empfangen der IP-Paket vom Paketfilter ''iptables'' blockiert wird, muss nachfolgende Regel zum ''iptables''-Regelwerk hinzugefügt werden. |
| |
| Um die aktuellen ''iptables''-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann: |
| <code> |
| # iptables -L -nv --line-numbers |
| Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED |
| 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 |
| 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 |
| 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 |
| 5 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| </code> |
| |
| Nachfolgender Befehl, fügt folgende ''iptables''-Regel dem ''iptables''-Regelwerk nach der **Position 4** hinzu, ohne das der Paketfilter angehalten werden muss: |
| * <code>-A INPUT -p tcp --dport 5665 -j ACCEPT</code> |
| und hier der Befehl: |
| <code> |
| # iptables -I INPUT 5 -p tcp --dport 5665 -j ACCEPT |
| </code> |
| |
| Ein erneute Abfrage des ''iptables''-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann: |
| <code> |
| # iptables -L -nv --line-numbers |
| Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED |
| 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 |
| 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 |
| 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 |
| 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5665 state NEW |
| 6 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| </code> |
| |
| Die neuen Zeile ist an **Position 5 (INPUT)** zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (**nur relevanter Ausschnitt**): |
| <code> |
| ... |
| 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5665 state NEW |
| ... |
| </code> |
| |
| Um diese ''iptables''-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im ''iptables''-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden: |
| <code> |
| # /usr/sbin/iptables-save > /etc/sysconfig/iptables |
</code> | </code> |
| |
| |
===== Konfiguration: icingaweb2 ===== | ===== Konfiguration: icingaweb2 ===== |
| |
| ==== iptables Regel ==== |
| |
| Damit der [[https://www.icinga.org/|Icinga]]-Web-Servers auch erreichbar ist und nicht das Empfangen der IP-Paket vom Paketfilter ''iptables'' blockiert wird, muss nachfolgende Regel zum ''iptables''-Regelwerk hinzugefügt werden. |
| |
| Um die aktuellen ''iptables''-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann: |
| <code> |
| # iptables -L -nv --line-numbers |
| Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED |
| 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 |
| 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 |
| 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 |
| 5 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| </code> |
| |
| Nachfolgender Befehl, fügt folgende ''iptables''-Regeln dem ''iptables''-Regelwerk nach der **Position 4** hinzu, ohne das der Paketfilter angehalten werden muss: |
| * <code>-A INPUT -p tcp --dport 80 -j ACCEPT</code> |
| * <code>-A INPUT -p tcp --dport 443 -j ACCEPT</code> |
| und hier der Befehl: |
| <code> |
| # iptables -I INPUT 5 -p tcp --dport 80 -j ACCEPT |
| # iptables -I INPUT 6 -p tcp --dport 443 -j ACCEPT |
| </code> |
| |
| Ein erneute Abfrage des ''iptables''-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann: |
| <code> |
| # iptables -L -nv --line-numbers |
| Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED |
| 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 |
| 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 |
| 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 |
| 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW |
| 6 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 state NEW |
| state NEW |
| 7 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited |
| |
| Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) |
| num pkts bytes target prot opt in out source destination |
| </code> |
| |
| Die neuen Zeilen sind an **Position 5 (INPUT)** bis **Position 6 (INPUT)** zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (**nur relevanter Ausschnitt**): |
| <code> |
| ... |
| 5 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW |
| 6 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 state NEW |
| ... |
| </code> |
| |
| Um diese ''iptables''-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im ''iptables''-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden: |
| <code> |
| # /usr/sbin/iptables-save > /etc/sysconfig/iptables |
| </code> |
| |
==== /etc/httpd/conf.d/vhost.conf ==== | ==== /etc/httpd/conf.d/vhost.conf ==== |
{{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung.png|Icinga2 - Konfiguration - Authentifizierung - Neues Backend für Benutzer erstellen}} | {{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung.png|Icinga2 - Konfiguration - Authentifizierung - Neues Backend für Benutzer erstellen}} |
| |
Nach der Auswahl des des **[Backend-Typ]** - **LDAP**, sollte nachfolgender Bildschirm erscheinen, in dem nachfolgende Daten erfasst werden müssen bzw. optional können: | Nach der Auswahl über die Drop-Down-Box **[Backend-Typ]** - **LDAP**, sollte nachfolgender Bildschirm erscheinen |
* **** '''' | |
* **** '''' | {{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung_ldap.png|Icinga2 - Konfiguration - Authentifizierung - Neues Backend für Benutzer erstellen - LDAP}} |
* **** '''' | |
* **** '''' | Nachfolgende Daten müssen bzw. können nun erfasst werden: |
* **** '''' | * **Backend-Typ** ''LDAP'' |
* **** '''' | * **Backend-Name** ''icingaweb2_ldap'' |
| * **LDAP Verbindung** ''icingaweb_ldap'' |
| * **LDAP Objektklasse für den Benutzer** ''posixAccount'' |
| * LDAP-Filter ''(|(uid=klaus)(uid=petra))'' |
| Dies ist eine Besonderheit: Wenn im LDAP eine Gruppe aus mehreren Objekten z.B. vom Typ inetOrgPerson besteht (z.B. Personen wie: klaus, petra, lena, luis), **aber __nicht__ alle Zugriff** auf die [[https://www.icinga.org/|Icinga]]-Web-Anwendung erhalten sollen, sich aber kein weiteres Unterscheidungsmerkmal innerhalb der LDAP-Gruppe anbietet, kann hier eine **regex** basierte Eingrenzung vorgenommen werden. Nachfolgend hätten **__nur__** die Personen **klaus** und **petra** Zugriff auf [[https://www.icinga.org/|Icinga]]-Web-Anwendung. |
| * **LDAP-Attribut für den Benutzer** ''uid'' |
| * **LDAP Basis DN** ''ou=People,dc=tachtler,dc=net'' |
| |
| Anschließend ist nun die Schaltfläche **[Konfiguration validieren]** zu betätigen. |
| |
| {{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung_ldap_konfiguration_validieren.png|Icinga2 - Konfiguration - Authentifizierung - Neues Backend für Benutzer erstellen - LDAP - Konfiguration validieren}} |
| |
| Nach erfolgreicher Validierung der Konfiguration, sollte nachfolgender Bildschirm zum Vorschein kommen. |
| |
| {{:tachtler:icinga_menue_konfiguration_authentifizierung_ldap_konfiguration_validieren_successful.png|Icinga2 - Konfiguration - Authentifizierung - Neues Backend für Benutzer erstellen - LDAP - Konfiguration validieren - erfolgreich}} |
| |
| Abschließend ist nun die Schaltfläche **[Änderungen speichern]** zu betätigen, was nachfolgenden Bildschirm dann zur Anzeige bringen sollte und die Einrichtung beendet. |
| |
| {{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung_ldap_fertig.png|Icinga2 - Konfiguration - Authentifizierung - Neues Backend für Benutzer erstellen - LDAP - Fertig}} |
| |
| Jetzt kann die **Reihenfolge** in der die Authentifizierung durchgeführt wird noch entsprechend abgeändert werden, wie nachfolgend dargestellt. |
| |
| {{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung_ldap_reihenfolge.png|Icinga2 - Konfiguration - Authentifizierung - Reihenfolge}} |
| |
| Nachfolgender Bildschirm zeigt die **Authentifizierung** - **__zuerst__ gegen LDAP** und **__anschließend__ gegen die SQL Datenbank**. |
| |
| {{:tachtler:icinga:icinga_menue_konfiguration_authentifizierung_ldap_reihenfolge_fertig.png|Icinga2 - Konfiguration - Authentifizierung - Reihenfolge - LDAP / SQL Datenbank}} |
| |
| ===== icingaweb2: Icons ===== |
| |
| Die Einbindung von Icons in der [[https://www.icinga.org/|Icinga]]-Web-Anwendung kann durch nachfolgende Konfiguration z.B. in der Konfigurationsdatei |
| * ''/etc/icinga2/conf.d/hosts.conf'' |
| erfolgen. |
| |
| ==== /etc/icinga2/conf.d/hosts.conf ==== |
| |
| Hier sind nachfolgende Einträge bei der entsprechenden Host-Definition zu ergänzen: |
| |
| (**Nur relevanter Ausschnitt**) |
| |
| <code c> |
| icon_image = "vendors/centos.gif" |
| icon_image_alt = "CentOS" |
| </code> |
| |
| ==== Variante 1: Icon/Bild-Dateien einbinden (empfohlene Variante) ==== |
| |
| Falls wie unter nachfolgendem internen Link |
| * [[tachtler:icinga2_-_classic_ui|Icinga2 - Classic UI]] |
| die [[https://www.icinga.org/|Icinga]]-Web **(Classic UI**)) installiert wurde, kann ein **symbolischer Link** auf die mit der Installation mit gelieferten und installierten Icon/Bild-Dateien, durchgeführt werden, was mit nachfolgendem Befehl realisiert werden kann: |
| <code> |
| # ln -s /usr/share/icinga/images/logos/vendors /usr/share/icingaweb2/public/vendors |
| </code> |
| ==== Variante 2: Icon/Bild-Dateien einbinden ==== |
| |
| Im Verzeichnis |
| * ''/usr/share/icingaweb2/public'' |
| kann mit nachfolgendem Befehl ein ein **__neues__** Verzeichnis angelegt werden: |
| <code> |
| # mkdir /usr/share/icingaweb2/public/vendors |
| </code> |
| |
| Hier können nun die Icon/Bild-Dateien hinterlegt werden. |