Sponsor-Board.de

Normale Version: 2 MySQL (Ext / Int) Server - Sinn?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

folgendes, ich wollte aktuell eigentlich keine externe Datenbank mehr anbieten um die lokalen Datenbanken zu schützen, nun kam mir jedoch der Einfall das man auch 2 MySQL Server anlegen könnte. Der eine davon ist dann Explizit nur Intern erreichbar und der andere Int. und Ext.

Was ich mich nun letztlich frage, macht es wirklich Sinn diese Physikalisch zu trennen oder ehr nicht!? Wie denkt ihr darüber?

Meine Meinung ist das es Sinn macht, da man so explizit die Datenbanken, auf einen Server auslagert der ja ehr gefährdet ist als der Interne MySQL Server.

Ich bin mal auf eure Meinung gespannt. Danke!
Sehr kreative Idee! Like! Nur musst du dann halt mit unwesendlich mer Ressourcenverbrauch rechnen und dem einen Server eine andere IP oder einen anderen Port zuweisen.
Und Sinn macht es sicherlich. Denn obwohl die beiden Server auf dem gleichen Host laufen, sind es seperate Systeme.

Mich würde mal interessieren, wie man das überhaupt einstellen kann, ob die DB nur intern erreichbar ist oder auch von außen.

MfG
CarpetSoftware

CarpetSoftware schrieb:
Nur musst du dann halt mit unwesendlich mer Ressourcenverbrauch rechnen und dem einen Server eine andere IP oder einen anderen Port zuweisen.

Das dadurch der doppelte Grundverbrauch entsteht, ist klar, was aber bei 32GB RAM nicht so Stark ins Gewicht fallen sollte ^^

Ich würde mich für einen weiteren Port entscheiden, was dann den Vorteil hat das man zum einen Kosten einsparen kann und den Server auch Problemlos in Plesk via localhost einbinden kann statt über die IP. Wobei natürlich auch eine eigene Adresse like db-extern.name.tld Sinn macht.

CarpetSoftware schrieb:
Mich würde mal interessieren, wie man das überhaupt einstellen kann, ob die DB nur intern erreichbar ist oder auch von außen.


Du kannst zum einen dem DB Server via my.cnf sagen das er Ext und Intern lauschen darf. Bei einem MySQL Server der sowieso auf localhost gebindet ist, hast du gar keine Möglichkeit nach außen zu gelangen.

Wenn der Server aber nun laut Config auch nach Extern verfügbar ist, kannst du, wenn du einen User erstellst als Host ein %- Zeichen setzen, das sagt aus das von jedem Server verbunden werden darf, alternativ gibts eine Hosttabelle oder einen Host den du explizit angeben kannst. Diese Vorgehensweise hat den Vorteil das man dann nicht von anderen IP's drauf kommt, jedoch macht es keinen Sinn in der Zeit der Dynamischen IP Zuweisung durch die ISP.

Ob du mir dabei wohl helfen kannst, deine Idee auf meinem Server umzusetzen? Biggrin
Da ich das ganze noch nicht getestet habe und auch keinerlei Erfahrung damit wie und ob es funktioniert, nehme ich davon mal gewaltigen Abstand.

Aber ich kann dir Links geben, mit denen du es versuchen kannst:
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich]
Danke, werde mich mal daran versuchen und dir meine Erfahrungen berichten. Kann ich nicht aber einfach einen Server machen der Extern und Intern erreichbar ist?

Wo liegt da das Sicherheitsproblem und reicht es, einfach das hier zu schreiben:

my.cnf schrieb:
#bind-adress: 127.0.0.1

Prinzipiell sollte das funktionieren, ganz sicher bin ich mir da auch nicht.

Je nach MySQL Version musst du ggf. "skip-networking" auskommentieren. Ansonsten würde ich den MySQL Server aber an die WAN IP Binden.

Das Sicherheitsproblem liegt in meinen Augen darin das nun jeder den MySQL Server von außen angreifen kann. Vorher ging einfach keine Verbindung über eine externe Schnittstelle, so schon.
Naja aber selbst wenn man von außen zugreifen kann, braucht man ja User und PW um was zu machen. Und User also NORMALE User haben ei mir eh nur rechte auf die eigenen Datenbanken Tabellen zu erstellen und bearbeiten. Mehr nicht.

Wenn du mir das mit der WAN-IP erklärst, bin ich glücklich xD
Gute Idee, aber relativ nutzlos meiner Meinung nach, da man so trotzdem durch eine Schwachstelle an brisante Infos gelangen kann, wie zum Beispiel Passwörter von den MySQL Nutzern (nur ein Beispiel).

Mehr Sinn würde es machen, sich zu überlegen, wofür man wirklich externen Zugriff braucht? reicht vielleicht auch lokaler Zugriff? Dass z.B. VMs untereinander auf ihre MySQL DBs zugriefen können?

Oder muss es unbedingt extern sein? Ich persönlich kenne nur sehr wenige Anwendungsbeispiele für externe Datenbanken - falls es für Load-Balancing oder Backups benötigt wird kann man das ganze noch zusätzlich mit iptables oder ähnlichem filtern, sodass nur ebstimmte IPs überhaupt externen Zugriff bekommen. gleiches gilt z.b. für Gameserver, die auf ein zentrales MySQL System zugreifen müssen...

Es ist immer besser, erst den Zugriff auf eine so kleine Gruppe an Nutzern/Diensten zu beschränken (per Firewall z.B.) und DANN noch zusätzlich auszulagern, sodass das Risiko wirklich minimiert wird.

Möglich sit es aber (eigenerfahrung) zwei MySQL Server laufen zu haben.

CarpetSoftware schrieb:
Wenn du mir das mit der WAN-IP erklärst, bin ich glücklich xD


LAN = Local Area Network
WAN = Wide Area Network - auch als "das Internet" bezeichnet Wink

@zhizhi778

zhizhi778 schrieb:
trotzdem durch eine Schwachstelle an brisante Infos gelangen kann, wie zum Beispiel Passwörter von den MySQL Nutzern

Selbst wenn, wären aber nicht alle Kunden gefährdet sondern nur die, die eine Externe Datenbank eingerichtet haben. Normal sollten dann entsprechend KEINE Websites darin ihre Daten speichern.

zhizhi778 schrieb:
Mehr Sinn würde es machen, sich zu überlegen, wofür man wirklich externen Zugriff braucht? reicht vielleicht auch lokaler Zugriff? Dass z.B. VMs untereinander auf ihre MySQL DBs zugriefen können?

Der Kunde ist König, wenn ich so was anbieten kann und eine entsprechende "Vergütung" dafür bekomme, ist mir der Grund doch egal Wink

zhizhi778 schrieb:
Gameserver, die auf ein zentrales MySQL System zugreifen müssen

Genau das ist z.B. ein Punkt, ich finde die Daten von einem GameServer sind weniger relevant als die von einer Website, daher wäre das schonmal ein Punkt für mich.

zhizhi778 schrieb:
Es ist immer besser, erst den Zugriff auf eine so kleine Gruppe an Nutzern/Diensten zu beschränken (per Firewall z.B.) und DANN noch zusätzlich auszulagern, sodass das Risiko wirklich minimiert wird.

Das würde ich doch tun mit 2 MySQL Servern. Ich würde den Zugriff auf den eigentlichen MySQL Host vollständig unterbinden, die Kunden können aber dennoch externe Datenbanken nutzen. Und die localhost Kunden stellen keine Gefahr für die external dar und umgekehrt Wink

Seiten: 1 2
Referenz-URLs