13. 12. 2016 Massimo Giaimo Uncategorized

Überwachung eines Remote Banking Dienstes mit Alyvix und NetEye

RemoteBanking_Header_Alyvix
Massimo Giaimo, Senior System & Netzwerk Administrator bei IBT, teilt seine Erfahrungen mit Alyvix und NetEye.

Welches sind die jüngsten und bedeutendsten Veränderungen im Bereich Application Monitoring?

Jahrelang haben IT-Abteilungen Performance Monitoring Strategien implementiert, denen primär die Überwachung der System-Uptime zugrunde lag. Erst in letzter Zeit haben Unternehmen erkannt, dass es nicht immer ausreicht die Verfügbarkeit der Infrastruktur zu messen. Um eine hohe Kundenzufriedenheit und eine angemessene Funktionsweise der ausgelieferten Services sicherzustellen, ist es besonders wichtig die Benutzererfahrung, also die End User Experience, zu messen. Reaktionszeit, fehlgeschlagene Interaktionen und tatsächliche Nutzung sind die neuen Monitoring-Metriken.

Monitoring-Herausforderungen der IBT Gruppe

Das oben beschriebene Szenario traf bis vor kurzem auch für die Informatica Bancaria Trentina (IBT) Gruppe, das Unternehmen für welches ich arbeite, zu. Die IBT Gruppe beschäftigt sich mit der Entwicklung des Bankeninfirmationssystems Gesbank Evolution und bietet seinen Kunden IT-Outsourcing-Services an. Bis vor kurzem basierte auch unsere Monitoring-Strategie auf der Kontrolle der Systeme und der Infrastruktur, ohne die Messung der tatsächlichen Benutzererfahrung.

Dank der Flexibilität von NetEye, sind wir in der Lage unsere IT nicht nur auf die traditionelle Art und Weise zu kontrollieren, sondern auch die innovative Herangehensweise des Visual Synthetic Monitoring zu integrieren.

Remote Banking Monitoring aus der Perspektive der Anwender

Lassen Sie mich nun anhand eines Beispiels erklären wie wir es geschafft haben das Funktionieren unseres remote Bank-Systems zu überwachen. Eine typische Handlungsabfolge welche überwacht werden sollte war: Authentifizieren auf dem System, Prüfen der korrekten Funktionsweise und anschließender Logout.

Für die Authentifizierung benötigen die Anwender zwei Komponenten
1. Daten die wir kennen: User / Password
2. Daten die wir haben: Von Token-Software generiertes One-time Password

Um unser Ziel zu erreichen entschieden wir uns dafür Alyvix, das Visual Synthetic Monitoring Modul in NetEye zu nutzen.

Authentifizierungs-Check

Mithilfe der RIDE, dem Entwicklungs-Framework von Alyvix, haben wir einen ersten Test Case erstellt. Das Testszenario öffnet einen Mozilla Firefox Browser, verbindet sich mit der Webseite auf der unser remote Banking-System gehostet ist und gibt dort die für die Authentifizierung benötigten Anmeldedaten ein. Anschließend schickt das remote Banking-System eine Textnachricht mit dem One-time Password an die Telefonnummer, welche während der Service-Registrierung eingetragen wurde. Für unser Testszenario haben wir die Telefonnummer des GSM-Modems angeben, welches mit der NetEye Appliance verbunden ist. Die SMS wird dann vom NetEye Event Handler verarbeitet. Im Event Handler haben wir eine Regel implementiert, welche die SMS als NetEye-Service Status setzt, wir haben diese Regel SMS_token genannt. Im Screenshot unten sehen Sie die implementierte Regel:

Die SMS wird vom NetEye Event Handler verarbeitet

Die SMS wird vom NetEye Event Handler verarbeitet

Der SMS_token Service hat einen Freshness-Value von 60. Das bedeutet, dass der Service für 60 Sekunden gültig ist, sobald das System das SMS mit dem One-time Password erhält. Anschließend stellt der check-dummy Service den Status wieder her, und weißt den Wert „EXPIRED“ zu.

Zusätzlich haben wir eine PHP-Seite (token_neteye.php) geschrieben, welche durch den Curl-Befehl, den Status des SMS_token Service abfragt und diesen in eine Input-Box auf der bereits geöffneten Seite schreibt. Ist der Service-Status „EXPIRED“, wird die Input-Boxe denselben String enthalten. Ansonsten, wenn der Service-Status also den String mit dem One-time Password enthält, wird das folgende Bild dargestellt:

sms_token

Kontrolle des effektiven Funktionierens des Systems

Alyvix öffnet die PHP-Seite im Browser, aktualisiert sie alle 5 Sekunden und sucht nach dem oben dargestellten Bild. Sobald dieses erscheint klickt Alyvix darauf, indem es ein Java Script ausführt das den String (das One-time Password) kopiert. Alyvix fügt dann den String auf der Seite des remote Banking-Systems ein. Nach erfolgreicher Authentifizierung prüft Alyvix den tatsächlichen Betrieb des Dienstes. Dafür sucht die Engine nach dem String „ONLINE“ auf der Homepage. Anschließend wird der Logout ausgeführt.

Durch das Ausführen dieses Test Cases können wir prüfen, ob der unser Dienst tatsächlich. Durch das Erfassen der Leistungsdaten jedes einzelnen Handlungselements des Testszenarios messen wir die tatsächlich erlebte Benutzererfahrung.

Wenn Sie weitere Informationen oder den PHP-Code den wir generiert haben erhalten möchten, können Sie mich gerne über diesen Blog kontaktieren.

Massimo Giaimo

Massimo Giaimo

Team Leader Cyber Security at Würth Phoenix

Author

Massimo Giaimo

Team Leader Cyber Security at Würth Phoenix

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive