Datenbank zur Schulverwaltung
Die Ausgangssituation...
In einer Schule laufen viele wichtige Daten zusammen, z.B.
- Personalien der Schüler(innen) und Lehrer(innen)
- Informationen zu den Eltern der Schüler(innen)
- Zeugnisnoten, Versetzungsdaten
- Stunden- und Vertretungspläne
- u.v.m.
In der Regel wird ein Schulverwaltungsprogramm verwendet, das diese Daten vor allem für das Sekretariat und die Schulleitung, aber auch teilweise für Schüler und Lehrer zugänglich macht. Und bei so vielen Daten liegt es nahe, dass sie in einer Datenbank sicher verwahrt werden. Vielleicht hast du ja Auszüge aus einem Datenmodell für eine solche Datenbank im Kapitel zum Entwurf von Datenbanken schon kennengelernt.
Manche der Daten sind auch für Außenstehende interessant und werden z.B. über den Internet-Auftritt der Schule bekannt gemacht (z.B. die Namen der Lehrer). Besonders einfach geht dies, wenn man über einen Webserver direkt auf die Schuldatenbank zugreifen kann - dann sind die Daten auf jeden Fall immer aktuell.
Eine unangenehme Entdeckung...
In unserer Modellschule entdeckt man eines Tages, dass Zeugnisnoten in der Datenbank geändert wurden. Aber wie konnte das passieren?
Vielleicht hast du in der Vergangenheit schon davon gehört, dass in großem Umfang Daten über das Internet "geklaut" oder verändert wurden, so z.B. im Jahr 2015 im Deutschen Bundestag. Ein typischer Grund ist, dass Fehler in den Programmen gemacht wurden, die auf dem Webserver laufen. So ist es z.B. möglich, dass jemand einen SQL-Befehl von außen verändern konnte. Wie so etwas passiert, findest du unter dem Begriff "SQL-Injection", z.B. auf der Seite von heise.de.
So etwas Ähnliches könnte auch in der Schule passiert sein, wenn der Entwickler der Webseite nicht wirklich sehr gut aufgepasst hat. Aber wie kann man das schon im Ansatz verhindern?
Am Besten wäre es, wenn die Datenbank von sich aus schon nicht alles für den Webserver bereitstellen würden, z.B. das Programm dort nur die Lehrer-Tabelle lesen, aber nicht verändern darf. Alle anderen Tabellen sollen erst gar nicht zugreifbar sein. Das erlaubt das Konzept der Benutzer auf der Datenbank, für die jeweils bestimmte Zugriffsrechte definiert werden könnten:
Quellen
- [1]: Datenbank ohne Zugriffsrechten - Urheber: TM - Lizenz: Inf-Schule.de