Am 5. Januar kam es leider zu einem kurzzeitigen Ausfall des Zutrittsystem. Während dieser Zeit funktionierte kein OIML zum Öffnen oder Schließen der Türen.
Hintergrund
Ein Ziel des Schließsystems ist es, dass HTU-Referatsleitungen und Fachschaften die Zugänge zu ihren Türen selbst verwalten können. Die Referatsleitungen/Fachschaften haben dafür spezielle Berechtigungen in unserer Userdatenbank (IPA), mit der sie Nutzer in Zutrittsgruppen online setzen können.
Wir arbeiten schon eine Weile an der Implementierung der Schnittstelle zwischen der Userdatenbank (IPA) und dem Zutrittsystem (Zuko).
Über die Ferien haben wir schrittweise das neue System eingeführt.
Da das System von entscheidender Bedeutung ist, haben wir spezielle Vorkehrungen getroffen, um sicherzustellen, dass Programmierfehler nicht zu Problemen führen können. Anfangs wurde das System in einem sicheren Modus betrieben, dass lediglich anzeigen würde, welche Änderungen es vornehmen würde, ohne sie tatsächlich durchzuführen.
Später haben wir auch einige Sicherheitsvorkehrungen eingebaut, um mögliche Fehler abzufangen, beispielsweise die Implementierung von Safeguards, die das System abbrechen lassen, wenn es zu viele gleichzeitige Benutzeränderungen gibt.
Dazu haben wir das System anfangs (inklusive heute) in einem dualen Modus betrieben, wo alle "alten" Berechtigungsgruppen noch erhalten bleiben, nur die "neuen" Gruppen gesynct werden.
Outage
Leider hatten wir zwei Dinge nicht bedacht:
-
Wenn das Sync-Plugin im Kontext eines Users mit geringeren Berechtigungen (also eines Users, der nicht die OIML-IDs auslesen kann) ausgeführt wird, geben die entsprechenden Userdatenbank-Abfragen keine OIML-IDs zurück. In diesem Fall versucht das Sync-Plugin dann, die OIMLs von allen Benutzern zu entfernen.
-
Der Safeguard bezüglich der Anzahl der Benutzeränderungen bezog sich nur auf Änderungen der Gruppenzugehörigkeit, nicht auf das Entfernen/Hinzufügen von OIMLs.
Dies führte dazu, dass alle OIMLs aus dem Zutrittssystem entfernt wurden, als ein Benutzer kurz nach 15:00 Uhr ein Passwort zurückgesetzt hat und dadurch einen Sync initiiert hat.
Kurz darauf wurden wir über das Problem mit dem Zutrittsystem über Instant Messenger informiert. Nach Identifizieren des Problems anhand der Log-Dateien haben wir einen manuellen Sync der Datenbank durchgeführt und so die Zugänge wiederhergestellt.
Als vorübergehende Maßnahme haben wir den automatischen Sync bei allen Änderungen vorübergehend deaktiviert.
Behebung
Um das Problem zu beheben, werden wir folgende Änderungen an der Schnittstelle vornehmen:
-
Safeguards erweitern: Zukünftig werden auch OIML-Änderungen in das Änderungslimit einbezogen, bei dem das System keine weiteren Änderungen mehr durchführt.
-
Ausführung im korrekten Kontext: Wir werden die Schnittstelle korrigieren, indem die Datenbankabfragen mit den entsprechenden Benutzerberechtigungen durchgeführt werden.
Timeline
-
Dienstag, 2. Januar: Schnittstelle zwischen Userdatenbank und Zutrittssystem wird aktiviert
-
Freitag, 5. Januar, 15:11:13: Ein User Password Reset löst einen Sync zwischen Userdatenbank (IPA) und Zutrittssystem (Zuko) aus.
-
15:12:29: Der Sync ist abgeschlossen und wird auf die e-Zylinder (Access Points) verteilt.
-
15:18: Erste Nachricht im HTU Telegram zum Zutrittsystem.
-
15:20:48: Manueller Sync wird durchgeführt und Benutzer bzw. OIML werden wiederhergestellt, neue Daten werden auf e-Zylinder verteilt.