Cómo habilitar la autenticación en MongoDB

Cómo habilitar la autenticación en MongoDB

Tener la capacidad de autenticar a los usuarios con su base de datos es una característica de seguridad importante. Esto es especialmente cierto cuando esa base de datos almacena información confidencial, como cuentas de usuario para un sitio web o datos de la empresa.

Con la autenticación habilitada en su instancia de MongoDB, puede establecer reglas específicas sobre lo que las cuentas de usuario pueden hacer y qué tipo de acceso tienen. Esto también significa que también puede bloquear ciertas funciones para que solo los usuarios autorizados tengan acceso a ellas.

En este artículo, le mostraremos cómo habilitar la autenticación en MongoDB para que solo los usuarios autorizados puedan acceder a la base de datos y su contenido.

Crear un usuario administrativo

Primero crearemos un usuario para administrar a todos los usuarios y bases de datos, y luego crearemos un propietario de una base de datos de MongoDB con privilegios de lectura y escritura en una instancia de base de datos.

Para administrar todos los usuarios y bases de datos, cree un usuario administrador en su servidor MongoDB. Usando Mongo Shell, cambie a la base de datos de administración y cree un usuario.

"> usar admin  "> DB.createUser ("user": "admin", "pwd": "admin_password", "roles": ["rol": "root", "db": "admin"])  

Verifique la autenticación, ejecute el comando en mongo shell:

"> DB.auth ("admin", "admin_password")  

El resultado "1" es para una autenticación exitosa.

Crear usuario específico de la base de datos

Ahora, configure un usuario para la base de datos de su aplicación. Use el comando "usar" para seleccionar su base de datos y luego cree un usuario con los siguientes comandos. Debe cambiar el nombre de la base de datos, el nombre de usuario y la contraseña a los que se enumeran a continuación.

"> Use mydb  "> DB.createUser ("user": "db_user", "pwd": "your_password", "roles": ["rol": "dBowner", "db": "mydb"])  

Verifique la autenticación, ejecute el comando en mongo shell:

"> DB.auth ("db_user", "your_password")  

El resultado "1" es para una autenticación exitosa.

Habilitando la autenticación en MongoDB

Acaba de crear un usuario para su base de datos. Ahora, voltee el interruptor de autenticación para hacer cumplir el inicio de sesión. Para hacer cumplir la autenticación en su servidor MongoDB, edite /etc/mongod.confusión En su editor de texto preferido.

sudo vim /etc /mongod.confusión  

Agregar/editar las líneas a continuación en el archivo de configuración

Seguridad: Autorización: habilitado 

Guarde su archivo y cierre.

Luego reinicie la instancia de MongoDB para aplicar los cambios.

sudo systemctl reiniciar mongod  

Todo listo!

Conclusión

Ha asegurado su servidor MongoDB al habilitar la autenticación adecuada en bases de datos. MongoDB rechazará todas las solicitudes sin autenticación. También se recomienda restringir el puerto de MongoDB 27017 a través de un firewall, ya sea que esté proporcionado por el alojamiento de la nube o el firewall Inbuild del sistema.