Lun. Oct 14th, 2024

1- Securizar el host mediante ssh y asegurarse de que no es posible conectarse desde el exterior sin pasar por un gateway.
2- Usar IPTables para bloquear cualquier acceso no deseado.
3- Crear un usuario administrador

Debemos crear un usuario administrador para gestionar el servicio. Este usuario es almacenado en la base de datos «admin».

Si no hay ningún usuario administrador , cualquiera podría acceder a la base de datos de manera local sin autenticación . Por lo tanto,desde el servidor que corre el servicio mongodb, abre una shell y configura un usuario administrador.

$ ./mongo
> use admin
> db.addUser("adminuser", "somepassword")

Ahora tenemos un usuario administrador creado en la base da datos «admin».  Al no estar autenticados previamente, debemos autenticarnos para seguir con derechos de administrador.

> db.auth("adminuser", "somepassword")

A continuación vamos a crear un usuario con derechos restringidos en la base de datos «prueba1».

> use prueba1
> db.addUser("john", "passwordJohn")

Por último añadimos un usuario de solo lectura.

> use prueba1 > db.addUser("guest", "passwordGuest", true)

Listando usuarios

La información de usuario es almacenada en cada  database’s system.users collection.Por ejemplo  en la base de datos prueba1, prueba1.system.users contendrá la información de usuario.

Podemos ver los usuarios existentes para la base de datos actual con la siguiente query:

> db.system.users.find()

Cambiando passwords

El comando  addUser permite también ser usado para actualizar la password de usuario:  si el usuario existe, la password simplemente se actualiza.

Borrando usuarios

Para borrar un usuario:

db.removeUser( username )

or

db.system.users.remove( { user: username } ) 4.- cambiar el puerto del servicio a otro diferente al que viene por defecto, 27017. 
0 comentario en “MongoDB: Conceptos de seguridad”
  1. A continuación vamos a crear un usuario con derechos restringidos en la base de datos “prueba1″.

    > use prueba1
    > db.addUser(«john», «passwordJohn»)

    con esto, a que te refieres con derechos restringidos ? qué puedo hacer ? y que no ?
    Muchas gracias.

    1. En este caso el usuario john tendra permisos readonly en la base de datos prueba1.
      En mongodb existen dos tipos de usuario:
      -admin: puede acceder a todas las bases de datos y realizar tareas de administración
      -regular users: solo pueden acceder a una base de datos especifica con permisos readonly o read/write

  2. ¿Donde están los puntos 1- Securizar el host mediante ssh y asegurarse de que no es posible conectarse desde el exterior sin pasar por un gateway.
    2- Usar IPTables para bloquear cualquier acceso no deseado.? Gracias!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *