MySQL generelles vorgehen beim connect zu entfernter datenbank

some1

Neues Mitglied
Hallo,

ich hoffe ich finde hier generelle hile bzw rat. Ich habe hier schon ein paar aehnlich Thread gesehen aber irgendwie treffen Sie nie GENAU mein problem.

Ich bin sozusagen Umsteiger von Oracle/PLSQL programmierung in einem gesticherten Firmennetzwerk auf JAVA / MYSQL appplication im internet:

Ich entwickle gerade eine kleine Java Application die an jedweden User verteilt werden soll. Diese soll ueber irgendeine connection auf eine MYSQL Datenbank zugreifen, die bei meinem Provider liegen wird.

Derzeit ist das ganze in der Entwicklung und sowohl MYSQL als auch die JAVA APP laufen bei mir local. Ich habe also keinerlei connection Probleme. Derzeit benutze ich JDBC zum Connecten.

Ich vermute, dass wenn ich nun die Datenbank auf den Webserver lege gehen meine Probleme los:

1. Webserver Firewall
Wie ich hoere wird der MYSQL Port von den meisten Providern geblockt. Hierzu habe ich gesehen, dass es verschiedene Lösungsmoeglichkeiten(beste SSH Port forwarding?) gibt. Ich denke dass muesste ich unter Kontrolle bringen

2. Client Firewalls
Ich weiss absolut nicht mit wem und wo und welcher Technik die Application konfrontiert wird. Ich gehe daovn aus, dass die User dieses Programms X beliebige Versionen von sozusagen allem benutzen.

Meine Hauptsorge liegt darin, dass eventuell die verschiedenen Firewalls der Clients ebenso Abfragen ueber JDBC blocken und ich moechte aber vermeiden die User zu fragen ihre Ports freizuschalten.

Ist das ueberhaupt so, dass eine typische Client Firewall JDBC blockt, auch wenn die erste Anfrage vom Client zum Server geht?

Vom Setup her ist das ganze so aufgebaut, dass der user und das Passwort fuer die DB im Client Programm gespeichert ist. Ich weiss dass das nicht schoen ist, allerdings ist mir dieser User und dieses Passwort relativ egal, weil der User auf der Datenbank nur die Rechte hat unkritische Views zu lesen, die von mir aus jeder lesen kann. Ausserdem kann der User in eine einzelne Tabelle Daten einfuegen, die ich aber relativ einfach auf veliditaet pruefen kann. D.H. ich werde per Trigger pruefen ob die Daten valide sind und Sie nur dann schreiben.

Sagen wir mal jeder darf diesen User und das Password haben, von daher brauche ich an dieser Stelle keinen Schutz.

Hat irgendjemand einen guten Vorschlag wie man das realisieren kann? Im wesentlichen geht es darum von einer Client Applikation die "irgendwo/ueberall" laeuft auf eine Datenbank zuzugreifen die auf einem Webserver sitzt.

Ich habe noch keinen Provider, d.h. ich kann meinen Provider ggf. auch nach einer Lösung hin aussuchen.

Ich bin für alle Vorschlaege dankbar. Egal wie einfach :)

ich dank euch schon mal vorab.

Ciao
 

XHelp

Top Contributor
1. Webserver Firewall
Wie ich hoere wird der MYSQL Port von den meisten Providern geblockt. Hierzu habe ich gesehen, dass es verschiedene Lösungsmoeglichkeiten(beste SSH Port forwarding?) gibt. Ich denke dass muesste ich unter Kontrolle bringen
Nö, der wird nicht geblockt. Einige kostenlose 0815 Hoster lassen keine Verbindungen von außen zu. Aber die haben auch keinen ssh Zugang ;) Also such dir einfach eins, wo du es entweder einstellen kann oder es schon eingestellt ist (kann man ja beim Support nachfragen bzw. irgendwo nachlesen)

