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
au10.255.255.255
- la plage de
172.16.0.0
au172.31.255.255
- la plage de
192.168.0.0
au192.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.