Max: Verbinung zu MySQL-Server über zwei bis drei Ecken!?

Hallo ;)

Da man ja immer wieder von eurem Forum hört und es für die rasche Problembehebung bekannt ist, dachte ich mir: "wendest du dich auch mal hier her" *g*.
Ich will hier gar nicht lange um den heißen Brei reden, sondern versuch gleich mal zur Sache zu kommen:
Angenommen man hat einen MySQL Server, der hängt in einem lokalen Netzwerk - und ein Rechner dieses lokalen Netzwerks, ist ein Internetserver (der auch über einige PHP-Anwendungen auf den MySQL Server zugreift).
Besteht nun, rein theoretisch, die Möglichkeit dass sich User von aussen (dem Internet) auf die MySQL Datenbank verbinden (unter Berücksichtigung der Tatsache, dass sie die Zugangsdaten für die Datenbank haben)?

Auf eine Antwort freut sich
Max

  1. Hallo Max,

    Besteht nun, rein theoretisch, die Möglichkeit dass sich User von aussen (dem Internet) auf die MySQL Datenbank verbinden (unter Berücksichtigung der Tatsache, dass sie die Zugangsdaten für die Datenbank haben)?

    Wenn der DB-Server unter einem oeffentlichen Hostnamen (bzw. IP) laeuft, dann durchaus. Wenn dagegen localhost verwendet wird, dann nur ueber die auf dem Webserver laufenden Scripts. Kann aber jemand solche hochladen (z. B. ueber PHPNuke, dann koennte auch darueber auf die DBs zugegriffen werden).

    MfG, Thomas

  2. Hi,

    Besteht nun, rein theoretisch, die Möglichkeit dass sich User von aussen (dem Internet) auf die MySQL Datenbank verbinden (unter Berücksichtigung der Tatsache, dass sie die Zugangsdaten für die Datenbank haben)?

    Wenn dieser Rechner von aussen erreichbar ist, brauchst du nur entsprechenden user mit den entsprechenden host rechten eintragen.

    lg
    Ludwig

  3. Hallo,

    Wie hier schon gesagt wurde, ist das abhängig davon, ob der DB-Server eine nach aussen hin sichtbare, und routebare, IP-Adresse hat.
    Wenn ja, dann ist ist der Zugriff möglich.
    Wenn nein, was übrigens besser wäre, dann gibt es immer noch Lösungsansätze.
    Zum einen könntest Du beispielsweise per Telnet auf dem Webserver einsteigen, und von diesem aus die DB administrieren.
    Oder Du installierst auf dem Webserver in einem geschützten Bereich ein Administrationstool.
    Oder, und dafür würde ich mich am ehesten entscheiden, Du ermöglichst den Zugang zum lokalen Netz über VPN. Dazu müsste am öffentlich erreichbaren Rechner ein VPN-Server installiert sein, und bei den Clients, die in das lokale Netz sollen, ein entsprechender VPN-Client. Für das VPN gibt es dann eine Route ins lokale Netz, über die Du den Server erreichen kannst.

    Grüße
      Klaus

    1. Hallo!
      Eine Frage:

      Wie hier schon gesagt wurde, ist das abhängig davon, ob der DB-Server eine nach aussen hin sichtbare, und routebare, IP-Adresse hat.

      Wie weist man denn einem MySQL DB Server eine feste IP zu??? eine Nach außen nicht sichtbare wäre dann wie normal 127.0.0.1?
      Wo weise ich die IP denn zu????

      Gruß
      Andreas

      1. Hallo,

        Eine Frage:

        _Eine_? ich habe 3 gezählt, und das noch dazu mit acht Rufzeichen;-)

        Wie weist man denn einem MySQL DB Server eine feste IP zu???

        Dem Datenbankserver gar nicht, aber dem Rechner auf dem er läuft.

        eine Nach außen nicht sichtbare wäre dann wie normal 127.0.0.1?

        Tja, so ähnlich. die 127.0.0.1 ist so lokal, daß nur der aktuelle Rechner darauf zugreifen kann. Bzw. hat jeder Rechner, der über das IP-Protokoll verfügt diese Adresse, eigentlich zu Testzwecken.

        Unter lokalen Adressen versteht man IP-Adressen, welche nur im lokalen Netzwerk (LAN) erreichbar sind. Von Rechnern außerhalb des lokalen Netzes aus, also jene die sich so im Internet herumtümmeln, sind diese Rechner nicht direkt erreichbar.

        Wo weise ich die IP denn zu????

        Die wird bei der Konfiguration der Netzwerkadapter in der einen oder anderen Form festgelegt.

        Vielleicht solltest Du Dir mal die Grundlagen über TCP/IP ansehen, denn eine wirklich erschöpfende Antwort würde IMHO den Rahmen dieses Forums sprengen ( gibts eigentlich noch die ominöse "12KByte plus minus ein paar zerquetschte"-Grenze noch). Leider habe ich dazu keinen passenden Link, da ich mir in der Vergangenheit doch das eine oder andere Buch zum Thema gekauft habe.

        Grüße
          Klaus

        1. Hoi,

          eine Nach außen nicht sichtbare wäre dann wie normal 127.0.0.1?

          Tja, so ähnlich. die 127.0.0.1 ist so lokal, daß nur der aktuelle Rechner darauf zugreifen kann.
          Bzw. hat jeder Rechner, der über das IP-Protokoll verfügt diese Adresse, eigentlich zu
          Testzwecken.

          Nicht ganz ;-)
          Das ist das Loopback-Netzwerk, ein Mittel zur IPC (Inter Process Communication), welches
          sogar recht haeufig angewendet wird.

          Unter lokalen Adressen versteht man IP-Adressen, welche nur im lokalen Netzwerk (LAN)
          erreichbar sind. Von Rechnern außerhalb des lokalen Netzes aus, also jene die sich so im
          Internet herumtümmeln, sind diese Rechner nicht direkt erreichbar.

          Nee. Lokale IP-Adressen sind IP-Adressen, die dem aktuellen Rechner zugeordnet sind.

          Vielleicht solltest Du Dir mal die Grundlagen über TCP/IP ansehen, denn eine wirklich
          erschöpfende Antwort würde IMHO den Rahmen dieses Forums sprengen ( gibts eigentlich
          noch die ominöse "12KByte plus minus ein paar zerquetschte"-Grenze noch).

          Ja. Aber AFAIK jetzt auf exakt 12kb beschraenkt.

          Leider habe ich dazu keinen passenden Link, da ich mir in der Vergangenheit doch das eine
          oder andere Buch zum Thema gekauft habe.

          TCP/IP Illustrated 1, 2 und 3
          Programmieren von UNIX-Netzwerken Teil 1

          kann ich bisher uneingeschraenkt empfehlen. Teil 2 habe ich leider noch nicht in den Haenden
          gehabt; gibts das ueberhaupt? ;-)

          Gruesse,
           CK

  4. Hoi,

    Ich will hier gar nicht lange um den heißen Brei reden, sondern versuch gleich mal zur Sache
    zu kommen:
    Angenommen man hat einen MySQL Server, der hängt in einem lokalen Netzwerk - und ein
    Rechner dieses lokalen Netzwerks, ist ein Internetserver (der auch über einige
    PHP-Anwendungen auf den MySQL Server zugreift).
    Besteht nun, rein theoretisch, die Möglichkeit dass sich User von aussen (dem Internet) auf die
    MySQL Datenbank verbinden (unter Berücksichtigung der Tatsache, dass sie die Zugangsdaten
    für die Datenbank haben)?

    Ja, die besteht. Entsprechende IP-Filterregeln stehen seit dem 2.2er Kernel AFAIK zur Verfuegung,
    und FreeBSD kann das auch. Ausserdem gibt es den rinetd -- ein relativ einfacher Portforwarder.

    Aehnliches habe ich bei uns in der Firma fuer einen Proxy gemacht.

    Gruesse,
     CK