Sichere Datenbankserver

Nicht nur über eine SQL-Injektion-Attacke kann ein Datenbankserver angegriffen werden, sondern dies kann auch direkt ohne Nutzung der auf dem Webserver hinterlegten PHP-Skripte geschehen.

Der Datenbankserver wird auf manchen Systemen mit einem leeren Root-Passwort ausgeliefert. Dieses Passwort muss unbedingt gesetzt werden. Für jeder der Webapplikationen, die den Datenbankserver nutzen, sollte ein eigener Nutzer auf dem Server eingerichtet werden. Für eine erhöhte Sicherheit muss das Passwort dieses Nutzers in regelmäßigen Zeitabständen geändert werden. Weiterhin sollte dafür gesorgt sein, dass auf den Datenbankserver nicht global aus dem Internet erreichbar ist, sondern nur durch den Webserver erreichbar ist und alle anderen Verbindungen abgelehnt werden. Um eine zusätzliche Sicherheit zu gewährleisten, kann der Datenbank innerhalb der Netzwerktopologie in eine spezielle Zone verschoben werden, um Angriffe gar nicht erst zum Server durchdringen zu lassen.

Innerhalb der Datenbank selbst kann die Sicherheit erhöht werden, indem die Privilegien, die ein Datenbanknutzer hat, eingeschränkt werden. Beispielsweise sollte jeder Datenbanknutzer nur auf die Datenbanken zugreifen können, die er benutzen soll. Alle anderen Datenbanken sollen ihm verschlossen bleiben. Nach der erstmaligen Einrichtung des Datenbankschemas ist es häufig nicht mehr nötigt, die Gestalt der Datenbanktabellen zu ändern. Dem Datenbanknutzer kann das Privileg hierfür entzogen werden, um ein Löschen der Tabellen durch einen Angreifer zu verhindern.

Informationen in der Datenbank müssen nicht im Klartext abgelegt werden, sondern sie können verschlüsselt werden. Der Schlüssel hierfür wird innerhalb der PHP-Applikation untergebracht oder er befindet sich gar auf dem System des Clients, so dass selbst der Serveradministrator die Informationen nicht lesen kann. Besonders für Passwörter bietet es sich an, die Passwörter nicht im Original abzulegen, sondern einen Hash-Code der Passwörter abzulegen, um das Passwort selbst zu schützen.

Zuletzt sollte jeder sicherheitsbewusste Administrator eines Datenbankservers Log-Dateien lesen. Angriffe passieren nicht plötzlich, sondern werden häufig durch Angreifer lange ertastet. Die Logdateien geben über solche Vorgänge Auskunft, so dass der Administrator durch das aufmerksame Studium dieser einen bevorstehenden Angriff noch einmal abwehren kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert