1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

MySQL Problem mit JDBC und SSL

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Herr K., 26 März 2017.

  1. Herr K.

    Herr K. Benutzer

    Hallo allen, bin von Beruf her Sozialarbeiter und arbeite in einem Heim. Mit LibreOffice Base habe ich eine Heimverwaltung entworfen (MySQL -mit JDBC Treiber). Das funktioniert in unserem Intranet auch super. Da wir mehrere Standorte haben, brauche ich nun einen "Zugrif von außen". Daher wollte ich die Verbindung zum Server mit SSL verschlüsseln. Das hat auch geklappt, aber meine Formulare funktionieren nicht mehr, es kommt zu einem "out of range" Fehler.
    Ich habe den Übeltäter auch lokalisieen können. Hier ein Bespiel:

    SELECT `Name`, `Vorname` FROM `Bewohner` WHERE `Name`= :q_Eingabe

    diese Abfrage funktioniert ohne SSL-Verbindung wunderbar, wenn ich die SSL-Verbindung nutze, kommt es zu einem "out of range"

    Leider hat meine Heimverwaltung, sehr viele solcher konstrukte, weil der Standortfilter z.B. über so einen :q_Parameter gedacht ist.

    Hat jemand eine Idee, wie ich das Problem lösen kann, bzw. wen ich fragen kann bzw. wo ich suchen muss, bin nach stundenlangem googlen ratlos.

    Danke im voraus...
     
  2. drdimitri

    drdimitri Datenbank-Guru

    Du machst einen Datenbankserver ohne weitere Zugriffsschicht über das Internet zugänglich und hast keinerlei Fachkenntnisse was Security betrifft? Mutig, mutig.
    Jetzt noch ein paar §203 Daten in der DB und die Spiele können beginnen.

    Im Ernst: Lass solche Spielchen wenn du nicht genau weißt wie man das machst (und da du ohne Zwischenschicht auf die DB gehst ist das definitiv nicht der Fall). Im allgemeinen sind solche (zumeist ungepatchten) DB Server ideale Einfallstore um sich Zutritt auf den Server zu verschaffen, sofern dies nicht schon der passiert ist.
     
  3. ukulele

    ukulele Datenbank-Guru

    Eine VPN-Lösung wäre natürlich wichtig, dennoch könnte man innerhalb des VPNs auf die Idee kommen die DB-Kommunikation mit SSL zu schützen um böse Leute innerhalb des Netzes raus zu halten. Allerdings ist die Frage zu SSL eher eine LibreOffice-Frage...
     
    BerndB gefällt das.
  4. Herr K.

    Herr K. Benutzer

     
  5. Herr K.

    Herr K. Benutzer

    Danke für die Anwort auf meine Frage, in der Tat war es ein LibreOffice Problem. In den "Besonderen Einstellungen" gibt es die Option "Benannte Parameter durch '?' ersetzen" - dann funktioniert alles wie es soll.
     
  6. Herr K.

    Herr K. Benutzer

    an dr dimitri: ich werde den Rat beherzigen und vorerst den Server nicht online stellen...
     
  7. Herr K.

    Herr K. Benutzer

    An dr dimitri:
    Guten Abend. Wollte den jetzigen Stand meines Projektes vorstellen.
    MySQL auf dem Server befindet sich mit bind auf 127.0.0.1, wo es wohl auch hingehört. Der Zugriff von außen erfolgt nun mit SSH-Tunnel. Es gibt auf dem Zielserver nur ein Benutzerkonto, zu dem die Verbindung erfolgt(und das ist natürlich nicht root). Root zugriff in der SSH config verboten, login nur für das eine Konto erlaubt. Zudem den SSH Standartport verlegt. Als weiteres nur ein Login-Versuch möglich, bei Fehler Verbindungsabbruch. Zusätzlich fail2ban als Netzwerkontrolle eingerichtet. Sperrt die aufrufende Client-IP nach 3 erfolglosen Login-Versuchen für einen Tag. Von Client-Seite wird der Standart-Port MySQL auf localhost angesprochen und zum Server getunnelt.
    Die Rechte der Clients auf MySQL habe ich auf das Notwendigste beschränkt. Was man machen kann, sind bestenfalls fehlerhafte Eingaben- sprich Irrtümer.
    Außer SSH alle Ports die nach außen lauschen deaktiviert.
    Meine Frage: Ist der Zugriff von außen nun hinreichend abgesichert, oder gibt es noch Probleme, die sich mir im Moment nicht erschließen?
    Ich danke im voraus für eine Antwort.
     
  8. drdimitri

    drdimitri Datenbank-Guru

    Hi,

    das sieht schon deutlich besser aus also die vorherige Konstellation.
    Wichtig ist jetzt auch die mysql DB regelmäßig zu patchen.

    Es gibt diverse Löcher die Remote ausnutzbar sind und z.T. erst seit kurzem gefixt wurden: Mysql Mysql : List of security vulnerabilities

    Da jeder Patch auch neue Fehler beinhalten kann, empfehlen ich hierzu immer ein Testsystem vorzuhalten, an dem das vorab eingespielt werden kann.

    Last but not least ist dann noch das Thema Backup wichtig. Da kann ich aber, was MySQL betrifft, nicht viel zu den vorhandenen Mechanismen sagen.
    Im einfachsten Fall richtet man auf OS Ebene einen Job ein, der die DB sauber herunterfährt und sichert die Datenfiles weg.
     
  9. BerndB

    BerndB Datenbank-Guru

    Find ich auch. Damit ist auch sichergestellt, das nach einem Datenbank Update die Datensicherung NICHT mehr lesbar ist.

    Super Idee
     
  10. drdimitri

    drdimitri Datenbank-Guru

    Guter Einwand.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden