Modificación de la contraseña del usuario de seguridad de la base de datos MongoDB

    MongoDB es una base de datos no relacional y su seguridad de base de datos es muy similar a la versión anterior a mysql 5.7. La base de datos se acaba de instalar

Una vez inicializados el software y los ejemplos, la base de datos no es segura en absoluto. En resumen, el mongodb recién inicializado no tiene restricciones de seguridad, si los datos

La biblioteca está en la red pública y cualquier máquina puede conectarse a la base de datos a través de cualquier cliente de mongo a través de Internet. Por lo tanto, ponerlo en producción en MongoDB.

Anteriormente, MongoDB necesitaba fortalecerse en términos de seguridad. Aquí, introduzca la contraseña de usuario de la arquitectura Mongodb con un maestro, un esclavo y un arbitraje.

modificar.

    1. Inicie sesión en la biblioteca principal del clúster de base de datos de mongodb y cree un usuario de supergestión

db.createUser (  

{  

    usuario: "firstset",   

    pwd: "primer conjunto",  

    roles: [{rol: "userAdminAnyDatabase", db: "admin"}]  

}  

);  

    2. Modifique la contraseña de zhul, verifique el proceso de mogodb, preste atención al número de puerto

ps -ef | grep mongod

mongo 10836 1 0 09:02? 00:00:03 mongod --dbpath / opt / mongo / data / dns_repset1  --port 10001  --replSet firstset --oplogSize 512 --rest --fork --logpath /opt/mongo/logs/firstset/firstset.log --logappend --nojournal --directoryperdb --keyFile / opt / mongo / keyfile / keyfile

mongo 10997 9767 0 09:09 pts / 3 00:00:00 grep --color = auto mongod

    3. Modifique la contraseña de zhul y verifique si la base de datos actual está conectada sin contraseña

[archivo de claves mongo @ mongo1] $ mongo --port 10001 

Versión de shell de MongoDB: 3.2.11-49-g52b68fa

conectándose a: 127.0.0.1:10001/test

firstset: PRIMARY> show dbs

2019-10-24T09: 09: 31.298 + 0800 E CONSULTA [hilo1] Error: fallaron las bases de datos de la lista: {

"ok": 0,

"errmsg": " no autorizado por el administrador para ejecutar el comando  {listDatabases: 1.0}",

"código": 13

}:

_getErrorWithCode@src/mongo/shell/utils.js: 25: 13

Mongo.prototype.getDBs@src/mongo/shell/mongo.js: 62: 1

shellHelper.show@src/mongo/shell/utils.js: 761: 19

shellHelper@src/mongo/shell/utils.js: 651: 15

@ (shellhelp2): 1: 1

firstset: PRIMARIO> salir

adiós

    A través de la verificación, la base de datos actual ha probado la verificación de autenticación de seguridad del archivo de claves, y el inicio de sesión sin contraseña se negará a ejecutar ningún comando.

4. Modifique la contraseña de zhul. Si conoce la contraseña del usuario modificado, puede iniciar sesión con la contraseña de la cuenta o puede cancelar las restricciones de seguridad del archivo de claves.

Después de iniciar sesión sin contraseña, modifique la contraseña del usuario relevante y luego habilite la autenticación de seguridad del archivo de claves

[archivo de claves mongo @ mongo1] $ mongo -u firstset -p firstset --port 10001

Versión de shell de MongoDB: 3.2.11-49-g52b68fa

conectándose a: 127.0.0.1:10001/test

El servidor tiene advertencias de inicio: 

2019-10-24T09: 02: 45.827 + 0800 I CONTROL [principal] ** ADVERTENCIA: --el reposo se especifica sin --httpinterface,

2019-10-24T09: 02: 45.827 + 0800 I CONTROL [principal] ** habilitando la interfaz http

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** ADVERTENCIA: El servidor se inicia con la interfaz del servidor web y el control de acceso.

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** Las interfaces web (rest, httpinterface y / o jsonp) son inseguras 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** y debe desactivarse a menos que sea necesario para compatibilidad con versiones anteriores.

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** ADVERTENCIA: / sys / kernel / mm / transparent_hugepage / enabled es 'siempre'.

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** Sugerimos configurarlo en 'nunca'

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** ADVERTENCIA: / sys / kernel / mm / transparent_hugepage / defrag es 'siempre'.

2019-10-24T09: 02: 46.024 + 0800 I CONTROL [initandlisten] ** Sugerimos configurarlo en 'nunca'

2019-10-24T09: 02: 46.024 + 0800 I CONTROL [initandlisten] 

firstset: PRIMARY> show dbs;

administración 0.000GB

dns_testdb 0,004 GB

0.008GB local

firstset: PRIMARY>  db.updateUser ("firstset", {pwd: "rootroot"});

firstset: PRIMARIO> salir

adiós

    5. Verifique la modificación de la contraseña

- Se rechazó el inicio de sesión con nombre de usuario o contraseña incorrectos

[archivo de claves mongo @ mongo1] $ mongo -u firstset -p firstset --port 10001 

Versión de shell de MongoDB: 3.2.11-49-g52b68fa

conectándose a: 127.0.0.1:10001/test

2019-10-24T09: 11: 35.167 + 0800 E CONSULTA [hilo1] Error: Error de autenticación. :

DB.prototype._authOrThrow@src/mongo/shell/db.js: 1441: 20

@ (autenticación): 6: 1

@ (autenticación): 1: 2

excepción: el inicio de sesión falló

- La operación se puede realizar normalmente después de iniciar sesión con el nombre de usuario y la contraseña correctos

[archivo de claves mongo @ mongo1] $ mongo -u firstset -p rootroot --port 10001

Versión de shell de MongoDB: 3.2.11-49-g52b68fa

conectándose a: 127.0.0.1:10001/test

El servidor tiene advertencias de inicio: 

2019-10-24T09: 02: 45.827 + 0800 I CONTROL [principal] ** ADVERTENCIA: --el reposo se especifica sin --httpinterface,

2019-10-24T09: 02: 45.827 + 0800 I CONTROL [principal] ** habilitando la interfaz http

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** ADVERTENCIA: El servidor se inicia con la interfaz del servidor web y el control de acceso.

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** Las interfaces web (rest, httpinterface y / o jsonp) son inseguras 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** y debe desactivarse a menos que sea necesario para compatibilidad con versiones anteriores.

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** ADVERTENCIA: / sys / kernel / mm / transparent_hugepage / enabled es 'siempre'.

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** Sugerimos configurarlo en 'nunca'

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] 

2019-10-24T09: 02: 46.023 + 0800 I CONTROL [initandlisten] ** ADVERTENCIA: / sys / kernel / mm / transparent_hugepage / defrag es 'siempre'.

2019-10-24T09: 02: 46.024 + 0800 I CONTROL [initandlisten] ** Sugerimos configurarlo en 'nunca'

2019-10-24T09: 02: 46.024 + 0800 I CONTROL [initandlisten] 

firstset: PRIMARY> show dbs;

administración 0.000GB

dns_testdb 0,004 GB

0.008GB local

firstset: PRIMARY> use admin

cambió a db admin

firstset: PRIMARY> mostrar colecciones;

system.users

system.version

primer conjunto: PRIMARIO> db.system.users.find ();

{"_id": "test.firstset", "user": "firstset", "db": "test", "credentials": {"SCRAM-SHA-1": {"iterationCount": 10000, "salt" : "ISdrb4a3Cc0A59vXEUxjOg ==", "storedKey": "qPn44VuZrJ6QwWzOMBq90vZ5eAo =", "serverKey": "rz + CDSlpXHKvUDGg0PCnG2GZCjk = "b"}, "roles" }]}

firstset: PRIMARIO> use dns_testdbuse dns_testdb

cambiado a db dns_testdb

firstset: PRIMARY> mostrar colecciones;

test_collection

primer conjunto: PRIMARIO> db.test_collection.findOne ();

{

"_id": ObjectId ("5d8434a5b138ddafc446e13b"),

"nombre": "vaca",

"user_id": 48149,

"booleano": falso,

"added_at": ISODate ("2019-09-20T02: 08: 37.116Z"),

"número": 1743

}

firstset: PRIMARIO> 

primer conjunto: PRIMARIO> rs.status ();

{

"conjunto": "primer conjunto",

"fecha": ISODate ("2019-10-24T01: 13: 15.006Z"),

"myState": 1,

"término": NumberLong (7),

"heartbeatIntervalMillis": NumberLong (2000),

"miembros": [

{

"_id": 0,

"nombre": "192.168.192.251:10001",

"salud": 1,

"estado": 1,

"stateStr": "PRIMARIO",

"tiempo de actividad": 630,

"óptimo": {

"ts": marca de tiempo (1571879490, 1),

"t": NumberLong (7)

},

"OptimalDate": ISODate ("2019-10-24T01: 11: 30Z"),

"choiceTime": marca de tiempo (1571879010, 1),

"choiceDate": ISODate ("2019-10-24T01: 03: 30Z"),

"configVersion": 1,

"self": verdadero

},

{

"_id": 1,

"nombre": "192.168.192.252:10001",

"salud": 1,

"estado": 2,

"stateStr": "SECUNDARIO",

"tiempo de actividad": 566,

"óptimo": {

"ts": marca de tiempo (1571879490, 1),

"t": NumberLong (7)

},

"OptimalDate": ISODate ("2019-10-24T01: 11: 30Z"),

"lastHeartbeat": ISODate ("2019-10-24T01: 13: 13.320Z"),

"lastHeartbeatRecv": ISODate ("2019-10-24T01: 13: 13.259Z"),

"pingMs": NumberLong (0),

"syncingTo": "192.168.192.251:10001",

"configVersion": 1

},

{

"_id": 2,

"nombre": "192.168.192.250:10001",

"salud": 1,

"estado": 7,

"stateStr": "ÁRBITRO",

"tiempo de actividad": 593,

"lastHeartbeat": ISODate ("2019-10-24T01: 13: 13.301Z"),

"lastHeartbeatRecv": ISODate ("2019-10-24T01: 13: 13.185Z"),

"pingMs": NumberLong (0),

"configVersion": 1

}

],

"ok": 1

}

firstset: PRIMARIO> 

 

  Para la configuración de autenticación de archivos de claves de MongoDB, consulte:

Http://blog.itpub.net/29357786/viewspace-2130594/

Supongo que te gusta

Origin blog.csdn.net/www_xue_xi/article/details/102793292
Recomendado
Clasificación