Eigene Sicherheitsplattform in KeyHelp integrieren – Menüeintrag und SSO
Eigene Sicherheitsplattform in KeyHelp integrieren – Menüeintrag und SSO
ich plane eine eigene, mandantenfähige Sicherheitsplattform für Webseiten und optional E-Mail-Dienste. Jeder Kunde soll ausschließlich die Schutzregeln seiner eigenen Domains und Postfächer verwalten können.
Testumgebung: Debian 13, KeyHelp 26.1.1 (Build 3698), kostenlose Edition, API aktiviert.
Die Zuordnung von Kunden, Domains und Postfächern lässt sich über die REST-API abbilden. Gewünscht ist zusätzlich eine Einbindung ähnlich der Rspamd-Weboberfläche: Aufruf aus KeyHelp und möglichst keine erneute Anmeldung.
Dazu folgende Fragen:
- Gibt es eine unterstützte Erweiterungsschnittstelle für eigene Menüpunkte oder eingebundene Anwendungen?
- Kann KeyHelp die Identität und Rolle des angemeldeten Benutzers sicher an eine externe Anwendung übergeben, beispielsweise über ein signiertes, kurzlebiges Token?
- Unterstützen die benutzerdefinierten Schaltflächen der Pro-Version eine solche authentifizierte Übergabe oder ausschließlich Links mit Profilparametern?
- Welchen updatesicheren Integrationsweg empfiehlt ihr dafür? Wäre dieser mit der kostenlosen Edition möglich oder wäre Pro erforderlich?
Die API-Endpunkte /login/{id} und /login/name/{name} erzeugen Anmelde-URLs für KeyHelp. Gesucht ist hingegen die sichere Übergabe von KeyHelp an unsere Anwendung.
Änderungen an KeyHelp-Kerndateien und das direkte Auslesen interner Sitzungsdaten möchte ich vermeiden.
LG
Peter
Re: Eigene Sicherheitsplattform in KeyHelp integrieren – Menüeintrag und SSO
- Die, die du bereits gefunden hast: Benutzerdefinierte Schaltflächen- Gibt es eine unterstützte Erweiterungsschnittstelle für eigene Menüpunkte oder eingebundene Anwendungen?
- Derzeit ist die Übergabe dort nur über angehängte URL-Parameter möglich. Gern kann ich hier aber noch Erweiterungen vornehmen - in diesem Fall gern einmal ausführen, was du dir da im Detail vorstellst.- Kann KeyHelp die Identität und Rolle des angemeldeten Benutzers sicher an eine externe Anwendung übergeben, beispielsweise über ein signiertes, kurzlebiges Token?
- Unterstützen die benutzerdefinierten Schaltflächen der Pro-Version eine solche authentifizierte Übergabe oder ausschließlich Links mit Profilparametern?
- Du kannst dir mit Javascript etwas bauen und es über die White-Label-Funktion pflegen. Das wäre genauso update-sicher wie "Benutzerdefinierte Schaltflächen"- Welchen updatesicheren Integrationsweg empfiehlt ihr dafür? Wäre dieser mit der kostenlosen Edition möglich oder wäre Pro erforderlich?
- "Benutzerdefinierte Schaltflächen" ist ein Pro Feature und setzt eine kostenpflichtige Pro-Lizenz voraus.
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Re: Eigene Sicherheitsplattform in KeyHelp integrieren – Menüeintrag und SSO
Hallo,
vielen Dank für die Rückmeldung und das Angebot, die Funktion zu erweitern.
Wünschenswert wäre eine sichere Anmeldung an einer externen Anwendung über eine benutzerdefinierte Schaltfläche, ohne dass sich der Kunde dort erneut anmelden muss.
Konkret geht es um eine Sicherheitsverwaltung, in der jeder Kunde ausschließlich die Einstellungen seiner eigenen Domains und Postfächer verwalten darf. Die Zuordnung dieser Ressourcen erfolgt bereits über die KeyHelp-API.
Der mögliche Ablauf wäre:
1.Der Benutzer meldet sich regulär bei KeyHelp an und klickt auf die Schaltfläche.
2.KeyHelp erzeugt einen zufälligen, kurzlebigen und nur einmal verwendbaren Autorisierungscode.
3.Der Browser wird zur hinterlegten Zieladresse der Anwendung weitergeleitet und übergibt diesen Code.
4.Die Anwendung löst den Code serverseitig über einen abgesicherten KeyHelp-API-Endpunkt ein. KeyHelp liefert dabei die verifizierte Benutzer-ID und Rolle zurück.
Folgende Eigenschaften wären dafür sinnvoll:
-Gültigkeit des Codes beispielsweise 60 Sekunden und nur einmalige Einlösung.
-Bindung an die konfigurierte Anwendung und eine exakt hinterlegte HTTPS-Rücksprungadresse.
-Übergabe einer stabilen Benutzer-ID und der Rolle „Administrator“ beziehungsweise „Kunde“.
-Bei „Als Kunde anmelden“ eindeutige Kennzeichnung des effektiven Kunden und des handelnden Administrators.
-Keine Übergabe von Passwörtern, Passwort-Hashes, API-Schlüsseln oder KeyHelp-Sitzungscookies an den Browser beziehungsweise die Zielanwendung.
-Ein eigener, auf diesen Code-Austausch beschränkter Integrationsschlüssel.
-Einbindung ausschließlich innerhalb einer gültigen KeyHelp-Anmeldung, einschließlich der bereits erfolgten Zwei-Faktor-Authentifizierung.
Für den Schutz vor vertauschten Anmeldevorgängen sollte außerdem ein von der Zielanwendung erzeugter „state“-Wert unverändert zurückgegeben werden können. Dafür könnte die Schaltfläche zunächst einen Anmeldestartpunkt der Anwendung öffnen, der anschließend zu KeyHelp zurückleitet.
Alternativ wäre eine standardisierte OpenID-Connect-Anbindung ebenfalls geeignet, sofern das in eure Planung passt.
Die externe Anwendung würde nach erfolgreicher Übergabe eine eigene Sitzung erstellen und bei jedem Zugriff die Berechtigungen für den betreffenden Kunden prüfen.
Wäre eine solche Erweiterung der benutzerdefinierten Schaltflächen beziehungsweise der API für euch denkbar?
VG Peter
Re: Eigene Sicherheitsplattform in KeyHelp integrieren – Menüeintrag und SSO
ja, das passt.
Sobald ich soweit bin würde mich die Tage bei dir per PM melden - dann können wir die Funktionalität gern einmal über einen Testserver durchspielen.
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************