ACME - Unternehmensgruppe: MYSQL - Datenbanken von extern connecten - USER verwaltung

Hallo,

ich möchte gerne mit mehreren Rechnern auf meine MYSQL-Datenbank zugreifen (lesen/ändern/löschen).
Hierfür gibt es ja die USER Tabelle bei MYSQL. Das problem ist aber das die Rechner jeweils eine Dynamische IP haben, und ich somit ja keine IP einem User zuweisen kann.

Es geht dabei um drei Rechner aus den IP Netzten von Arcor(1&1), Alice und Congstar.

Welche Lösungswege gibt es? Für jeden Rechner einen USER anlegen ist klar, aber dann wie lege ich die HOST´s fest?

  1. Moin!

    ich möchte gerne mit mehreren Rechnern auf meine MYSQL-Datenbank zugreifen (lesen/ändern/löschen).
    Hierfür gibt es ja die USER Tabelle bei MYSQL. Das problem ist aber das die Rechner jeweils eine Dynamische IP haben, und ich somit ja keine IP einem User zuweisen kann.

    Es geht dabei um drei Rechner aus den IP Netzten von Arcor(1&1), Alice und Congstar.

    Welche Lösungswege gibt es? Für jeden Rechner einen USER anlegen ist klar, aber dann wie lege ich die HOST´s fest?

    Mit 'ner Wildcard im Hostanteil?

    - Sven Rautenberg

    1. Mit 'ner Wildcard im Hostanteil?

      #Wildcard ist klar "%". Aber wie sollt das mit der Anzahl von IP´s Kolidieren:
      bei Arcor sind es über 16.000 IPs, und bei Alice/Congstar jeweils über 50.000 ?

      Danke ACME

      1. Moin!

        Mit 'ner Wildcard im Hostanteil?
        #Wildcard ist klar "%". Aber wie sollt das mit der Anzahl von IP´s Kolidieren:
        bei Arcor sind es über 16.000 IPs, und bei Alice/Congstar jeweils über 50.000 ?

        Wo du den Platzhalter ansetzt, ist ja variabel. Kannst ja auch das gesamte Internet freischalten, dann hast du nur genau einen Eintrag für den User, und er authentifiziert sich mit Username und Passwort - so wie es jede andere Webapplikation auch erlaubt.

        Was natürlich nicht sein darf: Unverschlüsselte Datenübertragung. Wenn man sich die Anleitung zu SSL für MySQL ansieht, dann sieht es tatsächlich so aus, als ob man mit SSH einen Tunnel zum MySQL-Server erstellt, Portforwarding einrichtet und dann seine DB-Tools auf den lokalen Port connecten lässt. Das ist also vollkommen das VPN-Konzept von dedlfix, nur "mit einfacheren Mitteln" (ein SSH-Tunnel ist ziemlich unkompliziert).

        - Sven Rautenberg

  2. Tach!

    Welche Lösungswege gibt es? Für jeden Rechner einen USER anlegen ist klar, aber dann wie lege ich die HOST´s fest?

    Den Host unbeachtet lassen. Alternativ wäre, die Adressbereiche der Provider herauszufinden. Das macht aber nur Arbeit, weil du pro Adressbereich einen User-Eintrag benötigst und lässt viele Schlupflöcher offen. Dann kannst du es auch lassen.

    Ich denke, es ist besser, die Zugriffe auf localhost zu beschränken und mit einem SSH-Tunnel zu arbeiten. Oder aber, du baust ein richtiges VPN, was aber auch andere Nachteile haben kann. Zum Beispiel kann es die Konnektivität der Anwender einschränken, so dass sie nur noch über dieses VPN kommunizieren können. (So ist es zumindest häufig anzutreffen: wenn das VPN aufgebaut ist, dann ist der Rest nicht erreichbar, um nicht über diesen Weg eine Lücke im Netz zu haben.)

    dedlfix.

    1. Moin

      Den Host unbeachtet lassen.

      #Wie du schon schreibst keine gute Alternative.

      Alternativ wäre, die Adressbereiche der Provider herauszufinden. Das macht aber nur Arbeit, weil du pro Adressbereich einen User-Eintrag benötigst und lässt viele Schlupflöcher offen. Dann kannst du es auch lassen.

      #Ich habe hier mal massenhafft Reconnectet, bei Arcor sind es über 16.000 IPs, und bei Alice/Congstar jeweils über 50.000 das spregt wohl den Aufwand

      Ich denke, es ist besser, die Zugriffe auf localhost zu beschränken und mit einem SSH-Tunnel zu arbeiten. Oder aber, du baust ein richtiges VPN, was aber auch andere Nachteile haben kann. Zum Beispiel kann es die Konnektivität der Anwender einschränken, so dass sie nur noch über dieses VPN kommunizieren können. (So ist es zumindest häufig anzutreffen: wenn das VPN aufgebaut ist, dann ist der Rest nicht erreichbar, um nicht über diesen Weg eine Lücke im Netz zu haben.)

      #Leider ist das nicht gewünscht. Ich hatte schon einmal überlegt eine art API über ein PHP Script zu machen, aber das erhöht die Auslastung des Servers bei vielen Zugriffen, und die sind wohl geplant.

      Danke
      ACME

      1. Tach!

        #Ich habe hier mal massenhafft Reconnectet, bei Arcor sind es über 16.000 IPs, und bei Alice/Congstar jeweils über 50.000 das spregt wohl den Aufwand

        Was meinst du mit _Re_connect? Und jede Adresse einzeln sollst du nicht eintragen, sondern ganze Bereiche mit Jokerzeichen oder Netzmaske. Die Größe der Bereiche bekommst du teilweise über die RIPE-Datenbank abgefragt. Allerdings müsstest du dazu mindestens je eine Adresse aus den Bereichen kennen. Allein nach dem Namen des Providers zu suchen, bekommst du meines Wissens nicht alle seine Bereiche. Zumal manchmal auch der Namen nicht konsistent gleich geschrieben sind.

        Ich denke, es ist besser, die Zugriffe auf localhost zu beschränken und mit einem SSH-Tunnel zu arbeiten. Oder aber, du baust ein richtiges VPN, » #Leider ist das nicht gewünscht.

        Na, wenn Sicherheit nicht gewünscht ist, dann lass doch den Host-Namen leer (sprich: %).

        Ich hatte schon einmal überlegt eine art API über ein PHP Script zu machen, aber das erhöht die Auslastung des Servers bei vielen Zugriffen, und die sind wohl geplant.

        Auch dann hast du nur die beiden Kriterien Nutzernamen und Passwort. Das kommt auf's selbe raus wie der %-Host.

        dedlfix.

  3. hi,

    je nach dem was für dinge du tun möchtest, würde ich dir eine Schnittstelle empfehlen. Ich habe mir vor kurzem wieder so etwas gebaut um einen Login auf verschiedenen Servern zu realisieren.

    Ich nutze dabei eine XML-Schnittstelle. Per PHP frage ich so beim zentralen Server an und sende Authentifizierungsdaten. Das ganze sogar noch mit htaccess geschützt. Da die Abfragen alle klar sind, hab ich dann mit bestimmten GET oder POST-Variablen die Entscheidung getroffen was ich tun möchte. Mehr als die von mir eingetragenen Queries sind somit nicht möglich bzw. nur in dem definierten Umfang.

    Ausgabe erfolgt dann eben per XML. Passwörter sende ich z.b. aber nie, sondern biete nur einen Passwortcheck an.

    Eventuell reicht dir das ja auch schon aus. Damit hast du eigentlich relativ viel Sicherheit. Grade auch wenn du nicht immer selber an den anderen Rechnern bist, kann so keiner deine Datenbank einfach mal löschen.

    Gruß Niklas

    --
    Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.