2. Client Firewalls
...
Ist das ueberhaupt so, dass eine typische Client Firewall JDBC blockt, auch wenn die erste Anfrage vom Client zum Server geht?
Eine typische Firewall blockt überhaupt keine ausgehenden Verbindungen, sondern eher die eingehenden. Aber wenn du einen paranoiden Benutzer hast der es dennoch macht, dann ist es eben sein Problem. Das heißt ja dann, dass er über ausgehende Verbindungen informiert werden will, aber wenn du jetzt mit irgendwelchen Hacks und Tricks versuchst es umzugehen, dann wird dein Programm sofort runterfliegen.
Ich weiss dass das nicht schoen ist, allerdings ist mir dieser User und dieses Passwort relativ egal

Auch wenn es egal ist, kannst du es ja dennoch mit XOR oder etwas billigem verschlüsseln. Wenn jemand es drauf anlegt, wird er es in jedem Fall auslesen, aber so kann man es wenigstens nicht mit dem einfachsten Texteditor sehen.
 

some1

Neues Mitglied
Hi Xhelp,

super, schon mal danke fuer deine Antworten.Vielleicht wird das alles doch nicht so problematisch wie ich gedacht habe:)

Ich hoffe du schaust nochmal vorbei und hast auch noch eine Antwort auf eine Rueckfrage:

Betrifft den zweiten Teil, die Client Komponente. Ok, es leuchtet mir ein, dass die Firewall auf der Client Seite ausgehende Anfragen nicht blockt. Allerdings folgt auf so eine Anfrage schliesslich die Antwort und die darf natuerlich auch nicht geblockt werden. Denkst du die sagen wir mal "Standard" Firewall erkennt, dass eine Anfrage an den entrsprechenden Server gesandt wurde und laesst die Antwort dann durch?

Danke auch fuer Tip 3. Tatsaechlich habe ich den User und Passwort verschluesselt in dem Programm und entschluessele ihn dann zur Laufzeit. Ich denke dass findige Leute aber trotzdem kein Problem haetten den User zu entschluesseln. Wie gesagt, ich persoenlich sehe hier aber kein Problem, weil der User auf der Datenbank sehr eingeschraenkte Rechte hat. Mit anderen Usern die auf der DB angelegt sind waere das schon ein Problem, diese werden im Client aber nicht verwendet. Weiss nicht ob das trotzdem eine groessere Gefahr darstellt...

Danke und Schoene Gruesse aus Down Under

some1
 

XHelp

