Sicherheit und täglicher Betrieb - Mattermost
Bereich: Konto und Projekt
Die Mattermost-Konfiguration lebt in zwei Bereichen. Das Konto hält die Vorgabe für alle Projekte des Abonnenten. Ein Projekt erbt sie automatisch, kann aber für jeden Ereignistyp ausdrücklich einen eigenen Kanal wählen oder den Versand abschalten - unabhängig vom Rest des Kontos. Es gibt außerdem einen plattformweiten Bereich ohne zugeordnetes Konto: Er bedient ausschließlich Docks eigene interne Projekte, ein Abonnent nutzt ihn nie.
Wer hat Zugriff
Der Bildschirm verlangt die Berechtigung zur Projektverwaltung - sie haben die Rollen developer, admin und owner (sowie superdeveloper für interne Konten). Das ist dieselbe Matrix wie beim Bearbeiten der Projekte selbst.
Wie die Webhook-Adresse gespeichert wird
Die Adresse ist in der Datenbank verschlüsselt und kommt nie im Klartext ins Formular zurück - ein beim Speichern leeres Feld bedeutet 'das Vorhandene behalten', nicht 'löschen'. Um die Integration wirklich zu entfernen, schalte den Anbieter ab, statt nur das Feld zu leeren.
Warum die Webhook-Adresse so genau geprüft wird
Ein Webhook ist eine Adresse, an die DockRay selbst eine Anfrage schickt - anders als Slacks Token, das nur einen Aufruf an eine feste API authentifiziert. Ein Feld mit einer beliebigen Adresse, die die Anwendung selbst abfragt, ist ein klassischer SSRF-Vektor: ohne Kontrolle ließe sich damit der DockRay-Server dazu bringen, mit den Rechten der Rolle developer das eigene interne Netz abzufragen. Deshalb durchläuft die Adresse dieselbe Validierung wie ein Issuer für Unternehmens-SSO: Sie muss öffentliches HTTPS sein, ohne in die Adresse eingebettete Zugangsdaten, und die DNS-Auflösung darf nicht auf eine private oder reservierte Adresse zeigen. Beim eigentlichen Versand folgt DockRay keinen Weiterleitungen - sonst könnten die geprüfte Adresse und die Adresse, die die Anfrage tatsächlich erreicht, zwei verschiedene Dinge sein.
Wie du das Team nicht überflutest
Fünf Ereignistypen sind fünf unabhängige Schalter - trenne sie auf eigene Kanäle, statt alles in einen allgemeinen zu leiten. Ein plötzlicher Fehleranstieg (error-spike) hat eine zusätzliche, von dieser Integration unabhängige Sicherung: geprüft alle 15 Minuten, aber für dasselbe Projekt höchstens einmal alle paar Stunden verschickt.
Webhook austauschen
Mattermost-Webhooks lassen sich nicht wie ein Token rotieren - bei Verdacht auf ein Leck lösche den alten Webhook in den Kanaleinstellungen von Mattermost und lege einen neuen an. Füge die neue Adresse in DockRay ein und sende einen Test, bevor du die Sache als erledigt betrachtest - nach dem Löschen auf Mattermost-Seite funktioniert die alte Adresse einfach nicht mehr, das lässt sich also prüfen statt vermuten.
Wenn jemand das Team verlässt
Ein Webhook ist an kein bestimmtes Mattermost-Benutzerkonto gebunden, der Weggang aus dem Team macht ihn also nicht automatisch ungültig. Hat diese Person die Integrationen verwaltet und konnte die Webhook-Adresse sehen, behandle das wie einen Verdachtsfall und tausche sie wie oben beschrieben aus.