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:
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…
Die Hauptaufgabe der Endian Firewall ist es, als Gateway, Router, Firewall und Antivirus-Proxy zu fungieren. Hierbei werden im Normalfall bis zu vier unterschiedliche Netzwerke verwaltet, siehe Abbildung “Schema der Netzwerktopologie”. Für jedes dieser Netze muss eine Netzwerkkarte in den Computer eingebaut werden. Auch sie werden über die Webschnittstelle konfiguriert. Bei Endian werden diese durch farbliche Kodierung differenziert. – Wiki
Schema der Netzwerktopologie:
Rotes Netz: Verbindung zum unsicheren Internet
Grünes Netz: Sicheres Intranet, hier werden die zu schützenden Arbeitsplätze oder Intranet-Server, z.B. Datei-Server, angeschlossen.
Orangenes Netz: Teilsichere Demilitarisierte Zone (DMZ), um eigene Server zu betreiben, die über das Internet erreichbar sein müssen, z.B. Web- oder FTP-Server
Blaues Netz: Teilsicheres WLAN, hierüber werden WLAN-Teilnehmer angeschlossen. Somit sind sie vom grünen Netz getrennt, was dessen Sicherheit erhöht.
Folgende Dienste können über integrierte Weboberfläche konfiguriert werden:
– Transparenter HTTP-, FTP-, SMTP- und POP3-Proxy (Spam Training & ClamAV Antivirus & Amavis)
– Caching DNS-Server
– DHCP-Server
– Network Address Translation (NAT)
– SIP VoIP-Unterstützung
– Virtual Private Network (VPN) [OpenVPN oder IPsec]
– NTP-Server
– Policy basiertes Routing (Interface, MAC Adresse, Protokoll oder Port)
– SNMP Unterstützung
– VLAN Support (IEEE 802.1Q Trunking)
– Dynamsicher DNS Client (z.B. für DynDNS)
– Trafficshaping (Aufteilung nach Geschwindigkeit & Priorität)
– SNORT (Eindringlingserkennung)
– Traffic Monitoring
Was ist neu in der Version 2.3?
# Backups können nun auf angeschlossene USB Medien oder per Mail verschickt werden. Dies lässt sich über einen Zeitplan sogar automatisieren.
# Die neue Startseite ist ein Dashboard, auf dem live Statistiken über die Bandbreite sowie Systemmeldungen angezeigt werden.
# E-Mail Benachrichtigungen für bestimmte Events können nun automatisch versendet werden.
# Erweiterung der Web Proxy Funktionen (Zeit- und gruppenabhängige Einstellungen).
# Intrusion Prevention, also nicht nur die Erkennung sondern auch die Eindämmung neuer Bedrohungen in Echtzeit.
# Regelbasiertes Routing (“Policy-based routing”) in Abhängigkeit von MAC, Port oder Protokoll eines Pakets.
# Port Forwarding kann nun aus allen Zonen in alle Zonen gemacht werden, sowohl mit wie auch ohne NAT.
# Das Quality of Service Modul wurde stark erweitert und ist nun über Regeln, Klassen und Devices völlig frei konfigurierbar.
# SNMP Support ist nun ebenfalls in die Endian integriert.
# Der SMTP Proxy hat ein neues, noch bedienerfreundliches Web Frontend bekommen.
Auf Debian basierendem Systemen (z.B. Ubuntu) kannst du bereits installierte Pakete neu einpacken und in ein .deb Datei speichern, um dieses z.B. mit der selben Konfiguration auf einem anderem System zu installieren.
Nutze Google’s perftools um die Geschwindigkeit deines MySQL-Server zu erhöhen.
Das Google Perftools, insbesondere tcmalloc (Thread Caching Malloc), kann helfen z.B. den MySQL-Server zu beschleunigen…
TCMalloc ist schneller als die glibc 2.3 malloc (Wiki). Die Geschwindigkeitsvorteile durch die verbesserte Speicherzuordnung, kannst du wie folgt in MySQL integrieren.
Vorausgesetzt du nutzt Debian 5 (Lenny) oder neuer… fügen wir als erstes neue Repositories in der sources.list ein.
Seit den mainstream MySQL-Paketen sind diese nicht mit den tcmalloc compiliert, daher müssen wir einen dynamischen OS’ Linker einbauen, indem wir folgende Zeile in dem MySQL init-Skript einfügen:
Codename: Karmic Koala Deutsche Übersetzung: karmischer Koala Status: RC Veröffentlichungstermin: 29.10.2009 Unterstützt bis: April 2011
neue Features:
– Der Bootvorgang
Der Bootvorgang ist beschleunigt worden, was sich besonders bei Netbook-Nutzer auswirken soll. Sofern man die passende Hardware besitzt soll das System innerhalb von 10 Sekunden booten.
– Software Center
Das “Ubuntu Software Center”, wird die ‘Add/Remove’-Applikation im Programm-Menü ersetzen.
“Ubuntu One” kann optional installiert werden, dies ist im Grunde ein “Online-Datenspeicher” welche im Desktop integriert ist, so dass man dort Dateien, Evolution-Kontakte, Firefox-Lesezeichen und Tomboy-Notizen speichern und verteilen kann. Erweitern kann man diesen Speicher für zehn US-Dollar im Monat von 2 auf 50 Gigabyte.
Dies ist ein Instant Messenger, der eine Vielzahl von Protokollen unterstützt und es ermöglicht, mehrere Instant-Messenging-Dienste wie Jabber oder ICQ gleichzeitig zu verwenden.
Unterstützte Protokolle:
AOL Instant Messenger (AIM)
Google Talk (basiert auf Jabber)
GroupWise
ICQ
IRC
XMPP (Jabber)
MSN
Salut (Bonjour)
SIP
Yahoo
– Gwibber wird mit integriert (sofern es bis zum Release von Karmic Koala eine stabile Version gibt)
Das Programm kann Meldungen bzw. Nachrichten aus Digg, Facebook, Flickr, identi.ca, Jaiku, Laconi.ca oder Ping.fm beziehen bzw. senden sowie RSS/Atom-Feeds einlesen.
GDM (kurz für GNOME Display Manager) kümmert sich bei den Desktopumgebungen GNOME und Xfce um die grafische Anmeldung von Benutzern am System (“login”).
Und wurde für Ubuntu Karmic Koala komplett neu geschrieben (GDM2).
GRand Unified Bootloader 2 – kurz GRUB 2 – ist die zweite Version von GNU GRUB. Ein Bootloader ist notwendig, um Betriebssysteme auf einem Computer überhaupt starten zu können.
neue Merkmale:
Unterstützung des Bootens von ext4, LVM und RAID (sowohl Hard- als auch Software)
Unterstützung von EFI
direkte Unterstützung von UUID
Modulares Laden der Komponenten zur Laufzeit
Grafische Benutzeroberfläche mit Unterstützung von Themes
Unterstützt unterschiedliche Systemplattformen
Unterstützung von Skripten
Benutzerdefinierte Boot-Einträge
Verbesserte Partitionsbezeichnung
Rettungsmodus zum Beheben von Bootproblemen
DevKit dient in erster Linie dazu, für (neue) Geräte eine Gerätenummer zu vergeben und nach Ereignissen, die von Geräten ausgelöst werden, zu lauschen.
Zudem sind einige weitere Updates eingeflossen wie z.B. GNOME 2.28.1, OpenOffice 3.1.1, Linux Kernel 2.6.31, verbesserte iSCSI Unterstützung oder auch ein neuer “Intel video”-Treiber.
Falls du dein System neu aufsetzten möchtet oder die Ubuntu 9.10 RC erst-einmal auf einer Virtuellen Maschine testen möchtest, gibt es hier die entsprechende ISO:
Alternativ kannst du auch auf diese Version updaten…
… um ein Upgrade von Ubuntu 9.04 auf einem Desktop-System durchzuführen, drückst du [Alt + F2] und gibst folgendem Befehl ein.
update-manager -d
Der Update-Manager sollte sich öffnen und anzeigen das eine neue Version zur verfügbar steht. Klicke auf Upgrade und folge den Anweisungen auf dem Bildschirm.
Um einem Server-System zu aktualisieren, installierst du als erstes das “update-manager-core” Paket, wenn es nicht bereits installiert ist.
gpm (=General Purpose Mouse Interface) ist ein Systemdienst, welcher die Nutzung des Mauszeigers in der Systemkonsole ermöglicht. – Ubuntu-Wiki
Install:
aptitude install gpm
Nun kannst du die Maus in der Konsole benutzen um z.B. den Midnight Commander oder aptitude zu steuern. Man kann nun zudem wie in X gewohnt kopieren und markieren.