Reverse-Proxy für Procurat!5 Einführung Technischer Hintergrund Die Procurat!5 Software wurde primär für den Einsatz in geschlossenen Netzwerkumgebungen konzipiert. Die Software exponiert auf dem URL-Pfad "/*" verschiedene Endpunkte, die nicht für den direkten Zugriff aus dem öffentlichen Internet konzipiert wurden und erhebliche Sicherheitsdefizite aufweisen. Der Zugriff auf diese Pfade direkt aus dem Internet würde ein erhebliches Sicherheitsrisiko darstellen. Kontinuierliche API-Kommunikation des Elternportals Das Triargos Elternportal benötigt für sämtliche Kernfunktionalitäten eine kontinuierliche Kommunikation mit der Procurat!5 API. Diese konstante Kommunikation erfolgt über zahlreiche Anfragen zur Authentifizierung, Datenabrufe und Verarbeitung von Benutzerinteraktionen. Der Datenfluss zwischen den Systemen muss daher permanent gewährleistet sein, jedoch unter strengen Sicherheitsvorkehrungen. Technische Lösung durch Proxy-Implementation Der zu implementierende Reverse-Proxy fungiert als Sicherheitsgateway zwischen dem öffentlichen Internet und Ihrer Procurat!5 Installation. Er erlaubt ausschließlich HTTP(S)-Requests auf den speziell abgesicherten "/api/*" Pfad der Procurat!5 Software, während alle anderen Pfade blockiert werden. Dies ist wesentlich sicherer als eine direkte Verbindung, da nur die speziell für externe Zugriffe konzipierten und abgesicherten API-Endpunkte erreichbar sind. Die Proxy-Lösung gewährleistet somit eine deutlich erhöhte Sicherheit durch strikte Zugangskontrolle und Filterung aller eingehenden Anfragen. Gleichzeitig bleibt die konstante API-Kommunikation, die für die Funktionalität des Elternportals unerlässlich ist, in vollem Umfang erhalten. Implementierungsdetails Die technische Umsetzung erfolgt durch einen Reverse-Proxy, der als Sicherheitsschicht fungiert. Dieser leitet ausschließlich Anfragen an den "/api/*" Pfad weiter und blockiert jeglichen anderen Zugriff. Dies ist eine bewährte und sichere Methode, um die Angriffsfläche zu minimieren und gleichzeitig die notwendige Funktionalität zu gewährleisten. TLDR Ein Proxy, welcher die Procurat-Schulsoftware (nur die Pfade /api/*) auf einer öffentlich erreichbaren Domain (mit SSL Zertifikat) erreichbar ist, muss eingerichtet werden. Zur erhöhten Sicherheit kann die Domain (IP-Gruppe)  dashboard.triargos.de in der Firewall gewhitelisted werden, sodass nur Anfragen von Triargos-Servern erlaubt werden. Bitte teilen Sie uns nach Abschluss der Einrichtung des Proxies die Domain (und ggf. den Port) mit, unter dem wir ihre Instanz erreichen können. Installation - Windows Allgemeine Einführung Diese Anleitung beschreibt die Installation des Procurat-Proxies als Service unter Windows. Firewall-Konfiguration Unterstützt ihre Firewall keine IP-Gruppen via FQDN, darf keine Beschränkung eingerichtet werden, da die Anfragen je nach Auslastung des Systems von unterschiedlichen Servern kommen. Um die Sicherheit zu erhöhen, kann die externe Firewall der Einrichtung konfiguriert werden, dass nur Anfragen der IP-Gruppe   dashboard.triargos.de zugelassen werden Vorbereitung Schritt 1: Erstellen des Clients im Proxy Controller Öffnen Sie den Proxy Controller Erstellen Sie einen neuen Client mit  Add client . Die Funktion dynamically update DNS funktioniert ähnlich wie DynDNS, ändert sich die IP-Adresse der Anfragen der Proxy-Healthchecks, wird der Cloudflare-DNS Record ebenfalls aktualisiert Schritt 2: Konfigurieren des Clients Der Client lädt die Konfiguration laufend vom Controller herunter, und wendet Änderungen automatisch an. Somit muss die Konfiguration initial in der Weboberfläche erfolgen Verfügbare Konfigurationswerte Server Port Der Port, auf welchem die installierte Anwendung startet und erreichbar ist (z.B 8080). Dieser Wert ist frei wählbar, muss allerdings auf dem Server frei sein (nicht durch z.B IIS oder andere Anwendungen bereits belegt) Application URL Die vollständige URL, unter welcher die Procurat-Software (nur Schnittstelle) erreichbar ist. Meist nach folgendem Schema: https://[domain]:8443/procurat/api/v1 Schritt 3: Erstellen einer Registrierung Die Registrierungs-URL ist max. 24 gültig und kann nur einmal verwendet werden. Bei der Installation des Services wird eine Registrierungs-URL benötigt. Diese wird verwendet, um den Client beim Controller anzumelden, einen API-Key zu erstellen und weitere Kommunikation zwischen Client und Controller zu sichern. Diese URL kann vorab erstellt werden Klicken Sie auf den Tab  Registrations in der Übersicht eines Clients Klicken Sie auf Create Registration um eine neue Registrierungs-URL zu erstellen Die URL kann nun über einen Toast (unten rechts) kopiert werden Die Registrierung taucht mit Ablaufdatum und Status in der Übersicht auf. Falls sie durch ein Versehen erstellt wurde, kann sie hier wieder gelöscht werden Die Serverseitige Einrichtung ist nun abgeschlossen, nun ist nur noch die Installation des Windows-Services nötig. Einrichtung Schritt 1: Herunterladen der ausführbaren Datei Der Service (+ Installer) wird als .exe hier zur Verfügung gestellt: p5_proxy.exe Schritt 2: Verschieben in Installationsverzeichnis Der Dienst installiert sich im aktuellen Verzeichnis. Hier werden weitere Artefakte (Ein Verzeichnis für Zertifikate, Konfiguration und Logs) erstellt. Daher wird empfohlen, ein eigenes, wiedererkennbares Verzeichnis für den Dienst zu erstellen Verschieben Sie den Dienst in das gewünschte Installationsverzeichnis Schritt 3: Registrieren des Clients Geben Sie folgenden Befehl (z.B in Powershell oder CMD) ein, um den Client zu registrieren p5proxy.exe register Geben Sie die zuvor erstellte Registrierungs-URL ein. Schritt 4: Installieren als Windows-Dienst Für diesen Befehl werden Administrationsrechte benötigt Damit das Proxy zu jeder Zeit läuft, kann es als Dienst registriert werden. Führen Sie dafür folgenden Befehl aus p5proxy.exe install Der Dienst ist nun erfolgreich registriert und wird beim nächsten Systemstart automatisch gestartet. Sie können den Dienst mit dem Namen  Procurat Proxy Service in der Windows-Dienstübersicht direkt starten. Schritt 5: Überprüfen der Verbindung Ist der Client erfolgreich registriert + gestartet, sendet er minütlich Heartbearts an den Controller. Diese aktualisieren den Status in der Oberfläche auf Online Wird der Client nach spätestens 2 Minuten nicht als Online markiert, ist die Installation nicht erfolgreich abgeschlossen. Schritt 6: Überprüfen der lokalen Windows-Firewall In den meisten Fällen ist noch eine lokale Windows-Firewall aktiviert. Hier muss noch der zuvor vergebene  Server Port freigegeben werden, ansonsten ist die Verbindung hinter dem Proxy nicht erreichbar. Schritt 7: API-Key generieren und in P5 einrichten API-Key generieren Generieren eines sicheren API Keys (z.B mit OpenSSL oder 1PasswordGenerator) openssl rand -hex 32 API-Key in Procurat hinterlegen In Procurat!5 mit Administrativen Berechtigungen anmelden. In der Procurat  Administration in den Tab Alle Stammdaten wechseln Tabelle ZApiKey Eintrag erstellen + generierten Wert eingeben API Key notieren bzw. im Elternportal eintragen