Wie lässt sich einen MySQL Datenbank öffentlich machen?
Wie kann ich eine MySQL Datenbank so einstellen, das ich mit meinem 2. Rootserver darauf auf die Datenbank des 1. Rootservers zugreifen kann.
-> Debian 8
-> MySQL
-> PhPmyAdmin
Vielen Dank im vorraus.
3 Antworten
/etc/mysql/my.cnf oder wo auch immer deine mysql config liegt.. da die ip fürs binding anpassen (die öffentliche angeben). Anschliessend den mysql server neustarten.
Und anschliessend natürlich den betreffenden mysql benutzern ne whitelist an ip addressen erstellen, von denen zugriffe kommen dürfen. Vom wildcard '%' ohne die ' würde ich absehen bei deiner fragestellung. Das kannst du mit deinem mysql client bearbeiten. Ob per konsole, phpmyadmin, navicat oder sonst was ist egal. Anschliessend noch ein 'FLUSH PRIVILEGES;'
du kannst den zweiten punkt (für mysql benutzer ip whitelist einträge hinzufügen) natürlich via phpmyadmin einstellen. den ersten punkt mit dem ip binding musst du allerdings über ssh erledigen mit zb `nano` oder `vi` oder welchen editor auch immer du verwendest. falls du (s)ftp(s) verwendest wäre das auch hierrüber möglich (änderungen lokal machen und dann hochladen). falls du konkretere ratschläge brauchst kannst du ja nochmal fragen.
Da hast du vollkommen recht :D soweit ich weiss lässt sich aber fail2ban sogar auf mysql server ansetzen. Man kann ja bequem eigene regex pattern schreiben oder ggf fail2ban erweitern. So könnte man die sicherheit neben der verschlüsselung etwas steigern. Die erreichbarkeit für ein lan oder vlan einzugrenzen ist besser aber sicherlich nicht immer möglich.
Kannst du mir das vlt noch ein ticken für mich verständlicher erklären?
Kann man da auch was mit PHPmyAdmin einstellen?
Ist für mich (nicht gerade der erfahrenste) ein ticken komplex. :/
Du kannst oftmals bei deinem Verwaltungsprogramm (z.B. Plesk) beim erstellen einer Datenbank auswählen ob diese nur von der eigenen IP-Adresse oder auch von anderen IP-Adressen aus benutzt werden kann.
Grundsätzlich kann ich aber nur davon abraten Server zu betreiben wenn selbst realtiv grundlegende Dinge nicht klar sind. Es kommt immer wieder vor das Server (und seinen sie noch so unbedeutend) gekapert werden und damit Hackerangriffe gestartet werden etc. Der Betreiber des Servers (ALSO DU!) haftet erstmal für alles was mit dem Server passiert. Nicht ohne Grund gibt es Managed Server Angebote... Ich weiß die sind teurer - aber langfristig lont sich das wenn man nicht die Lust oder die Zeit hat sich wirklich in die Materie einzuarbeiten...
Einen MySQL-Benutzer für den 2ten Rootserver (in mysql) erstellen. Vom 2. Rootserver über die (IP-)Addresse von der Datenbank mit verbinden
Technisch ist die Antwort 100% korrekt, aber man sollte es sich lieber noch 3x ueberlegen ob man einen MySQL Server oeffentlich(!) ins Internet stellt.
Selbst wenn man die Kommunikation verschluesselt ist das noch ein ziemliches Sicherheitsrisiko.