greenSQL

GreenSQL – MySQL Firewall

closeThis post was published more than three months ago. Please note that the information offered here may no longer be current and valid. Therefore, please inform yourself about this topic elsewhere. If there is any new information, you can also send me a comment. Thank you so much!

Was ist eine MySQL Firewall und wie funktioniert dies?

GreenSQL ist eine Open-Source-Datenbank-Firewall, um Datenbanken von SQL-Injection-Attacken zu schützen. Diese arbeitet als Proxy für SQL-Kommandos und hat eine eingebaute MySQL Unterstützung. Die Logik beruht auf der Auswertung von SQL-Befehlen, mit Hilfe eines Scoring-Risiko-Matrix sowie Sperrung bekannt db Verwaltungs-Befehle.

GreenSQL arbeitet als Reverse Proxy für MySQL-Verbindungen. Dies bedeutet, dass du dich anstatt direkt mit den MySQL-Server, zuvor mit GreenSQL verbindest. GreenSQL analysiert die SQL-Abfragen und wenn sie sicher sind, werden diese an den MySQL-Server durch-gereicht.

greenSQL
greenSQL

HowTo: Wie installiere ich die MySQL Firewall?

1. Download der Software

Das passende Paket von dieser Webseite herunterladen:

www.greensql.net/download

2. Installiere das entsprechende Paket

Debian/Ubuntu:

sudo dpkg -i PACKAGE_NAME.deb

Redhat/Fedora/CentOS/SuSe:

rpm -ihv PACKAGE_NAME.rpm

FreeBSD:

pkg_add PACKAGE_NAME.tbz

3. Datenbank anlegen & Konfiguration anpassen

Um die Konfiguration anzupassen und die Datenbank anzulegen, führst du nun folgendes Skript aus…

/usr/sbin/greensql-create-db.sh

und nun können wie die Firewall bereits starten

/etc/init.d/greensql* restart

4. Status der Firewall testen

um die Verbindung durch den MySQL-Proxy zu testen, führen wir folgendes Kommando aus…

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

5. Webseite mit einbinden

nun wird es Zeit, unsere Webseite in das Konstrukt mit einzubinden, dafür muss die Datei, wo die Verbindungseinstellungen zu MySQL eingestellt werden editiert werden.

Folgendes sollte in eine PHP-Datei zu finden sein und muss nun nur noch angepasst werden…

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

… wird zu …

$link = mysql_connect('127.0.0.1:3305', 'mysql_user', 'mysql_password');

Wichtiger Hinweis:
Keine Verbindung zu “localhost”, verwende stattdessen immer “127.0.0.1”.

Published by

voku

Lars Moelleken | Ich bin root, ich darf das!