GreenSQL: besserer Schutz für MySQL-Datenbanken

GreenSQL ist ein MySQL-Proxy, der zwischen Datenbankserver und Webserver geschaltet wird. Dort prüft er alle Abfragen auf ihre Sicherheit und leitet sie erst dann weiter. ZDNet erklärt die Datenbank-Firewall und zeigt, wie sie installiert wird.

Viele Angriffe auf Webseiten oder Webanwendungen stehen in direktem Zusammenhang mit sogenannten SQL-Injection-Lücken. Das ist bei schlecht geschriebenen Anwendungen ein großes Problem, denn ein Benutzer kann aus der Ferne SQL-Befehle an den Datenbankserver schicken, indem er an den Webserver gesendete Daten manipuliert und die SQL-Befehle an rechtmäßige Datenbankabfragen hängt. Die Webanwendung führt sie meist einfach aus, ohne die Befehle erst zu überprüfen oder von schädlichen Inhalten zu befreien.

GreenSQL ist eine Firewall für MySQL-Datenbanken. Sie setzt genau an dieser Stelle an und fängt SQL-Befehle auf dem Weg zu MySQL ab, überprüft sie und sortiert die Abfrage entweder aus oder gibt sie “sauber” an MySQL weiter. Danach liefert sie die Abfrageergebnisse wieder an die Anwendung zurück, von der die Abfrage ausgegangen war.

GreenSQL bietet Binär-Pakete für einige Linux-Distributionen an. Wer seine Distribution oder Version nicht auf GreenSQLs Download-Seite finden kann, lädt sich einfach die Tarballs greensql-console und greensql-fw herunter. Anschließend kann folgendermaßen auch direkt von der Source installiert werden:


# tar xvzf greensql-fw-0.9.4.tar.bz2

# cd greensql-fw-0.9.4

# ./build.sh

# greensql-create-db.sh

Mit dem letzten Befehl wird die benötigte MySQL-Datenbank für GreenSQL erstellt. Daher muss sichergestellt sein, dass MySQL gerade ausgeführt wird und auf einen Port hört (das heißt, in /etc/my.cnf muss die Option “skip-networking” deaktiviert sein).

Und so kann man GreenSQL starten und testen:


# greensql-fw -p /etc/greensql &

# mysql -u root -h 127.0.0.1 -P 3305 -p

Neueste Kommentare 

Noch keine Kommentare zu GreenSQL: besserer Schutz für MySQL-Datenbanken

Hinterlasse eine Antwort

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