Metainformationen zur Seite

Datenbank

AZURE

Um auf eine Azure-Datenbank zugreifen zu können muss in der dwKernel.ini nur der Connection-String angepasst werden und die von Azure bereitgestellte *.pem-Datei auf dem lokalen Rechner vorhanden sein. Beispiel für einen Connection String:

Connection = "DRIVER={MySQL ODBC 5.3 Ansi Driver}; SERVER=127.0.0.1; DATABASE=speedy7_cad; User=youruser; Password=yourpassword; rsakey=c:\azure.pem; OPTION=4212875; Port=3306;" 

Falls das Dateisystem auch in der Cloud laufen soll kann dies über einen ownCloud-Server und ownCloud-Client realisiert werden. Es kann zum Beispiel in Azure ein ownCloud-Server erstellt werden. Dieser wird dann als Filesystem genutzt. Der ownCloud-Client kann dann ein Server in der Firma oder ein einzelner Rechner sein von diesem Speedy dann die Daten abgreift.

Die Datenverbindung zu einer Azure-Datenbank wird durch eine SSL-Verbindung verschlüsselt.

MySQL

SSL-Verbindung

Um eine SSL-Verbindung zu unserer Datenbank herstellen zu können müssen Einstellungen auf dem Server und dem Client gemacht werden.

Sie benötigen Server seitig:

Client seitig:

  • MySql ODBC 5.3

Hilfe: https://serverfault.com/questions/783861/enabling-ssl-in-mysql-when-using-windows-as-a-server-and-client

Server Einstellungen

Um SSL auf dem MySql Server zu aktivieren und die erforderlichen Zertifikate zu erstellen müssen einige Schritte durchgeführt werden.

Als erstes sollte der MySql Server Installiert werden oder Installiert sein. Wenn dies der Fall ist können können sie einen neuen User anlegen oder einem bestehenden User den SSL Mode setzen. Dies wird auf der Kommandozeile mit der mysql.exe vorgenommen. Nutzen sie dafür einen User der Root Rechte hat.

Neu:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yourssluser'@'%' IDENTIFIED BY 'yoursslpassword' REQUIRE SSL;

Bestehend:

mysql> UPDATE mysql.user SET ssl_type = 'ANY' WHERE user = 'someUser';


Danach:

mysql> FLUSH PRIVILEGES;

Legen sie als nächstes ein Verzeichnis an in dem die Zertifikate abgelegt werden: mkdir C:\mysqlCerts
Nun wird die Systemavariable OPENSSL_CONF gesetzt: set OPENSSL_CONF=c:\OpenSSL-Win64\bin\openssl.cfg

Als nächsten Schritt werden die ganzen Client und Server-Zertifikate erzeugt! Auf der Kommandozeile den OpenSSl Pfad auswählen.
1. CA-Zertifikate:

openssl genrsa 2048 > "C:\mysqlCerts\ca-key.pem"

danach:

openssl req -new -x509 -nodes -days 3600 -key C:\mysqlCerts\ca-key.pem > C:\mysqlCerts\ca-cert.pem

2. Server-Zertifikate:

openssl req -newkey rsa:2048 -days 3600 -nodes -keyout C:\mysqlCerts\server-key.pem > C:\mysqlCerts\server-req.pem

danach:

openssl x509 -req -in C:\mysqlCerts\server-req.pem -days 3600 -CA C:\mysqlCerts\ca-cert.pem -CAkey C:\mysqlCerts\ca-key.pem -set_serial 01 > C:\mysqlCerts\server-cert.pem

danach:

openssl rsa -in C:\mysqlCerts\server-key.pem -out C:\mysqlCerts\server-key-ppless.pem

3. Client-Zertifikate:

openssl req -newkey rsa:2048 -days 3600 -nodes -keyout C:\mysqlCerts\client-key.pem > C:\mysqlCerts\client-req.pem

danach:

openssl x509 -req -in C:\mysqlCerts\client-req.pem -days 3600 -CA C:\mysqlCerts\ca-cert.pem -CAkey C:\mysqlCerts\ca-key.pem -set_serial 01 > c:\mysqlCerts\client-cert.pem

danach:

openssl rsa -in C:\mysqlCerts\client-key.pem -out C:\mysqlCerts\client-key.pem

4. Zertifikate in my.ini des Servers eintragen(c:\ProgramData\MySQL\MySQL Server 5.7\):

ssl-ca     = C:\mysqlCerts\ca-cert.pem \\
ssl-cert   = C:\mysqlCerts\\server-cert.pem \\
ssl-key    = C:\mysqlCerts\\server-key-ppless.pem

Als nächstes sollte der Server neu gestartet werden.

Um zu kontrollieren ob der Server nun eine SSL Verbindung zulässt nutzen sie wieder die mysql.exe und geben folgenden befehl ein:

mysql> show global variables like '%ssl%';

Wenn alles korrekt ist sollte diese Ausgabe erscheinen:

Variable_name Value
have_openssl YES
have_ssl YES
ssl_ca C:\mysqlCerts\ca-cert.pem
ssl_capath
ssl_cert C:\mysqlCerts\server-cert.pem
ssl_cipher
ssl_crl
ssl_crlpath
ssl_key C:\mysqlCerts\server-key-ppem.pem

Damit ist der Server SSL fähig!

Client Einstellungen

Auf dem Client muss nun die .ini-Datei geändert werden und ein ODBC 3.0 Treiber installiert sein. In der .ini-Datei muss der Connection String abgeändert werden.

Ein Beispiel:

Connection = "DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=127.0.0.1; DATABASE=speedy7cad; User=youruser; Password=yourpassword; SSLCA=c:\mysqlCerts\ca-cert.pem; SSLKEY=c:\mysqlCerts\client-key.pem; SSLCERT=c:\mysqlCerts\client-cert.pem; SSLCAPATH=c:\mysqlCerts; OPTION=4212875; Port=3306;"

Diesen Connection-String sollten sie noch an ihre Umgebung anpassen. Die SSL Zertifikate müssen sie von ihrem Server auf den Client Rechner Kopieren und den Pfad anpassen.

Bei SSL Verbindung mit dem Direkttreiber „MYSQL“ muss ebenfalls eine zweite Connection zur Lizenzdatenbank per Connection String und einem ODBC Treiber eingerichtet werden.