超详细!!MongoDB安全认证实验操作

需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!!

MongoDB安全认证实验主要是模拟如何通过配置用户和权限实现数据库的安全认证。

step1环境准备

确保你的MongoDB环境已安装并正常运行

step2配置MongoDB启用认证

mongodb默认不启用安全认证,所以需要手动去开启

找到mongodb的配置文件,修改配置文件,mongod.conf文件信息。

在配置文件中,启用以下选项:

# mongod.conf

# 存储配置
storage:
  dbPath: /usr/local/mongodb/data

# 网络配置
net:
  port: 27017
  bindIp: 0.0.0.0  # 启用所有网络接口

# 日志配置
systemLog:
  destination: file
  logAppend: true
  path: /usr/local/mongodb/logs/mongo.log
  logRotate: reopen  # 日志文件轮转

# 安全配置
security:
  authorization: enabled  # 启用角色基于的访问控制

# 进程管理配置
processManagement:
  fork: true  # 以守护进程模式运行
  pidFilePath: /usr/local/mongodb/logs/mongod.pid

重启MongoDB服务

应用更改需要重启MongoDB服务:(或者,mongodb.conf)

mongod --config=/usr/local/mongodb/mongod.yaml

step3创建管理员用户

管理员用户将用于管理其他用户和数据库

启动Mongo Shell

连接到MongoDB(此时认证尚未启用):

mongosh --port 27017
切换到admin数据库
use admin
创建管理员用户

执行以下命令创建管理员用户:

db.createUser({
  user: "admin",
  pwd: "wangjianxiong", // 替换为安全的密码
  roles: [{ role: "root", db: "admin" }]
})

验证管理员用户

退出并使用管理员用户重新登录验证:

mongosh -u admin -p 'wangjianxiong' --authenticationDatabase admin

运行以下命令确认连接状态:

db.runCommand({ connectionStatus: 1 })

step4创建普通用户

普通用户仅限于操作特定的数据库。

切换到目标数据库

例如,创建一个只能操作testDB的用户:

use testDB

创建用户

为该数据库创建具有读写权限的用户:

db.createUser({
  user: "testUser",
  pwd: "test123", // 替换为安全的密码
  roles: [{ role: "readWrite", db: "testDB" }]
})

step5验证普通用户权限

使用普通用户登录测试:

mongosh -u testUser -p 'test123' --authenticationDatabase testDB

尝试以下操作:

插入数据:

db.collection.insert({ key: "value" })

查询数据:

db.collection.find()

尝试访问其他数据库(应返回权限不足错误):

use admin
db.collection.find()

step6模拟未授权访问

测试在未认证状态下的限制:

不带用户信息登录:

mongosh

尝试访问数据库:

db.testDB.find()

正常会出现下述

step7MongoDB Compass认证连接

至此成功完成了MongoDB安全认证的实验。MongoDB实现了基于角色的访问控制,并验证了用户权限的有效性。可以进一步扩展实验,如启用SSL/TLS加密或使用外部身份认证(如LDAP)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值