externer Zugriff auf MYSQL-DB ücer C-Api

MySQL, PostgreSQL, SQLite
nordisch25
Posts: 25
Joined: 2003-02-26 16:02

externer Zugriff auf MYSQL-DB ücer C-Api

Post by nordisch25 » 2003-12-06 12:29

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

alarenal
Posts: 28
Joined: 2003-12-05 07:54
Location: Iserlohn

Re: externer Zugriff auf MYSQL-DB ücer C-Api

Post by alarenal » 2003-12-06 12:47

nordisch25 wrote:Im Confixx kann ich allerdings extern zulassen einstellen - Was stimmt denn jetzt ?
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.
- ausserdem weiss ich garnicht, wie mein DB-Server heisst
Benutz die Base-IP deines Servers.
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.
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 ;)

darkspirit
Posts: 553
Joined: 2002-10-05 16:39
Location: D'dorf

Re: externer Zugriff auf MYSQL-DB ücer C-Api

Post by darkspirit » 2003-12-06 12:48

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.

nordisch25
Posts: 25
Joined: 2003-02-26 16:02

funzt leider nicht

Post by nordisch25 » 2003-12-06 13:02

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 :wink:

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

nordisch25
Posts: 25
Joined: 2003-02-26 16:02

Neues Problem

Post by nordisch25 » 2003-12-06 13:06

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.

darkspirit
Posts: 553
Joined: 2002-10-05 16:39
Location: D'dorf

Re: externer Zugriff auf MYSQL-DB ücer C-Api

Post by darkspirit » 2003-12-06 13:40

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. :?

nordisch25
Posts: 25
Joined: 2003-02-26 16:02

Soweit Danke

Post by nordisch25 » 2003-12-06 13:55

Vor allem für eure Ehrlichkeit :wink: - 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

alarenal
Posts: 28
Joined: 2003-12-05 07:54
Location: Iserlohn

Re: Soweit Danke

Post by alarenal » 2003-12-06 15:01

nordisch25 wrote:Vor allem für eure Ehrlichkeit :wink: - Was wäre denn eine Alternative ?
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.

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.

nordisch25
Posts: 25
Joined: 2003-02-26 16:02

Das probier ich glatt

Post by nordisch25 » 2003-12-06 15:09

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

alarenal
Posts: 28
Joined: 2003-12-05 07:54
Location: Iserlohn

Re: Das probier ich glatt

Post by alarenal » 2003-12-06 15:30

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...
Das eigene Prog, wenn man ein paar Sachen beachtet:
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.

nordisch25
Posts: 25
Joined: 2003-02-26 16:02

Leuchtet ein

Post by nordisch25 » 2003-12-06 16:54

Dann mach ich es so - danke