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.
HowTo: Wie installiere ich die MySQL Firewall?
1. Download der Software
Das passende Paket von dieser Webseite herunterladen:
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”.