MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Que fait l'option de configuration --bindip dans mongodb ?

Sur bindIp

127.0.0.1 par convention est l'adresse IP de localhost et est lié à l'interface de bouclage, qui n'est accessible qu'à partir de la même machine.

L'utilisation de cette adresse par défaut est la meilleure pratique, car cela rend impossible l'exposition accidentelle d'un service au public. Vous devez faire le choix conscient de changer l'adresse IP de liaison pour rendre votre service accessible au public. Ce que vous ne devriez faire qu'après vous être assuré que vous avez pris les mesures de sécurité appropriées.

En règle générale, une machine possède l'interface de bouclage et une ou plusieurs interfaces réseau "réelles".

Supposons que vous ayez une interface réseau "interne" (accessible uniquement par vos serveurs d'applications, puisque vous les mettez dans le même réseau) et une interface réseau "externe" (accessible via l'Internet public à des fins de maintenance). Maintenant, si vous deviez lier votre instance MongoDB à toutes les interfaces (vous utiliseriez l'adresse IP 0.0. 0.0 pour ce faire), votre instance MongoDB serait accessible depuis l'Internet public - une situation peu souhaitable. Les attaquants pourraient essayer de forcer brutalement vos mots de passe et pourraient éventuellement accéder à votre instance MongoDB. Mieux vaut empêcher tout accès depuis l'Internet public.

Ce que vous préféreriez que votre instance MongoDB soit accessible pour vos serveurs d'applications et depuis la machine sur laquelle elle s'exécute. Ainsi, vous lieriez MongoDB à la fois à l'adresse IP de l'interface de bouclage (127.0.0.1 ) et l'IP du réseau privé, qui en général serait l'un des

  • la plage de 10.0.0.0 au 10.255.255.255
  • la plage de 172.16.0.0 au 172.31.255.255
  • la plage de 192.168.0.0 au 192.168.255.255

Prenons notre exemple et supposons que les serveurs d'applications et l'instance MongoDB se trouvent dans un réseau privé dans la plage 192.168.X.X et vous avez donné à l'instance MongoDB l'adresse IP 192.168.0.1 . Vous voudriez donc que votre instance MongoDB soit accessible via 192.168.0.1 pour que les serveurs d'application puissent lui parler et via 127.0.0.1 pour utiliser les outils d'administration de la machine sur laquelle MongoDB s'exécute sans effort.

Ainsi, avec la syntaxe de configuration YAML, vous passeriez plusieurs adresses IP

REMARQUE ne pas ajouter d'espace entre les virgules sur plusieurs IP

# WARNING!!! WARNING!!! WARNING!!!
# DO NOT DO THIS UNLESS YOU HAVE CLIENT AUTHENTICATION ENABLED
# (or you really, really, really know what you are doing)
net:
  bindIp: 127.0.0.1,192.168.0.1

Sur les avertissements

En bref, c'est la façon dont MongoDB dit :

Il y a une sorte de sous-entendu "Sauf si vous vraiment savez ce que vous faites !", car iirc, l'avertissement disparaît si vous activez l'authentification client ou changer le bindIp.