Top Contributor
Ne, das wird schon klappen. Sobald die Verbindung aufgebaut ist können da lustig in beide Richtungen die Daten getauscht werden.
Du hast vermutlich DSL und vermutlich auch einen Router mit eingebauter Firewall... nach deiner Logik könntest du keine Seiten aufrufen, keine IMs benutzen oder generell gar nichts machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
sparrow Wie würdet ihr vorgehen: Datensatzsperrung (mit Hibernate) Datenbankprogrammierung 4
Kirby.exe Verwirrung beim Query Datenbankprogrammierung 4
Z Beim schließen des Programms die verbindung zur DB beenden. Datenbankprogrammierung 4
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
H Brauche Hilfe beim Mappen von 3 Tabellen a 1:n mit hbm.xml. Datenbankprogrammierung 34
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
ruutaiokwu sql server werte swappen beim update-vorgang mit unique-constraints..? Datenbankprogrammierung 2
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
M MySQL probleme beim "Generate Tables from Entities" Datenbankprogrammierung 9
T MySQL Multithreading beim Datenbankzugriff Datenbankprogrammierung 3
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
J Datentyp der Spalte beim Datenbankdesign unbekannt Datenbankprogrammierung 12
S Derby/JavaDB Probleme beim anlegen einer embedded DB Datenbankprogrammierung 13
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
N HSQLDB Problem beim Treiberladen im Jar Datenbankprogrammierung 6
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
M Datenbankverbindung zu langsam beim Insert? Datenbankprogrammierung 6
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
T Problem beim schreiben von daten Datenbankprogrammierung 4
A Derby/JavaDB Probleme beim Einbinden Datenbankprogrammierung 2
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
X Vector Verhalten beim DataModel seltsam Datenbankprogrammierung 6
D MySQL Problem beim einfügen von Double-Zahlen Datenbankprogrammierung 4
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
N Probleme beim Aufruf aus der DB Datenbankprogrammierung 7
cosmic Problem beim Update einer Oracle DB Datenbankprogrammierung 7
T Problem beim Update in die Access DB Datenbankprogrammierung 9
F SQLException fangen beim verbinden mit Hibernate Datenbankprogrammierung 17
M Problem beim Importieren einer Datenbank Datenbankprogrammierung 3
C Datenumwandlungsfehler beim Umwandeln Datenbankprogrammierung 4
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
V Probleme beim Öffnen "einiger" SuperbaseTabellen p Datenbankprogrammierung 8
G Probleme beim Methodenaufruf einer EJB Datenbankprogrammierung 10
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
V Fehlermeldung beim Insert Datenbankprogrammierung 16
G beim lesen der db alte daten bekommen? Datenbankprogrammierung 5
A Problem beim Laden des Treibers Datenbankprogrammierung 5
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Problem beim einfügen in der Datenbank Datenbankprogrammierung 4
G Problem beim Schreiben eines Dateipfads in MySQL-DB Datenbankprogrammierung 9
J OutOfMemory beim Clob Datenbankprogrammierung 5
D An Access Datenbank andocken ohne sie beim System anzumelden Datenbankprogrammierung 3
M "SQL - Apache" Problem beim laden des Applets Datenbankprogrammierung 4
J Fehlermeldung beim ausführeren dieses Befehles Datenbankprogrammierung 5
G Fehler beim Verbinden Datenbankprogrammierung 4
D Problem beim Zugriff auf eine Oracle-DB Datenbankprogrammierung 23
A Datenbankzugriff per Applet - Problem beim Treiber laden Datenbankprogrammierung 6
E Problem beim laden des JDBC Driver bzw der Database Datenbankprogrammierung 8
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
T Probleme beim Verbindungsaufbau zum SQL 2000 Datenbankprogrammierung 2
P Wie Usernamen beim Einloggen für Combobox übernehmen?HELP Datenbankprogrammierung 2
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
K MsAccess immer beim zweiten Update java.sql.SQLException Datenbankprogrammierung 28
T Problem beim Update vom Resultset + Firebird Datenbankprogrammierung 2
R JDBC: Resultset beim Thema MEZ&MESZ Datenbankprogrammierung 12
J Fehler beim PreparedStatement Datenbankprogrammierung 2
P Fehlermeldung beim Erstellen einer neuen Tabelle Datenbankprogrammierung 2
M Problem beim erstellen der DB Datenbankprogrammierung 3
G Problem beim Zugriff SQL 2000 Datenbankprogrammierung 2
6 Hilfe beim Einstieg Datenbankprogrammierung 15
A ClassNotFoundException beim Laden des Oracle-JDBC-Treibers Datenbankprogrammierung 10
A Fehler beim Verbinden zur Oracle-DB Datenbankprogrammierung 6
G Rundungsfehler beim Lesen von Fliesskommazahlen... Datenbankprogrammierung 2
K Problem beim Einlesen von Werten aus einem Textfeld Datenbankprogrammierung 11
V Exception beim Speichern von eingegebenen Daten in Tabelle Datenbankprogrammierung 2
W Fehlermeldung beim Ändern einer jdbTable Datenbankprogrammierung 5
G Fehlermeldung beim Zugriff auf SQL-Server-DB Datenbankprogrammierung 3
E Problem beim Datenbank-Design (relational) Datenbankprogrammierung 10

Ähnliche Java Themen


Oben