Frage MySQL Warnung "IP-Adresse konnte nicht aufgelöst werden"


Ich habe MySQL Master / Slave Setup und ich habe die folgenden Warnungen in den MySQL-Log-Dateien auf beiden Servern bemerkt:

[Warning] IP address 'xxx.xxx.xxx.xxx' could not be resolved: Name or service not known

Ich habe überprüft und die DNS-Lookups funktioniert gut und die meisten dieser IPs stammen aus China.

Ich plane, den Zugriff auf Port 3306 auf der Firewall zu beschränken, aber bitte helfen Sie mir zu verstehen, was sie zu tun versuchen. Versuchen sie nur, sich mit dem MySQL-Server zu verbinden? Wo kann ich nach mehr Details suchen.

Vielen Dank


26
2018-05-30 08:52


Ursprung




Antworten:


Wenn Sie einen MySQL-Benutzer erstellen username@example.com MySQL muss für jede IP-Adresse, die sich mit ihm verbindet, eine umgekehrte Suche durchführen, um festzustellen, ob sie Teil davon sind example.com.

Natürlich gibt es keine Einschränkungen beim Erstellen von Reverse-Lookups, daher kann ich durchaus meinen Provider bitten, das Reverse-Lookup für meine IP-Adresse zu setzen google.com wenn ich will ... oder example.com wenn ich zufällig weiß, dass das die Benutzer in Ihrer Datenbank haben. Dies lässt mich nicht rein, da MySQL dann eine Vorwärtssuche in der zurückgegebenen Domäne durchführt, um sicherzustellen, dass sie mit der gleichen IP-Adresse übereinstimmt, die eine Verbindung herstellt.

Sie können dies ausschalten mit skip_name_resolve in deiner my.cnf. Dafür gibt es viele gute Gründe.

Der Grund für diesen Fehler ist, dass die fragliche IP-Adresse überhaupt keine Reverse-Lookup-Funktion hat.

Sie haben auch böswillige Angreifer aus China, die versuchen, ihren Weg in Ihre Datenbank zu finden. Das sollte deine oberste Priorität sein.


39
2018-05-30 09:15



Kann es ein Problem geben? localhost? - Malay M
Ich glaube nicht, dass es dort ein Sicherheitsloch gibt, wenn ein Reverse-Lookup für einige IP-Adressen aufgelöst wird localhost, MySQL wird weiterhin die Vorwärtssuche durchführen localhost um sicherzustellen, dass es mit der ursprünglichen IP-Adresse übereinstimmt. Aber vertraue mir nicht wie bei allen sicherheitsrelevanten Dingen. Und es ist noch besser, die Namensauflösung in Ihrer Konfiguration zu deaktivieren. - Ladadadada


Ich denke, es ist eine sehr sehr schlechte Idee, Ihre Datenbankserver direkt im Internet verfügbar zu machen.

Wenn Sie auf einen Remote-Host replizieren und hierfür Internetzugriff benötigen, rate ich Ihnen, ein VPN zwischen den beiden Netzwerken einzurichten und Ihre MySQL-Server so zu binden, dass nur das lokale Netzwerk überwacht wird.

Wenn sich beide Hosts im selben lokalen Netzwerk befinden, können Sie Ihre mysql-Server an dieses Netzwerk binden.


12
2018-05-30 09:15





Wenn ich mich remote mit Mysql verbinde, habe ich einen Fehler bekommen. Ich hatte diese Warnung in /var/log/mysqld.log:

[Warning] IP address 'X.X.X.X' could not be resolved: Temporary failure in name resolution

Ich habe gerade diese Zeile hinzugefügt /etc/hosts Datei:

X.X.X.X some_name

Problem gelöst! ohne zu benutzen skip-name-resolveEs verursachte einige Fehler in meiner lokalen App, wenn ich mich mit mysql verbinde.


0
2018-05-21 07:56



Vor über einem Jahr, aber musstest du MySQL neu starten? Das hat nicht für mich funktioniert. - Ejoso


Gerade dadurch auf Amazon RDS erwischt worden. Ich wollte mich nur mit meiner Testdatenbankinstanz verbinden (das ist definitiv nicht empfohlen für Produktionsdatenbanken):

Die Sicherheitsgruppen in Amazon RDS arbeiten anders als die normalen Firewallregeln für die EC2-Instanzen. Wenn Sie den MySQL-Port für die spezifische IP-Adresse öffnen, muss die IP-Adresse von Ihrem MySQL-Server erkannt werden. Wenn nicht, wird die Verbindung abgelehnt. Die temporäre Lösung besteht darin, eine neue Sicherheitsgruppe zu schaffen, d.h. anyone_can_connect_to_mysql mit nur einem einzigen Element - erlauben Sie eingehende Verbindung MySQL / Aurora überall aus dem Internet und hängen Sie diese Sicherheitsgruppe an Ihre Datenbank an.

Inbound
-----------------------------------------
| MYSQL/Aurora | TCP | 3306 | 0.0.0.0/0 |
-----------------------------------------

Dies entfernt die IP-Prüfung von Client-Verbindungen, so dass Sie sich frei verbinden können. Vergiss nicht, das zu lösen anyone_can_connect_to_mysql Richtlinie aus der Datenbank, sobald die Auflösungsprobleme vorüber sind.


0
2017-10-24 08:12