Mobile App CE¶
Grafik: openITCOCKPIT iOS App auf einem iPhone 16e
Voraussetzungen¶
- openITCOCKPIT 5.6.1 oder höher
- iOS 17.5 oder höher
- Der openITCOCKPIT-Server muss vom mobilen Endgerät aus erreichbar sein (z. B. über VPN oder eine öffentliche IP-Adresse)
- Ein gültiges HTTPS-Zertifikat ist erforderlich. Selbstsignierte Zertifikate funktionieren in der Regel nicht.
App herunterladen¶
Die App kann über die jeweiligen App Stores heruntergeladen werden. Bitte beachten Sie, dass die App derzeit nur für iOS verfügbar ist. Die Android-Version wird in Kürze veröffentlicht.
iOS¶
Android¶
Google Play Store (Bald verfügbar)
Push-Benachrichtigungen einrichten¶
Ein großer Vorteil der Mobile App im Vergleich zur webbasierten Variante ist die Möglichkeit, Push-Benachrichtigungen für Alarme zu erhalten. Um dies zu aktivieren, müssen Sie Ihren openITCOCKPIT-Server so konfigurieren, dass Benachrichtigungen über den von der AVENDIS GmbH bereitgestellten Push Gateway Service gesendet werden. Dieser Service ist für openITCOCKPIT-Nutzer kostenlos.
- Navigieren Sie zu
Systemkonfiguration -> System -> Push Notification Settings - Setzen Sie die Relay-Adresse auf
https://pushrelay.openitcockpit.io - Setzen Sie den Port auf
443 - Klicken Sie auf
Request and test Auth-Key.
openITCOCKPIT fordert nun einen Authentifizierungsschlüssel beim Push Gateway Service an. Der Push Gateway Service verwendet die übermittelte System-ID, um Ihren openITCOCKPIT-Server zu identifizieren, und erzeugt einen neuen Authentifizierungsschlüssel für Ihren Server.
Um die Einrichtung abzuschließen, klicken Sie nach der Schlüsselerstellung auf Konfiguration speichern.
Benutzer Kontakten zuweisen¶
Es ist wichtig, Ihrem openITCOCKPIT-Benutzer einem oder mehreren Kontakten zuzuweisen, um Push-Benachrichtigungen für Alarme zu erhalten.
Navigieren Sie zunächst zu Monitoring -> Objekte -> Kontakte und wählen Sie den Kontakt aus, den Sie Ihrem Benutzer zuweisen möchten, oder erstellen Sie einen neuen Kontakt.
Stellen Sie sicher, dass Ihr openITCOCKPIT-Benutzer im Feld Benutzer der Kontaktkonfiguration ausgewählt ist.
Aktivieren Sie außerdem die Checkbox Push-Benachrichtigungen an Browser für Hosts und Services. Diese Option sendet Benachrichtigungen dann sowohl an die Weboberfläche als auch an die Mobile App.
Damit die Änderungen wirksam werden, speichern Sie die Kontaktkonfiguration und aktualisieren Sie die Monitoring-Konfiguration.
Mobile App einrichten¶
Sobald die App auf Ihren mobilen Endgeräten installiert ist, können Sie die App starten und die URL Ihres openITCOCKPIT-Servers eingeben. Die App verwendet die openITCOCKPIT-API für die Authentifizierung. Daher müssen Sie zuerst einen API-Schlüssel erstellen.
Der Einfachheit halber können Sie auch den QR-Code aus der openITCOCKPIT-Weboberfläche scannen, um den API-Schlüssel automatisch zu übernehmen.
Web Application Firewall (WAF) / Reverse Proxy EE¶
Info
Die Web Application Firewall ist nicht erforderlich, um die openITCOCKPIT Mobile App zu nutzen. Sie ist eine optionale Erweiterung für Benutzer, die Ihren openITCOCKPIT-Server mit einer zusätzlichen Sicherheitsebene absichern möchten.
Um eine zusätzliche Sicherheitsebene bereitzustellen, bieten wir eine optionale Web Application Firewall (WAF) / Reverse-Proxy-Konfiguration für die openITCOCKPIT Mobile App an. Diese Konfiguration basiert auf Nginx und kann genutzt werden, um Ihren openITCOCKPIT-Server vor bösartigen Anfragen zu schützen.
Die Funktionsweise ist wie folgt: Die openITCOCKPIT App sendet alle Anfragen an die WAF. Diese prüft die Anfrage und leitet sie bei Gültigkeit an den openITCOCKPIT-Server weiter. Wird eine Anfrage von der WAF blockiert, wird eine Antwort mit 406 Not Acceptable zurückgegeben.
Die WAF hostet zudem die Web-App-Version der openITCOCKPIT App, die über einen Webbrowser aufgerufen werden kann. Das ist besonders hilfreich für Benutzer, die die openITCOCKPIT Mobile Website von einem Desktop-Computer aus nutzen möchten oder die openITCOCKPIT App nicht auf ihrem mobilen Endgerät installieren wollen.
Installation¶
Die WAF ist für den Betrieb in einem Docker-Container ausgelegt. Daher stellen wir vorgefertigte Docker-Images für die Architekturen amd64 und arm64 bereit.
Authentifizierung und Download des Images¶
Bevor Sie das Docker-Image herunterladen können, müssen Sie sich an unserer Docker Registry authentifizieren:
docker login https://cr.openitcockpit.io
Der Befehl fordert Sie zur Eingabe eines Benutzernamens und eines Passworts auf. Als Benutzername geben Sie bitte die E-Mail-Adresse an, die mit Ihrem openITCOCKPIT Enterprise-Lizenzschlüssel verknüpft ist. Als Passwort geben Sie bitte Ihren Lizenzschlüssel ein.
Nach erfolgreicher Authentifizierung können Sie das Docker-Image herunterladen:
docker pull cr.openitcockpit.io/openitcockpit-mobile-waf:latest
Docker-Container starten¶
- OITC_SERVER muss auf den Hostnamen (z. B.
demo.openitcockpit.io) oder die IP-Adresse (192.168.56.2) Ihres openITCOCKPIT-Servers gesetzt werden. Die WAF leitet alle Anfragen an diesen Server weiter. - SSL_CERT_PATH und SSL_CERT_KEY_PATH müssen auf den Pfad Ihres SSL-Zertifikats und Schlüssels innerhalb des Containers gesetzt werden. Sie können ein Verzeichnis vom Host in den Container einbinden, um Zertifikat und Schlüssel bereitzustellen.
Sie können den Container mit folgendem Befehl starten:
docker run --rm -it \
--name openitcockpit-mobile-waf \
-p 80:80 \
-p 443:443 \
-e WEB_APP_ENABLED=1 \
-e OITC_SERVER=demo.openitcockpit.io \
-e SSL_CERT_PATH=/etc/nginx/certs/local.crt \
-e SSL_CERT_KEY_PATH=/etc/nginx/certs/local.key \
-v /path/on/host/certs:/etc/nginx/certs:ro \
cr.openitcockpit.io/openitcockpit-mobile-waf:latest
Die WAF unterstützt ausschließlich HTTPS-Verbindungen. Daher müssen Sie ein gültiges SSL-Zertifikat und den passenden Schlüssel bereitstellen. Für Testzwecke können Sie ein selbstsigniertes Zertifikat verwenden, für Produktivumgebungen empfehlen wir jedoch ein gültiges Zertifikat von einer vertrauenswürdigen CA.
Konfigurationsoptionen¶
Die Konfiguration der WAF erfolgt über Umgebungsvariablen. Folgende Optionen stehen zur Verfügung:
| Umgebungsvariable | Beschreibung | Zulässige Werte | Standardwert |
|---|---|---|---|
WEB_APP_ENABLED |
Web App aktivieren oder deaktivieren | 0 oder 1 |
1 |
OITC_SERVER |
URL des openITCOCKPIT-Servers | IP-Adresse oder Hostname | 192.168.56.2 |
DNS_RESOLVER |
Von Nginx verwendeter DNS-Resolver | IP-Adresse | 9.9.9.9 8.8.8.8 |
SSL_CERT_PATH |
Pfad zum SSL-Zertifikat | Dateipfad | /etc/nginx/certs/fullchain.pem |
SSL_CERT_KEY_PATH |
Pfad zum SSL-Zertifikatsschlüssel | Dateipfad | /etc/nginx/certs/privkey.pem |
SSL_PROTOCOLS |
Zu verwendende SSL-Protokolle | Nginx-kompatible Liste von SSL-Protokollen | TLSv1.2 TLSv1.3 |
SSL_CIPHERS |
Unterstützte SSL-Chiffren | Nginx-kompatible Liste unterstützter SSL-Chiffren | ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305 |
SSL_PREFER_SERVER_CIPHERS |
Bevorzugung von Server-Chiffren gegenüber Client-Chiffren aktivieren oder deaktivieren | on oder off |
on |
Web App¶
Die WAF prüft bei eingehenden Anfragen an /, ob der Accept-Header text/html oder application/xhtml+xml enthält, und leitet die Anfrage dann zur Web App unter /app/ weiter.
Falls diese Weiterleitung nicht funktioniert, sendet Ihr Browser wahrscheinlich einen anderen Accept-Header. In diesem Fall rufen Sie bitte direkt /app/ auf, um auf die Web App zuzugreifen.
HTTP 406 Not Acceptable¶
Wenn die WAF eine Anfrage blockiert, sendet sie als Antwort den HTTP-Statuscode 406 Not Acceptable zurück. Dies kann passieren, im Regelwerk der WAF eine Route oder eine Request-Methode blockiert ist. In der openITCOCKPIT App wird in diesem Fal eine Fehlermeldung angezeigt.
WAF hinter einem Reverse Proxy¶
Die WAF selbst kann ebenfalls hinter einem Reverse Proxy betrieben werden. Das ist sinnvoll, wenn Sie innerhalb des WAF-Containers selbstsignierte Zertifikate verwenden möchten, nach außen hin jedoch ein gültiges Zertifikat einsetzen wollen. In diesem Fall übernimmt der Reverse Proxy die SSL-Terminierung und leitet die Anfragen per HTTPS an die WAF weiter.
Mobiles Endgerät --> Reverse Proxy (gültiges SSL-Zertifikat) --> WAF (selbstsigniertes SSL-Zertifikat) --> openITCOCKPIT-Server
Apache2-Beispiel¶
Dieses Beispiel zeigt, wie ein Apache2-Reverse-Proxy vor der WAF konfiguriert werden kann. Der Reverse Proxy übernimmt die SSL-Terminierung und leitet die Anfragen per HTTPS an die WAF weiter.
In diesem Beispiel läuft die WAF auf demselben Server wie der Reverse Proxy unter 127.0.0.1:5555, und der Reverse Proxy lauscht auf waf.example.org.
<VirtualHost 207.154.223.22:80>
ServerName waf.example.org
Redirect / https://waf.example.org/
ErrorLog ${APACHE_LOG_DIR}/openitcockpit_waf_error.log
CustomLog ${APACHE_LOG_DIR}/openitcockpit_waf_access.log combined
</VirtualHost>
<VirtualHost 207.154.223.22:443>
ServerName waf.example.org
ServerAdmin info@example.org
DocumentRoot "/var/www/html"
SSLEngine On
SSLCertificateChainFile /etc/letsencrypt/live/example.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.org/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/example.org/cert.pem
ErrorLog ${APACHE_LOG_DIR}/openitcockpit_waf_error.log
CustomLog ${APACHE_LOG_DIR}/openitcockpit_waf_access.log combined
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://127.0.0.1:5555/
ProxyPassReverse / https://127.0.0.1:5555/
SSLProxyCheckPeerName Off
#RequestHeader set X-Forwarded-Proto "https"
#RequestHeader set X-Forwarded-Port "443"
#RequestReadTimeout header=7200 body=7200
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Für das oben gezeigte Apache2-Beispiel wurde die WAF mit den folgenden Befehlen gestartet:
# Selbstsigniertes Zertifikat für die WAF erstellen.
apt-get install ssl-cert
mkdir -p /root/openitcockpit-waf/certs
cp /etc/ssl/certs/ssl-cert-snakeoil.pem /root/openitcockpit-waf/certs/
cp /etc/ssl/private/ssl-cert-snakeoil.key /root/openitcockpit-waf/certs/
# WAF-Container mit dem selbstsignierten Zertifikat starten, hörend auf Port 5555.
# Der Apache2-Reverse-Proxy übernimmt die SSL-Terminierung und leitet die Anfragen per HTTPS an die WAF weiter.
docker run --rm -it \
--name openitcockpit-mobile-waf \
-p 5554:80 \
-p 5555:443 \
-e WEB_APP_ENABLED=1 \
-e OITC_SERVER=demo.openitcockpit.io \
-e SSL_CERT_PATH=/etc/nginx/certs/ssl-cert-snakeoil.pem \
-e SSL_CERT_KEY_PATH=/etc/nginx/certs/ssl-cert-snakeoil.key \
-v /root/openitcockpit-waf/certs:/etc/nginx/certs:ro \
cr.openitcockpit.io/openitcockpit-mobile-waf:latest






