sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Qué hace la opción de configuración --bindip en mongodb?

En bindIp

127.0.0.1 por convención es la dirección IP de localhost y está vinculado a la interfaz de bucle invertido, a la que solo se puede acceder desde la misma máquina.

Usar esta dirección como predeterminada es una buena práctica, ya que al hacerlo es imposible exponer accidentalmente un servicio al público. Debe tomar la decisión consciente de cambiar la IP de vinculación para que su servicio esté disponible públicamente. Lo cual solo debe hacer después de asegurarse que tomó las medidas de seguridad adecuadas.

Por lo general, una máquina tiene la interfaz de bucle invertido y una o más interfaces de red "reales".

Digamos que tiene una interfaz de red que es "interna" (solo accesible por sus servidores de aplicaciones, ya que los puso en la misma red) y tiene una interfaz de red que es "externa" (accesible a través de Internet público para fines de mantenimiento). Ahora, si vinculara su instancia de MongoDB a todas las interfaces (usaría la dirección IP 0.0. 0.0 para hacer eso), su instancia de MongoDB sería accesible desde la Internet pública, una situación difícilmente deseada. Los atacantes podrían intentar forzar sus contraseñas por la fuerza bruta y eventualmente obtener acceso a su instancia de MongoDB. Es mejor evitar cualquier acceso desde la Internet pública.

Lo que preferiría tener es que su instancia de MongoDB sea accesible para sus servidores de aplicaciones y desde la máquina en la que se ejecuta. Entonces vincularía MongoDB a la IP de la interfaz de loopback (127.0.0.1 ) y la IP de la red privada, que por lo general sería una de

  • el rango desde 10.0.0.0 a 10.255.255.255
  • el rango desde 172.16.0.0 a 172.31.255.255
  • el rango desde 192.168.0.0 a 192.168.255.255

Tomemos nuestro ejemplo y digamos que tanto los servidores de aplicaciones como la instancia de MongoDB están en una red privada en el rango 192.168.X.X y le ha dado a la instancia de MongoDB la dirección IP 192.168.0.1 . Por lo tanto, le gustaría tener acceso a su instancia de MongoDB a través de 192.168.0.1 para que los servidores de aplicaciones puedan hablar con él y a través de 127.0.0.1 para usar las herramientas de administración de la máquina en la que se ejecuta MongoDB sin esfuerzo.

Entonces, con la sintaxis de configuración de YAML, pasaría varias direcciones IP

NOTA no agregue espacios entre comas en varias direcciones 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

Sobre las advertencias

En resumen, esta es la forma de MongoDB de decir:

Hay una especie de implícito "A menos que realmente ¡Sé lo que estás haciendo!", porque iirc, la advertencia desaparece si activas la autenticación del cliente o cambie el bindIp.