SSL Verschlüsselung

 
Die Kommunikation jedes Remote Clients (Kassen, externe DB User) sollten per SSL verschlüsselt werden.
 
Voraussetzungen:
1. Zertifikat erstellen
  • Laden Sie sich das Programm openSSL-64 für Windows herunter und installieren Sie dieses.(https://slproweb.com/products/Win32OpenSSL.html)
  • Erstellen Sie die Zertifikate
       - Dazu wechseln Sie in das Programmverzeichnis von OpenSSL (C:\SSL\OpenSSL-Win64\bin)
      - Führen Sie nacheinander die folgenden Befehle aus:
    openssl genrsa 2048 > ca-key.pem
    openssl req -new -x509 -nodes -days 1095 -key ca-key.pem -out ca-cert.pem
    openssl req -newkey rsa:2048 -days 1095 -nodes -keyout server-key.pem -out server-req.pem
    openssl rsa -in server-key.pem -out server-key.pem
    openssl x509 -req -in server-req.pem -days 1095 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
    openssl req -newkey rsa:2048 -days 1095 -nodes -keyout client-key.pem -out client-req.pem
    openssl rsa -in client-key.pem -out client-key.pem
    openssl x509 -req -in client-req.pem -days 1095 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
    openssl verify -CAfile ca-cert.pem server-cert.pem client-cert.pem
          Anmerkungen: Dieses Zertifikat hat eine Gültigkeit von 3 Jahren. Es wird Empfohlen das Zertifikat nicht länger als 5 Jahre (1825 Tage) zu überschreiten. ACHTUNG: Das Zertifikat
                                   muss vor Ablauf erneuert werden sonst haben die Kassen keinen Zugriff mehr auf die Datenbank
       - Es werden folgende Dateien erzeugt:
         ca-Cert.perm
         ca-key.perm
         client-cert.perm
         client-key.perm
         client-req.perm
         server-cert.perm
         server-key.perm
         server-req.perm
       - Kopieren Sie diese Zertifikate in einen sicheren ordner auf dem DB Server.
     
    2. Zertifikat einbinden
  • Ergänzen Sie die my.ini wie folgt:
      [mysqld]
      ### SSL Server certs
      ssl-ca=C:/SSL/ca-cert.pem
      ssl-cert=C:/SSL/server-cert.pem
      ssl-key=C:/SSL/server-key.pem
      [client]
      ### SSL Client certs
      ssl-ca=C:/SSL/ca-cert.pem
      ssl-cert=C:/SSL/client-cert.pem
      ssl-key=C:/SSL/client-key.pem
      Die Pfade sind natürlich anzupassen.
     
    3. Kassenkommunikation auf SSL umstellen
  • Starten Sie die Kasse im Setup Wizzard und durchlaufen Sie diesen bis zu den Punkt CentralPoint Datenbank
     
      Unter dem Punkt SSL haben Sie folgende Auswahlmöglichkeiten:
      1. PREFERRED = Bevorzugt. Hier wird versucht eine Verbindung über SSL aufzubauen, sollte dies nicht möglich sein wird eine
                                     unverschlüsselte Verbindung gewählt.
      2. REQUIRED = Verpflichtend. Steht kein gültiges SSL Zertifikat auf dem Server zur Verfügung wird keine Verbindung
         zur Zentrale zugelassen. ACHTUNG: Sollte das Zertikat (Punkt 1) abgelaufen sein, werden keine Daten
         mehr übertragen.
      3. VERIFY_CA = Für spätere Erweiterungen (Aktuell ohne Funktion)
      4. VERIFY_IDENTITY = Für spätere Erweiterungen (Aktuell ohne Funktion)
      5. DISABLED = SSL wird nicht verwendet.