Wichtiger Hinweis aus dem Jahr 2020
Der hier publizierte Quellcode ist wahrscheinlich für einen Grossteil der damaligen und heutigen OWASP Top Ten anfällig. Eine Ausbildung zum Informatiker Fachrichtung Systemtechnik alleine reicht nicht aus, um stabilen und sicheren Code schreiben zu können. Zum Glück konnte ich mir in den letzten 16 Jahren das damals fehlende Wissen aneignen.
Individuelle Produktivarbeit
Umfeld und Ziel der Arbeit
Mit der rasanten Ausbreitung der Informations-Technologie steigen die Anforderungen an die Sicherheit. Sensible Aufgaben wie Backup, Lizenzierung und Serverraumzutritt müssen daher entsprechend kontrolliert und protokolliert werden. Bei Brother (Schweiz) AG wurden solche Liste und Protokolle bisher in verschiedensten Formen geführt: Als Excel-Datei, in Papierform oder irgendwie sonst.
Ziel der Arbeit ist, eine Anwendung zu erstellen, welche es ermöglicht, die Protokolle einfach und sicher zu verwalten. Realisiert wird dies durch ein Web-Interface, das den Benutzer zielgerichtet bei dieser Aufgabe unterstützt.
Beschreibung der Lösung
Um diese sensiblen Daten sicher zu speichern und verwalten wird eine MySQL-Datenbank eingesetzt. Auf die Daten kann der Anwender über eine Browseroberfläche zugreifen. Für den Zugriff gibt es zwei Modi: Einen für den Lese-Zugriff und einen für den Zugriff mit Administrationsfunktion. In beiden können Protokolleinträge angezeigt und durchsucht werden. Für jeden Eintrag, der bearbeitet wurde, ist dabei eine Historie verfügbar, die Anzeigt, wer zu welchem Zeitpunkt was geändert hat.
Im Administrationsmodus können Einträge neu erstellt oder bearbeitet werden. Nach dem Bearbeiten werden die Einträge aber nicht überschrieben, sondern es werden alle bestehenden Versionen gespeichert, so dass sie später in der Historie abgerufen werden können.
Weiter können im Administrationszugriff Protokolle definiert werden. Eine Protokolldefinition besteht aus dem Namen das Protokolls, einer Beschreibung und der Angabe, wer bei einer Änderung im Protokoll ein Informationsmail erhalten soll. Diese Angaben könne jederzeit angepasst werden.
Dokumentation