08.04.2012, 00:05
Naja, gehen wir mal von dem Szenario aus, dass ein zentraler MySQL für Gameserver bereitstehen soll, soweit so gut. Die Gameserver würdest Du doch selbst vergeben dann alright? Dann weißt Du folglich auch die IPs von denen und kannst sie in die Firewall eintragen und somit den externen MySQL Zugriff explizit wirklich auf deine eigenen (bekannten) Nutzer beschränken. Angriffe werden dann immerhin schon eine Stufe vor dem MySQL Server abgefangen von der Firewall. Oder ist es wirklich notwendig, jeder x beliebigen IP auf der Welt den zugriff zu erlauben?
Das war nur mein Vorschlag ;-) Im Grunde baut es einfach nur auf deiner Idee auf, da hast Du recht!
Der Unterschied ist halt, so müsste keiner der beiden MySQL Server extern erreichbar sein, sondern anhand der eingehenden IPs (von den Gameservern) kann die FIrewall mit entsprechenden Regeln dann NAT betreiben und somit zum Beispiel
Zugriff von IP 87.65.32.1 auf Port 3306 des Hosts: 123.45.67.8
umleiten per NAT auf: 127.0.0.1:3307
So wäre es von außen auch noch unsichtbar, dass zwei verschiedene MySQL Server laufen -> Der Kunde muss keinen anderen Port angeben und trotzdem laufen zwei ausschließlich intern erreichbare MySQL Server parallel!
//EDIT: Sollte ein Angreifer also herausfinden, dass es überhaupt einen MySQL extern gibt auf Port 3306 und dann noch an der Firewall vorbeikommt so stößt er auf ein nicht-antwortenden MySQL, da dieser in Wirklichkeit nur auf Localhost lauscht.
Verstehst Du in etwa, was ich meine?
Das war nur mein Vorschlag ;-) Im Grunde baut es einfach nur auf deiner Idee auf, da hast Du recht!
Der Unterschied ist halt, so müsste keiner der beiden MySQL Server extern erreichbar sein, sondern anhand der eingehenden IPs (von den Gameservern) kann die FIrewall mit entsprechenden Regeln dann NAT betreiben und somit zum Beispiel
Zugriff von IP 87.65.32.1 auf Port 3306 des Hosts: 123.45.67.8
umleiten per NAT auf: 127.0.0.1:3307
So wäre es von außen auch noch unsichtbar, dass zwei verschiedene MySQL Server laufen -> Der Kunde muss keinen anderen Port angeben und trotzdem laufen zwei ausschließlich intern erreichbare MySQL Server parallel!
//EDIT: Sollte ein Angreifer also herausfinden, dass es überhaupt einen MySQL extern gibt auf Port 3306 und dann noch an der Firewall vorbeikommt so stößt er auf ein nicht-antwortenden MySQL, da dieser in Wirklichkeit nur auf Localhost lauscht.
Verstehst Du in etwa, was ich meine?
