Konfigurieren eines Fusion JDBC Connectors mit SSL

Immer häufiger implementieren Datenbankadministratoren Sicherheitsmaßnahmen, die über einen einfachen Benutzernamen und ein Passwort hinausgehen. Ein Beispiel ist die Verwendung von SSL mit Zertifikaten und Schlüsseldateien, um eine verschlüsselte Kommunikation zwischen Client und Server zu gewährleisten. Die Einrichtung eines neuen Connectors in Lucidworks Fusion, der diese Verschlüsselungsmethode verwendet, ist einfach, wenn auch nicht ganz unkompliziert. Im Folgenden beschreibe ich, wie ich einen JDBC-Konnektor als Client zu einer MySQL-Datenbank (mit MySQL JDBC JAR v5.1.31, Link am Ende) unter Verwendung von SSL und einem privaten Schlüssel konfiguriert habe.

Voraussetzung: Konfigurieren eines Java KeyStore (JKS)

Bevor wir eine Verbindung zu MySQL herstellen können, müssen wir einen Java KeyStore auf dem/den Fusion-Server(n) einrichten, auf dem/denen Ihre Konnektoren liegen. Dies ist der schwierigste Aspekt bei der Konfiguration eines Konnektors für SSL und geschieht außerhalb von Fusion. Wenn Sie ein Paar öffentlicher/privater Schlüssel haben, müssen Sie einen neuen Java KeyStore erstellen (oder in einen bestehenden importieren). Ihr Datenbankadministrator muss Ihnen den entsprechenden öffentlichen Schlüssel zur Verfügung stellen und kann Ihnen einen privaten Schlüssel zur Verfügung stellen oder auch nicht (möglicherweise müssen Sie diesen selbst generieren). Da die Erstellung eines JKS ein eigener Blogbeitrag ist, gebe ich am Ende dieses Beispiels einige Ressourcen an, die Ihnen die richtige Richtung weisen.

Zeigen Sie Fusion auf Ihr JKS

Der erste Schritt bei der Konfiguration dieses Connectors besteht darin, sicherzustellen, dass Fusion einen Zugriff auf Ihren JKS hat. Dazu müssen Sie das Startskript des Konnektors (<Fusion home>/bin/connectors unter *nix oder <Fusion home>/bin/connectors.cmd unter Windows) so ändern, dass es die folgenden Java-Optionen enthält:

-Djavax.net.ssl.keyStore=/path/to/keystore
-Djavax.net.ssl.keyStorePassword=password

Im *nix-Skript können Sie diese Optionen zu der bereits definierten Variable JAVA_OPTIONS hinzufügen. In der Windows-Batchdatei gibt es mehrere Bedingungen, die JAVA_OPTIONS anders setzen, also fügen Sie sie am besten dem Befehl START im Block :do_start hinzu.

Konfigurieren Ihres JDBC-Connectors

Sobald Ihr JKS eingerichtet ist und Fusion weiß, wo es zu finden ist, können wir einen neuen JDBC-Connector erstellen, der SSL verwendet. Wie ich bereits erwähnt habe, verwenden wir in diesem Beispiel MySQL. Meine Connector-URL und mein Treiber lauten daher wie folgt:

URL: jdbc:mysql://<server_name>:<port>/<db_name>?useSSL=true
Driver: org.gjt.mm.mysql.Driver

Eine kurze Anmerkung: Sie werden feststellen, dass die einzige Änderung gegenüber der grundlegenden MySQL-Verbindungszeichenfolge das Hinzufügen des useSSL-Flags ist – so einfach ist das. Sie werden auch feststellen, dass ich die „ältere“ MySQL JDBC-Treiberklasse verwende; die Verwendung von „com.mysql.jdbc.Driver“ führte zu „value.not.allowed“-Ausnahmen. Ich habe einige Ressourcen hinzugefügt, die den Unterschied zwischen diesen Klassen erläutern.
Und das war’s! Nicht gerade einfach, aber auch nicht schwierig. Wie ich bereits erwähnt habe, ist der schwierigste Teil für die meisten Leute die Konfiguration des JKS. Hier finden Sie einige weitere Ressourcen, die Ihnen bei der Verwendung von JKS und MySQL mit SSL helfen können.

Ressourcen

Über den Autor

Sean Mare ist ein Technologe mit über 18 Jahren Erfahrung in der Konzeption und Entwicklung von Unternehmensanwendungen. Als Solution Architect bei der Knowledgent Group Inc., einem führenden Beratungsunternehmen für Big Data und Analytik und Partner von Lucidworks, nutzt er die Möglichkeiten der Unternehmenssuche, um Menschen und Organisationen zu ermöglichen, ihre Daten auf spannende und interessante Weise zu erforschen. Er wohnt im Großraum New York City.

You Might Also Like

Wie ein B2B-Vertriebsriese die intelligente Suche einsetzt, um Inflation, Tarife und 10.000+ tägliche Abfragen zu bewältigen

Lernen Sie Ryan Finley kennen: Ein 17-jähriger Suchveteran, der die Unternehmenssuche zur...

Read More

4 bewährte KI-Suchlösungen für die Tarifverwaltung

Entdecken Sie, wie KI-Suchlösungen für das Tarifmanagement Einzelhändlern helfen, Margen und Kundenzufriedenheit...

Read More

KI-Agenten dominieren den Einkauf. Ist Ihre Website auf die KI-gestützte Suche vorbereitet?

Generative KI-Agenten wie ChatGPT definieren die Produktsuche neu. Erfahren Sie, wie Sie...

Read More

Quick Links