MariaDB Maxscale 2.0 Schutz und Streaming mit der Open-Source-Datenbank

Autor / Redakteur: Jan Schulze* / Ulrike Ostler |

Jüngst erschien die Version 2.0 der Open-Source-Datenbank „MariaDB Maxscale“. Den Datenbank-Proxies hat Anbieter MariaDB einige Merkmale spendiert, die einen sicheren Betrieb der Datenbanken im Unternehmen deutlich vereinfachen sollen. Zudem beherrscht Maxscale nun auch das immer wichtiger werdende Data-Streaming.

Anbieter zum Thema

Vergangene Woche gab das finnische Unternehmen MariaDB die Version 2.0 von Maxscale mit Plugin-Architektur frei, bei der neue Funktionen relativ einfach hinzugefügt werden können.
Vergangene Woche gab das finnische Unternehmen MariaDB die Version 2.0 von Maxscale mit Plugin-Architektur frei, bei der neue Funktionen relativ einfach hinzugefügt werden können.
(Bild: MariaDB)

Maxscale des Datenbank-Herstellers MariaDB ist zugleich Datenbank-Proxy, Load-Balancer und Firewall. Das sorgt für Hochverfügbarkeit und Skalierbarkeit von Datenbank-Clustern und ist zugleich für die Anwendungen transparent: Anwendungen sehen nur eine herkömmliche MariaDB-Datenbank. Änderungen am Datenbank-Cluster haben damit keine Auswirkungen auf die Anwendungsschicht.

Zudem ist Maxscale – wie man es bei einem Datenbank-Anbieter erwarten kann – auf die Verarbeitung von SQL-Statements spezialisiert und damit in diesem Umfeld sehr leistungsstark. Eine Plug-in-Architektur, bei der sie neue Funktionen relativ einfach hinzugefügen lassen, ergänzt das Konzept. Entsprechend weit ist Maxscale im Unternehmenseinsatz verbreitet. Vergangene Woche gab das finnische Unternehmen Version 2.0 von Maxscale frei. Bei den Neuerungen fallen besonders zwei Bereiche ins Auge: Sicherheit und Big-Data-Eignung.

Data Streaming mit CDC

Im Falle von Big Data adressiert MariaDB ein Problem, das sich zunehmend als ein Flaschenhals bei der Datenanalyse erweist: Herkömmlicher Weise werden Daten im Batch-Verfahren verarbeitet. Zwischen dem Ausführen einer Änderung an den Tabellen und der Nutzbarkeit der neuen Daten für Analysen vergeht ein kleines bisschen Zeit. Mit den rasant steigenden Datenvolumina, die bewältigt werden müssen, ist im Batch-Prozess keine Auswertung mehr möglich, die den Echtzeit-Ansprüchen der Anwender genügt. Abhilfe schafft CDC (Change Data Capture), das nun in Maxscale 2.0 implementiert wurde.

Bei CDC werden die Änderungen an einer Tabelle als Binlog-Events aufgezeichnet und als Transaktions-Logs in Form von Avro- oder JSON-Records gespeichert. Über das CDC-Protokoll werden registrierte Clients auf Änderungen hingewiesen, die die Clients dann aus der Arvo-Datei lesen.

Durch Data Streaming mit Kafka ist MariaDB Maxscale nun in der Lage, Binlog-Events in Echtzeit bereitzustellen.
Durch Data Streaming mit Kafka ist MariaDB Maxscale nun in der Lage, Binlog-Events in Echtzeit bereitzustellen.
(Bild: MariaDB)

Der Ansatz ist nicht neu. Neu ist, dass dieses Daten-Delta im Streaming-Verfahren kontinuierlich verarbeitet wird. Dazu kommt bei Maxscale nun „Kafka“ zum Einsatz.

Kafka wurde ursprünglich vom sozialen Netzwerk Linkedin entwickelt und unter Apache-Lizenz gestellt. Dahinter verbirgt sich ein verteiltes Messaging-Framework für Big Data, das sowohl Batch- als auch Echtzeit-Prozesse unterstützt. Kafka ist bei zahlreichen Unternehmen im Einsatz, darunter Spotify, Netflix oder eben Linkedin. Maxscale repliziert Binlog-Events über Avro an den Kafka Producer. Dieser stellt die Daten dann für Echtzeitanalysen oder maschinelles Lernen bereit.

Mehr Sicherheit für die Daten

Deutliche Verbesserungen kann die neue MaxScale-Version beim Schutz der Daten aufweisen. Hier wurde unter anderem der Zugriff auf den Server selbst mit neuen Sicherheitsfunktionen bedacht. Neben dem bereits integrierten Black- und White-Listing zum Schutz vor SQL-Intrusions verfügt Maxscale nun auch noch über die Möglichkeit, die Anzahl der aktiven Verbindungen zum Datenbank-Cluster zu begrenzen. Dadurch können DDoS (Distributed Denial of Service)-Angriffe wirkungsvoll abgewehrt werden.

Auch lässt sich die Administrationskonsole MaxAdmin nun so konfigurieren, dass Zugriffe auf die Verwaltungsfunktionen nur lokal möglich sind. Entfernten Angreifern wird dadurch der Zugang zu Konfigurationsdaten von Maxscale oder zu Zugangsdaten der Datenbank-Server unmöglich gemacht.

Mehr Sicherheit gibt es nun auch für Data in Motion, also die Daten auf dem Weg zwischen Datenbank und Anwendung. Diese schützt Maxscale nun durch eine End to End mit SSL verschlüsselte Verbindung. Der Angriffsvektor, durch Mitlesen der Abfrage- und Datenpakete in Datenstrom unbefugten Zugriff zu erhalten, wird dadurch unterbunden.

Keine Einschränkungen bei Failover

Eine weitere Neuerung, die im kritischen Unternehmensbetrieb wichtig ist, betrifft den automatischen Failover. Fällt der Master eines Datenbank-Clusters aus, bestimmt Maxscale automatisch einen der Slaves zum neuen Master.

Während dieses Vorgangs konnte es in der Vergangenheit passieren, dass Lesezugriffe auf die Datenbank für kurze Zeit nicht oder nur eingeschränkt möglich waren. Denn alle Slaves im Cluster müssen zunächst auf den neuen Master verweisen. In der aktuellen Version können alle Lesezugriffe ohne Unterbrechung wie gewohnt weiterlaufen. Damit ist die wichtigste Funktionalität der meisten Anwendungen gewährleistet, die Benutzer werden in ihrer Erfahrung nicht beeinträchtigt.

Vor allem im Bereich der Sicherheit will MariaDB laut der Maxscale-Roadmap mit den kommenden Versionen nochmals deutlich zulegen. Mit der Version 2.1 soll unter anderem die bereits seit Maxscale 1.4 implementierte Firewall zu einer adaptiven Firewall ausgebaut werden. LDAP- und Kerberos-Authentifizierung stehen ebenso auf der Liste wie ein strenger abgesicherter Binlog-Server.

Die Anstrengungen seitens MariaDB sind zu begrüßen, denn nach wie vor sind Datenbank-Management-Systeme ein beliebtes und trotzdem oftmals wenig gesichertes Einfallstor für Angreifer. Mehr Sicherheit an der zentralen Schnittstelle zwischen Anwendungen und Daten ist heute nicht mehr Kür, sondern Pflicht - vor allem im Unternehmenseinsatz, wo oft besonders schützenswerte Daten verarbeitet werden.

* Jan Schulze ist freier Journalist in Erding.

Artikelfiles und Artikellinks

(ID:44311163)