web-dev-qa-db-fra.com

Avertissement MySQL "L'adresse IP n'a pas pu être résolue"

J'ai la configuration maître/esclave MySQL et j'ai remarqué les avertissements suivants dans les fichiers journaux mysql sur les deux serveurs:

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

J'ai vérifié et les recherches DNS fonctionnent bien et la plupart de ces adresses IP proviennent de Chine.

Je prévois de limiter l'accès au port 3306 sur le pare-feu, mais pourriez-vous m'aider à comprendre ce qu'ils essaient de faire. Essayent-ils simplement de se connecter au serveur MySQL. Où je peux chercher plus de détails.

Merci

37
HTF

Lorsque vous créez un utilisateur MySQL [email protected] MySQL doit effectuer une recherche inversée sur chaque adresse IP qui s'y connecte pour déterminer si elles font partie de example.com.

Bien sûr, il n'y a aucune restriction sur la création de recherches inversées, donc je peux très volontiers demander à mon fournisseur de définir la recherche inversée pour que mon adresse IP soit google.com si je veux ... ou example.com si je sais que c'est ce que possèdent les utilisateurs de votre base de données. Cela ne me laissera pas entrer, car MySQL effectue ensuite une recherche directe sur le domaine retourné pour s'assurer qu'il correspond à la même adresse IP que la connexion.

Vous pouvez désactiver cela avec skip_name_resolve dans ton my.cnf. Il existe de nombreuses bonnes raisons pour cela .

La raison pour laquelle vous obtenez cette erreur est que l'adresse IP en question n'a aucune recherche inversée.

Vous avez également des attaquants malveillants en provenance de Chine qui tentent de s'introduire de force dans votre base de données. Cela devrait être votre priorité absolue.

49
Ladadadada

Je pense que c'est une très très mauvaise idée d'exposer vos serveurs de base de données directement sur Internet.

Si vous répliquez vers un hôte distant et avez besoin d'un accès Internet pour y parvenir, je vous suggère de configurer un VPN entre les deux réseaux et de lier vos serveurs MySQL pour écouter uniquement le réseau local.

Si vos deux hôtes sont sur le même réseau local, vous serez en mesure de lier vos serveurs mysql à ce réseau.

13
m0ntassar

Je viens juste de me faire prendre aussi par Amazon RDS. Je voulais seulement me connecter à mon instance de base de données de test (ce qui suit est définitivement non recommandé pour les bases de données de production):

Les groupes de sécurité d'Amazon RDS fonctionnent différemment des règles de pare-feu normales pour les instances EC2. Si vous ouvrez le port MySQL pour l'IP spécifique, l'IP doit être reconnue par votre serveur MySQL. Sinon, la connexion est refusée. La solution temporaire consiste à créer un nouveau groupe de sécurité, c'est-à-dire anyone_can_connect_to_mysql avec un seul élément - autorisez la connexion entrante MySQL/Aurora n'importe où sur Internet et attachez ce groupe de sécurité à votre base de données.

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

Cela supprime la vérification IP des connexions client afin que vous soyez libre de vous connecter. N'oubliez pas de détacher le anyone_can_connect_to_mysql stratégie de la base de données une fois les problèmes de résolution résolus.

1
musketyr

Lors de la connexion à distance à Mysql, j'ai reçu une erreur. J'ai eu cet avertissement dans /var/log/mysqld.log:

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

Je viens d'ajouter cette ligne à /etc/hosts fichier:

X.X.X.X some_name

Problème résolu! sans utiliser skip-name-resolve, cela a provoqué des erreurs dans mon application locale lors de la connexion à mysql.

0
Amin Sh