externer Zugriff auf MYSQL-DB ücer C-Api
-
- Posts: 25
- Joined: 2003-02-26 16:02
externer Zugriff auf MYSQL-DB ücer C-Api
Hallo Leute,
habe ein kleines Problem. Ich habe ein kleines Delphi-Tool geproggt, mit dem ich auf eine MYSQL-Datenbank zugreifen kann (C-API) - funktioniert lokal auch alles super. Jetzt wollte ich meine DB bei Puretec (Root-Server L) ansprechen und lese, dass ein externer Zugriff nicht vorgesehen ist. Im Confixx kann ich allerdings extern zulassen einstellen - Was stimmt denn jetzt ? - ausserdem weiss ich garnicht, wie mein DB-Server heisst - das sollte ich ja eigentlich über das Konfigurationsmenü->Verwaltung->Zugangsdaten rausbekommen - leider existiert bei mir der Einrag Zugangsdaten nicht (Nur Domains, Mai, Performance) - ist das normal ??
Wenn ein externer Zugriff nicht möglich ist - kann ich auch irgendwie ausserhalb der Browserumgebung mit den PHP-Skripten kommunizieren ? Es geht nur darum eine kleine Passwortabfrage aus der Datenbank zu erhalten - allerdings aus einer EXE heraus.
Soweit - Vielen Dank im vorraus Gruss Niels
habe ein kleines Problem. Ich habe ein kleines Delphi-Tool geproggt, mit dem ich auf eine MYSQL-Datenbank zugreifen kann (C-API) - funktioniert lokal auch alles super. Jetzt wollte ich meine DB bei Puretec (Root-Server L) ansprechen und lese, dass ein externer Zugriff nicht vorgesehen ist. Im Confixx kann ich allerdings extern zulassen einstellen - Was stimmt denn jetzt ? - ausserdem weiss ich garnicht, wie mein DB-Server heisst - das sollte ich ja eigentlich über das Konfigurationsmenü->Verwaltung->Zugangsdaten rausbekommen - leider existiert bei mir der Einrag Zugangsdaten nicht (Nur Domains, Mai, Performance) - ist das normal ??
Wenn ein externer Zugriff nicht möglich ist - kann ich auch irgendwie ausserhalb der Browserumgebung mit den PHP-Skripten kommunizieren ? Es geht nur darum eine kleine Passwortabfrage aus der Datenbank zu erhalten - allerdings aus einer EXE heraus.
Soweit - Vielen Dank im vorraus Gruss Niels
Re: externer Zugriff auf MYSQL-DB ücer C-Api
Letzteres. Ist dein Server, da kannst du machen was du lustig bist. Sei es über Confixx oder gleich über die passenden Einträge in MySQL.nordisch25 wrote:Im Confixx kann ich allerdings extern zulassen einstellen - Was stimmt denn jetzt ?
Benutz die Base-IP deines Servers.- ausserdem weiss ich garnicht, wie mein DB-Server heisst
Grundsätzlich ist das Ã?ffnen des Datenbankports für externe Zugriffe ein potenzielles Sicherheitsrisiko. Darüber sollte man sich im Vornherein klar sein. Das kann man in Kauf nehmen, oder sich anderweitig behelfen. Mittels RPC, eigenem Server, SOAP, .... Inwieweit die dann wieder ein potenzielles Sicherheitsrisiko sind, liegt nciht zueltzt an den Fähigkeiten des Programmierers ;)Wenn ein externer Zugriff nicht möglich ist - kann ich auch irgendwie ausserhalb der Browserumgebung mit den PHP-Skripten kommunizieren ? Es geht nur darum eine kleine Passwortabfrage aus der Datenbank zu erhalten - allerdings aus einer EXE heraus.
-
- Posts: 553
- Joined: 2002-10-05 16:39
- Location: D'dorf
- Contact:
Re: externer Zugriff auf MYSQL-DB ücer C-Api
Wir reden doch von einem Root-Server, oder? Natürlich kannst du da den externen Zugriff erlauben. Entweder über Confixx oder direkt in der my.cnf mit Auskommentieren von "skip-networking". Ein offener MySQL-Port kann aber schnell zur großen Sicherheitslücke werden, deswegen würde ich das für ein "kleines Tool" nicht empfehlen.
Dein DB-Server ist gleich deinem Root-Server, wie du eigentlich wissen solltest, wenn du einen Root-Server administrierst. :roll:
Du kannst auch ohne einen Browser mit dem Webserver kommunizieren. Probier das ruhig mal über Telnet aus. Die Antworten vom Server kannst du genauso auch in einem eigenen Programm parsen und weiterverarbeiten.
Dein DB-Server ist gleich deinem Root-Server, wie du eigentlich wissen solltest, wenn du einen Root-Server administrierst. :roll:
Du kannst auch ohne einen Browser mit dem Webserver kommunizieren. Probier das ruhig mal über Telnet aus. Die Antworten vom Server kannst du genauso auch in einem eigenen Programm parsen und weiterverarbeiten.
-
- Posts: 25
- Joined: 2003-02-26 16:02
funzt leider nicht
Eigentlich sollte ich solche Fragen wahrscheinlich wirklich nicht stellen - eigentlich bin ich aber auch Programmierer und habe die Aufgabe mit dem Server für "nebenbei" angetraut bekommen
Ich habe es jetzt mit der Domain und der IP direkt versucht und erhalte weiterhin die Fehlermeldung : DIE Verbindung konnte nicht hergestellt werden Ursache : Cant connect to MYSQl-Server on xxxxxxxx (10061)
Der Nutzer ist im Confixx freigegeben - die my.cnf habe ich auch angepasst un die DB neugestartet. ich dachte aber, weil die DB auf einem anderen Server läuft, ist der Servername auch dbxxxxx.puretec.... ??
Kann ich direkt über meine IP gehen ?? Nochmal danke Gruss Niels
Ich habe es jetzt mit der Domain und der IP direkt versucht und erhalte weiterhin die Fehlermeldung : DIE Verbindung konnte nicht hergestellt werden Ursache : Cant connect to MYSQl-Server on xxxxxxxx (10061)
Der Nutzer ist im Confixx freigegeben - die my.cnf habe ich auch angepasst un die DB neugestartet. ich dachte aber, weil die DB auf einem anderen Server läuft, ist der Servername auch dbxxxxx.puretec.... ??
Kann ich direkt über meine IP gehen ?? Nochmal danke Gruss Niels
-
- Posts: 25
- Joined: 2003-02-26 16:02
Neues Problem
Es wird wahscheinlich daran leigen, dass die Seite über die IP garnicht mehr zu erreichen ist (im Webbrowser) -- Gebe ich den Domainnamen direkt ein geht es - bin mir allerdings sicher, dass es sich um die richtige IP handelt, da diese früher auch ging (oder ändert Puretec die IPs ??)
Leider kann ich meine neue IO nicht (falls es eine giebt) nicht herrausfinden, weil der Eintrag Zugangsdaten im Konfigurationsmenü nicht mehr existiert.
Leider kann ich meine neue IO nicht (falls es eine giebt) nicht herrausfinden, weil der Eintrag Zugangsdaten im Konfigurationsmenü nicht mehr existiert.
-
- Posts: 553
- Joined: 2002-10-05 16:39
- Location: D'dorf
- Contact:
Re: externer Zugriff auf MYSQL-DB ücer C-Api
Zugriff auf den Apachen per IP ist so eine Sache, da der Apache dann den ersten VHost in der Konfiguration verwendet. Zugriff auf MySQL bekommst du über die IP auf jeden Fall, wenn der Port offen ist. Ã?berprüf das mal mit nmap bzw. netstat. Wenn du deine IP tatsächlich nicht mehr kennst, ping die Domain mal an, dann wird dir die Adresse angezeigt. Das allein reicht aber auch noch nicht, du brauchst auch einen User, der remote zugreifen darf sonst verweigert MySQL die Verbindung.
Nach dem, was du bis jetzt gepostet hast, würde ich dir aber schwerstens davon abraten, den MySQL-Port für eine Spielerei zu öffnen. :?
Nach dem, was du bis jetzt gepostet hast, würde ich dir aber schwerstens davon abraten, den MySQL-Port für eine Spielerei zu öffnen. :?
-
- Posts: 25
- Joined: 2003-02-26 16:02
Soweit Danke
Vor allem für eure Ehrlichkeit
- Was wäre denn eine Alternative ?
Es geht wie gesagt darum ein Anwendungsprogramm über das Internet in der DB auf dem Server nachsehen zu lassen. ob die Kombination User / PW stimmt. Ich habe im Mom nur leider keine Idee wie ich anders als über C-Api / ODBC / ... auf die DB zugreifen soll - und dazu muss der Port ja auf sein. Es wäre natürlich sicher, wenn ich auf dem Server ein Skript ansprechen könnte, dass mir nur die Rückmeldung ja bzw. nein giebt. Aber wie kann ich eine EXE (in welcher Sprache geproggt ist bei diesem kleinen Ding eigentlich egal, weil dann eh erst das Hauptprogramm aufgerufen wird) mit diesem Skript kommunizieren lassen ? Mir würde ein Link reichen - die Idee direkt über den Apache zu gehen ist mir neu, aber wenns geht super - Danke nochmal Gruss Niels
Es geht wie gesagt darum ein Anwendungsprogramm über das Internet in der DB auf dem Server nachsehen zu lassen. ob die Kombination User / PW stimmt. Ich habe im Mom nur leider keine Idee wie ich anders als über C-Api / ODBC / ... auf die DB zugreifen soll - und dazu muss der Port ja auf sein. Es wäre natürlich sicher, wenn ich auf dem Server ein Skript ansprechen könnte, dass mir nur die Rückmeldung ja bzw. nein giebt. Aber wie kann ich eine EXE (in welcher Sprache geproggt ist bei diesem kleinen Ding eigentlich egal, weil dann eh erst das Hauptprogramm aufgerufen wird) mit diesem Skript kommunizieren lassen ? Mir würde ein Link reichen - die Idee direkt über den Apache zu gehen ist mir neu, aber wenns geht super - Danke nochmal Gruss Niels
Re: Soweit Danke
Du schreibst dir ein Skript auf dem Server (in PHP oder Perl oder Python), das über die URL den zu prüfenden Benutzernamen und dessen Passwort entgegennimmt und je nachdem 1 oder 0 ausgibt. Das Ganze würde ich zusätzlich nochmal mit Benutzer/Passwort sichern, damit nicht jeder aus dem Web das Ding aufrufen kann.nordisch25 wrote:Vor allem für eure Ehrlichkeit- Was wäre denn eine Alternative ?
Aus deinem Programm heraus ist das ein Zugriff auf eine Seite über Port 80. Du simulierst quasi eine Anfrageüber nen Browser, übergibst die Argumente und schaust was zurück kommt.
Das wäre ne Notlösung, die mir so einfällt, wenn man nicht die Möglichkeit hat mit RMI/RPC/SOAP zu arbeiten oder ein eigenes Serverproggi (einen Daemon) zu schreiben.
-
- Posts: 25
- Joined: 2003-02-26 16:02
Das probier ich glatt
Danke für die Tips - hatte auch erst vor ein eigenes Prog auf dem Server zu schreiben - allerdings müsste dafür ja auch wieder ein Port geöffnet werden - wobei sich dann die Frage stellt, ob mein eigenes Prog oder MYSQL sicherer ist...
Die Variante über den Browser scheint mir trotzdem die sicherste Lösung zu sein - ich probiers aus - soweit danke ich euch für eure Hilfe
Die Variante über den Browser scheint mir trotzdem die sicherste Lösung zu sein - ich probiers aus - soweit danke ich euch für eure Hilfe
Re: Das probier ich glatt
Das eigene Prog, wenn man ein paar Sachen beachtet:nordisch25 wrote:Danke für die Tips - hatte auch erst vor ein eigenes Prog auf dem Server zu schreiben - allerdings müsste dafür ja auch wieder ein Port geöffnet werden - wobei sich dann die Frage stellt, ob mein eigenes Prog oder MYSQL sicherer ist...
Für das Skript einen eigenen User in der Datenbank anlegen, der lediglich Leserechte auf die Tabellen besitzt, die er lesen muss und keine Schreibrechte auf irgendwas.
Den MySQL-Port freizuschalten hat den Nachteil, dass wenn mal wieder einer nen Bug findet, er dir schneller in die Datenbank kommt, als zu gucken kannst. Wenn der Port aber nicht offen ist dann müsste er den Server anderweitig hacken.
Wenn er dein Skript knackt, ist der Schaden darauf begrenzt, dass er keine Daten löschen und nur wenige Daten lesen kann.