Sehe ich ein wenig anders: Passwörter und Benutzerkennungen bei Datenbanken sind häufig recht kurz, so daß sie relativ leicht mit Brute-Force-Methoden ermittelt werden können (bei Firebird und Interbase sind z.B. jeweils nur 8 Zeichen möglich). Liegt da jedoch noch eine Schicht zwischen Client und Datenbank (
Drei-Schichten-Architektur), ist das schonmal nicht mehr so einfach, weil die Datenbank eben nicht direkt über's Internet erreichbar ist. Wie so eine Zwischen-Schicht arbeitet, ist weit schwerer zu ermitteln, als die Arbeitsweise einer Datenbank, da die Zahl der Anbieter von
DBMS-System demgegenüber doch recht überschaubar ist.
Zum Zweiten besteht bei Drei-Tier-Architektur kaum noch die Möglichkeit der
SQL-Injection, weil auch der
SQL-Interpreter der Datenbank nicht mehr direkt erreichbar ist. An die Zwischenschicht werden dann gar keine
SQL-Befehle gesendet, sondern von dieser erst entsprechenden den jeweiligen Clientanforderungen innerhalb des Home-Netzwerks erzeugt, wovon der Client außerhalb nichts mitbekommt: Der erhält dann wiederum nur die entsprechend aufbereiteten (sortieren, ausgewählten) verschlüsselten Daten bzw. sendet verschlüsselte Daten an die Zwischenschicht z.B. zur Speicherung oder Datensatz-Änderung.
Dann gibt es noch die
Netzwerk-Sniffer (z.B. Wireshark), mit denen ein potentieller Hacker den Datenverkehr zwischen einer Client-Anwendung und der Datenbank protokollieren kann, um mehr über die Zugangsmöglichkeiten zu dieser Datenbank zu erfahren. Eine Anwendung, die mit einer Mittelschicht kommuniziert, kann dies jedoch – unabhängig von SSL und
SSH – verschlüsselt tun – nur Client- und Mittelschicht-Anwendung verstehen einander. Nicht zu vergessen die
Wlan-Sniffer, mit denen man Funknetzwerke orten und abhören kann.
OK, ich denke, wichtig ist, dass der Client nicht mit zuviel Datenbankrechten ausgestattet ist. Dass das Datenbank-Paßwort nicht einfach aus dem Anwendungsprogramm ausgelesen werden kann. Dass das
DB-Paßwort hin und wieder geändert werden muss.
Das sind absolute Basisvoraussetzung zur Mindestsicherung einer über das Internet erreichbaren Datenbank. Es gibt kein hundertprozentig sicheres System, theoretisch kann alles geknackt und gehackt werden. Es geht vielmehr darum, den Aufwand, den potentielle Hacker treiben müssen, so hoch wie nur möglich zu gestalten.
Für Einzelheiten zu den angerissenen Themen finden sich hier sicher entsprechende Fachleute, ich bin hier mit meinem Latein am Ende.