Online Datenbank erstellen
Datenbank Definition
Der Begriff Datenbank definiert eine organisierte Sammlung von Daten, die elektronisch in einem System gespeichert werden. Die Datenbank ist zudem für die Datenorganisation verantwortlich.
Online Datenbank Definition
Eine Online Datenbank, oder auch webbasierte Datenbank genannt, ist in erster Linie eine Datenbank, die über das Internet erreichbar ist. Eine Online Datenbank verfügt über mindestens eine Schnittstelle, welche die Kommunikation mit ihr erlaubt. Dies kann bspw. eine Benutzeroberfläche für Endanwender sein, welche aus einem gewöhnlichen Browser heraus aufgerufen werden kann und die Funktionen und Daten grafisch zugänglich macht. Eine Online Datenbank kann aber auch ohne grafisches Webinterface existieren und ein Zugriff nur über programmatische Schnittstelle ermöglichen, sogenannte APIs.
Da Online Datenbanken, wie klassische Datenbanken, im Hintergrund nur ein Datenspeicher sind, der mithilfe eines Datenbankmanagementsystems verwaltet wird, muss dieser ebenfalls durch einen Server zugänglich gemacht werden. Server warten auf Anfragen, welche sie anschließend an die dafür zuständige Anwendung weiterleiten. Diese Anwendung verarbeitet die Anfrage und leitet die Antwort, über den Server, zurück zum Nutzer.
Aufbau und Funktion Online Datenbank
Eine Online Datenbank besteht aus der Verwaltungssoftware, auch Datenbankmanagementsystem genannt und der zu verwaltenden Datenmenge, häufig auch als Datenbank oder auch Datenbasis definiert. Die Verwaltungssoftware ist für die interne Strukturierung der gespeicherten Daten verantwortlich und kontrolliert alle Zugriffe auf die Datenbank.
Beispiele Datenbankmanagementsysteme
- MySQL
MySQL gehört zu den populärsten relationalen Datenbanken und wir eingesetzt, um Lösungen innerhalb des Web Developments zu erstellen. In Verbindung mit der Programmiersprache PHP kann mithilfe von MySQL unter anderem eine Internetseite erstellt werden. - Microsoft Access
Microsoft Access gehört zum Microsoft Office Paket und gehört ebenfalls zum Feld der relationalen Datenbanksysteme.
Eine Online Datenbank ist in zwei Typen zu unterteilen. Es existieren die relationalen Datenbanken und die nicht-relationalen Datenbanken.
Relationale Datenbanken werden bevorzugt überall dort eingesetzt, wo Daten strukturiert aufgearbeitet werden. Beispielhafte Bereiche sind das Controlling und Rechnungswesen, das Web-Content-Management oder Onlineshops. Sie sind in Form von mehreren Tabellen aufgebaut. In je einer Tabelle werden Daten gespeichert und in Relation zueinander gesetzt.
Nicht-Relationale Datenbanken stellen Datenspeicher dar, die keine festgelegten Tabellenschemata benötigen. Sie werden auch NoSQL-Datenbanken oder strukturierte Datenspeicher genannt. Das No in NoSQL steht dabei für „not only“ (nicht nur) und bezieht sich darauf, dass nicht nur mit MySQL-Datenbankverwaltungssystemen gearbeitet werden kann, sondern auch andere Verwaltungssysteme zu finden sind.
Online Datenbank Vor- und Nachteile
Die Verwendung von Online Datenbanken kann Vor-, aber auch Nachteile mit sich bringen.
Vorteile Nachteile Online Datenbanken sind als kostenlose, aber auch als kostenpflichtige Anwendungen erhältlich. Der Benutzungszugang ist erschwert, da unter anderem technische Kenntnisse (Datenfernübertragung) für die Nutzung vorausgesetzt werden. Durch das Speichern von Daten innerhalb einer Online Datenbank, lassen sich die gespeicherten Daten von fast jedem Gerät zu jeder Zeit von jedem Ort abrufen. Um auf die Daten zugreifen zu können, muss eine funktionierende Internetverbindung vorhanden sein. Wenn mit einem SaaS (Software as a Service) Daten online gespeichert werden, müssen Mitarbeiter oder Nutzer keine Programmierkenntnisse besitzen, da die die Programme vorinstalliert sind und zumeist über ein persönliches Support-Team verfügen. Es besteht ein Informationsaufwand seitens der Nutzenden bezüglich der neuen Entwicklungen und Trends, denen Online Datenbanken unterliegen. Der Verlust von Daten stellt ein geringeres Risiko dar, da Daten automatisch gespeichert werden. Wenn die Internetverbindung schlecht ist, kann die Anwendung, die durch die Datenbank dargestellt ist, nicht geladen oder Daten können nicht gespeichert werden. Online Datenbanken sind aufgrund ihrer geordneten Strukturen einfach in der Handhabung und übersichtlich aufgebaut. ## Datenbankmanangementsysteme
Datenbankmanagementsysteme (DBMS) bilden zusammen mit der Datenbasis eine Datenbank. Dieses Managementsystem ist dafür zuständig, die Suche und Verwaltung der Daten in Datenbanken zu übernehmen. Dabei kann eine Online Anwendung auf mehrere Datenbanken zurückgreifen. Eine Datenbank kann aus wenigen gespeicherten Daten bestehen und zum Beispiel ein simples Adressbuch mit Namen, Anschriften und Telefonnummern abbilden. Andererseits können in einer Datenbank Millionen Einträge enthalten sein (Bsp.: Online-Shops), die von einer großen Firma verwaltet werden. Es gibt eine Reihe von Open-Source Datenbank-Softwarelösungen, die als Online Datenbank für das Speichern von Daten genutzt werden können:
- MySQL
- CUBRID
- MariaDB
- Firebird
- SQLite
Angriffsszenarien auf Online Datenbanken
Einer der größten Risiken bei der Verwendung von Datenbank-Software sind Angriffe von außen. Es gibt eine Reihe von Angriffsarten. Dazu zählen zum Beispiel DDoS-Angriffe, diverse Injections wie SQL, NoSQL, OS und LDAP, broken authentication und Cross-Site-Scripting.
Die SQL-Injection stellt dabei eine der häufigsten Angriffsarten dar. Die meisten Online Datenbanken verwenden die Datenbanksprache Structured Query Language (SQL). Wenn beispielsweise Kunden über eine Oberfläche für die Produktsuche innerhalb eines Webshops einen Begriff eingeben, wird die Datenbank mittels eines Servers abgefragt. Die Ergebnisse werden dann an den Webshop zurückgeleitet und der Kunde erhält alle gewünschten Suchbegriffe. Durch die SQL-Injection (SQLi) können Hacker beliebige Codes in Datenbankabfragen einschleusen. Auf diese Weise ist es ihnen möglich, die Informationen der Datenbank unerlaubt auszulesen oder abzuwandeln. Dadurch können sie die Kontrolle über die gesamte Online Datenbank erlangen und einen erheblichen Schaden anrichten.
Der sogenannte DDoS-Angriff ist ebenfalls eine Angriffsmethode, mit denen es Hackern gelingen kann, in die normalerweise geregelten Abläufe von Datenbanken einzugreifen. DDoS steht für Distributed-Denial-of-Service („verteilte Dienstverweigerung“) und beschreibt eine Dienstblockade. Dieser Fall tritt dann ein, wenn ein angefragter Dienst nicht mehr oder nur noch stark eingeschränkt verfügbar ist. Dabei werden Überlastungen der IT-Infrastruktur mutwillig von den Angreifern herbeigeführt.
Sicherheitsmaßnahmen
Sicherheitsmaßnahmen müssen durchgeführt werden, um die Datenbank vor möglichen Angriffen zu schützen.
Aufbewahrungsdauer festlegen
Eine Festlegung, welche Daten langfristig gespeichert werden sollen, kann hilfreich sein. Dabei spielt auch die Aufbewahrungsdauer von Daten eine wichtige Rolle. Diese sollte ebenfalls vorab terminiert werden. Es ist möglich, die Aufbewahrungszeiträume von Daten bereits beim Designen einer Anwendung festzulegen.
Authentifizierung
Wichtig ist auch, dass sich Personen, die Zugriff auf die Datenbank haben, vor der Benutzung authentifizieren. Dieser Authentifizierungsprozess sollte so eingerichtet sein, dass er stark genug ist, um Zugriffe von anderen nicht-authentifizierten Personen zu verhindern.
Authentifizierungsprozesse können an unterschiedlichen Stellen erfolgen. Es gibt zum Beispiel die Authentifizierung bei partitionierten Datenbanken oder die Authentifizierung mithilfe von Kerberos.
Partitionierte Datenbanken sind Datenbanken, die aus mehreren Partitionen bestehen. Eine Partition stellt einen zusammenhängenden, aufeinanderfolgenden Datenblock dar. Jede Partition der Datenbank sollte über dieselbe Menge der definierten Benutzer und Gruppen verfügen. Andernfalls kann der Benutzer nicht nur für eine Operation authentifiziert werden, sondern auch für andere Zugriffe in anderen Partitionen.
Kerberos stellt ein Netzauthentifizierungsprotokoll dar und verwendet gemeinsame geheime Schlüssel (Shared Secret Keys), um den Benutzer sicher in einer ungesicherten Netzumgebung (Bsp.: Internet) zu authentifizieren.
Die Authentifizierung mittels Kerberos erfolgt durch die Beteiligung von drei Parteien. Der Client (Computerprogramm, das auf dem Endgerät eines Netzwerks ausgeführt wird), der Server, den der Client nutzen will und der Kerberos-Server. Kerberos authentifiziert sowohl den Server gegenüber dem Client, als auch andersherum. Auch der Kerberos-Server authentifiziert sich gegenüber dem Client und dem Server und ist für die Verifizierung der Identitäten zuständig.
Zur Authentifizierung durch Kerberos werden sogenannte Tickets verwendet. Zunächst muss der Client beim Kerberos Server angemeldet sein. Der Client fordert vom Kerberos-Server ein Ticket Granting Ticket an. Dieses TGT stellt eine kleine Datei dar, die den sicheren Zugang zu einem Datenaustausch gewährleistet. Der Nutzer, der den Client nutzt, muss dafür ein Passwort angeben oder das TGT wird automatisch bei der Anmeldung gefordert.
Durch einen Sitzungsschlüssel, der nur ein einziges Mal für eine einzelne Verbindung genutzt wird, können Client und Kerberos-Server miteinander kommunizieren. Der Schlüssel kann für die Datenverkehr-Verschlüsselung genutzt werden.
Datenverschlüsselung
Eine weitere Sicherheitsmaßnahme stellt die Verschlüsselung der Daten in einer Online Datenbank dar. Dafür sollten DSGVO-konforme Methoden genutzt werden. Die DSGVO oder auch Datenschutz-Grundverordnung besteht seit dem 25.5.2018 und sieht vor, dass Unternehmen gesetzlich dazu verpflichtet sind, personenbezogene Daten bestmöglich zu schützen und diesen Schutz nach einem Angriff auch nachweisen zu können.
Um Daten zu schützen, gib es unterschiedliche Verschlüsselungsmethoden. Es gibt dabei drei verschiedene Arten. Die verwendeten Technologien können symmetrisch, asymmetrisch oder ID-basiert sein. Dabei ist zu beachten, dass die eingesetzten Schlüssel immer geschützt sein müssen. Sie sollten außerdem regelmäßig rotieren, das heißt, dass die Dauer des Schutzes der Informationen durch einen Schlüssel begrenzt wird. Die Rotation sorgt dafür, dass für jede neue Session neue Schlüssel generiert werden.
Ein Beispiel für eine symmetrische Verschlüsselungsmethode ist das sogenannte Public-Key-Verfahren. Um zwischen Kommunikationspartnern (bspw. Online-Händler und Kunden) ein sicheres Netzwerk im Internet herzustellen, brauchen beide Kommunikationspartner einen gemeinsamen und geheimen Schlüssel. Dieser wird als Session Key bezeichnet und wird dafür eingesetzt, um Nachrichten in beide Richtungen verschlüsselt zu übertragen und auf beiden Seiten am Ende wieder zu entschlüsseln.
Die asymmetrische Verschlüsselung verfolgt das Ziel, jedem Teilnehmer, der auf Daten einer Datenbank zugreifen möchte, einen privaten und einen öffentlichen Schlüssel zur Verfügung zu stellen. Einer von ihnen ist dabei geheim, der andere sollte vielen Personen bekannt sein. Um es metaphorisch darzustellen, legt der Sender die Daten in den Briefkasten des Empfängers. Dieser Vorgang stellt die Verschlüsselung mit dem öffentlichen Schlüssel des Empfängers dar. Jedem Teilnehmer ist dieses Recht vorbehalten. Nur der eigentliche Empfänger der Daten ist aber in der Lage mithilfe seines geheimen Schlüssels, den Briefkasten zu öffnen.
ID-basierte Verschlüsselungen sollen den Umstand ausgleichen, dass öffentliche Schlüssel, wie sie in asymmetrischen eingesetzt werden, keinerlei Bezüge auf die Identität der verwendenden Person herstellen. Verschlüsselungen, die ID-basiert sind, verfolgen einen ähnlichen asymmetrischen Ansatz und besitzen daher ebenfalls einen öffentlichen Schlüssel, der aber nicht in Abhängigkeit zu dem privaten generiert wird. Der private wird aus einer eindeutigen ID berechnet.
Online Datenbank erstellen bei TenMedia
TenMedia ist eine Softwareagentur in Berlin und ist seit 2011 der Ansprechpartner, wenn es um die Erstellung von Datenbanken und Individualsoftware geht. Unser Entwicklungsteam baut hochgradig individualisierte Anwendungen genaustens nach Kundenvorgaben. Unter dem Einsatz von modernen state-of-the-art Technologien entstehen so zum Beispiel individuelle Datenbank-Anwendungen, die wir Ihnen erstellen.
Wenn Sie ein spannendes Projekt realisieren möchten, freuen wir uns über Ihre Kontaktaufnahme. Sie erreichen uns telefonisch, per Mail, aber auch persönlich in unserem zentral gelegenen Büro in Berlin Mitte.