MySQL Server, nur Verbindungen von bestimmten IPs erlauben?
Guten Tag,
Ich habe auf einem Server einen MySQL Datenbank Server und möchte, dass nur mit localhost und von 2 anderen, bestimmten Adressen drauf zugegriffen werden kann. Alle anderen Verbindungen sollen abgelehnt werden (egal ob Passwort korrekt oder nicht).
Wie mache ich das?
Auf dem Server läuft Debian 10.
4 Antworten
Vielleicht hilft Dir dieses Posting: https://serverfault.com/questions/483339/changing-host-permissions-for-mysql-users
Wenn Du das nicht per CLI einstellen willst, kannst Du auch Webmin installieren und es über eine grafische Oberfläche machen.
Wenn du Kennwörter für die MySQL-Tabellen erstellst, kannst du IP-Adressen angeben.
Normalerweise kann man auch auf Datenbankebene die IP festzurren.
Davon ab hindert Dich keiner daran auch eine Netfilterregel für das DBMS zu haben - das wäre ohnehin sinnvoll ...
Zur Festlegung der Rechte beim DBMS:
https://dev.mysql.com/doc/refman/5.5/en/grant.html#grant-privileges
Zu netfilter:
Am besten am MySQL-Dienst alles freigeben und per Firewall den Zugriff auf Port 3306 einschränken auf die externen IPs.
Klingt gut.
Bloss: wie greife ich auf die Firewall zu? So wie ich gehört habe, hat Debian ja keine mitgeliefert.. oder etwa doch?
iptables ist immer verfügbar und sollte auch installiert sein.
Nutzer können von bestimmten IPs erlaubt werden, das lässt sich einstellen.
Ich glaube google ist dein Freund.. Wenn du nichtmal das suchen hinbekommst, solltest du vielleicht die nicht die Sicherheit eines Servers managen..
Gesucht habe ich schon. Gefunden aber nur für einzelne Tables.
Dann hast du WIRKLICH schlecht gesucht:
GRANT ALL PRIVILEGES ON databaseName.tableNameOr* TO 'username'@'IP/Hostname' IDENTIFIED BY 'password';
Also kann ich es nur für die einzelnen Tabellen festlegen? Nicht für den ganzen MySQL Server?