Blog

Seguridad en MongoDB

Fuente de imagen: mongodb.org

Por defecto MongoDB no viene con demasiadas medidas de seguridad y según la función que tenga dentro tu arquitectura así como su situación en la infraestructura puede ser necesario implantar ciertas medidas básicas de seguridad.

Consideramos que los siguientes parámetros pueden ser útiles para la mayoría de instalaciones y se configuran en el fichero de configuración principal (/etc/mongod.conf o el que hayas configurado para tu instalación).

security:

     authorization: “enabled”

net:

     bindIp: 127.0.0.1

     port: 27019 (el que desees)

http:

     enabled: false

     RESTInterfaceEnabled: false
 

 

 

 

 

 

 

Básicamente se activan:

  • La autenticación de usuarios
  • Sólo se permiten conexiones desde la ip indicada (en este caso la ip local)
  • Se cambia el puerto por defecto al que deseemos
  • Se deshabilita cualquier acceso vía http tanto a la parte de administración como a la API Rest.

Lo siguiente sería crear los usuarios con acceso a la base de datos (colección) que deseemos.

Los pasos a seguir serían:

  • Crear usuario admin con el role “root” en la bd admin
  • Crear usuario ejemplo con el role “dwOwner” en la bd ejemplo
  • Modificar el fichero .config con la configuración propuesta
  • Reiniciar el servicio de Mongo
$ use admin switched to db admin > db.createUser({user: "admin", pwd: "passwordapruebadebombas", roles: ["root"]})
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }

$ use ejemplo
switched to db ejemplo

$ db.createUser({user: "ejemplo", pwd: "passworddelaleche", roles: ["dbOwner"]})
Successfully added user: { "user" : "ejemplo", "roles" : [ "dbOwner" ] }
 

 

 

 

 

Recordad que estos son unas directivas básicas de seguridad que deben ser complementadas con una correcta configuración de:

  • Firewall
  • Auditoría de logs
  • Política de backups
  • Shared key para configuración de replica sets
  • Activar tráfico SSL entre el cliente y el servidor MongoDB

 

Newsletter de STR Sistemas

Suscríbete a nuestra newsletter para recibir contenido interesante del mundo DevOps y artículos escritos por nuestros técnicos

¡Usamos cookies propias y de terceros para mejorar tu experiencia en esta web! Si sigues navegando, consientes y aceptas estas cookies en tu ordenador, móvil o tablet.

Más información sobre las cookies y cómo cambiar su configuración en tu navegador aquí.

x