MongoDB 数据库 启用访问控制

0. 最近服务器安装了 MongoDB 被勒索了

测试服务器安装了 MongoDB 等,开放了 27017 对所有 ip

哈哈哈哈哈哈,问就是有点犯懒,之前都是只允许自己的 ip

好家伙,然后没过几个小时,数据库集合被清空,只留下了类似
支付 0.0000x BTC 到 xxxxxx,然后发邮件到 xxxxxx,来取回数据

1. 创建数据库用户

bash 复制代码
use admin


db.createUser({
  user: "root",
  pwd: "yourNewStrongPasswd1234466666666",
  roles: [ { role: "root", db: "admin" } ]
})

2. 启用认证

bash 复制代码
nano /etc/mongod.conf

取消掉注释

bash 复制代码
security:
  authorization: enabled

3. 重启 MongoDB 服务

bash 复制代码
sudo systemctl restart mongod

4. 修改连接字符串

bash 复制代码
// const DB_CONNECTION_STRING = 'mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.4.2'
const DB_CONNECTION_STRING = 'mongodb://root:yourNewStrongPasswd1234466666666@127.0.0.1:27017/admin?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.4.2'

希望对你有些帮助。
有错误或者疑问留言。
我的个人网站 点击访问 hongweizhu.com

END

推荐一下我写的的 App 熊猫小账本,里面有用到这篇博客讲的内容

熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。

  • 支持备注,自定义时间偶尔忘记记账也没关系。
  • 搜索历史记账,支持分类、金额、备注。
  • 启动时需要面容/指纹验证,保护个人隐私。
  • 支持自定义分类功能,自由添加修改分类。
  • 统计图表,支出收入一目了然。
  • 每天提醒记账,不会有其他推送。
  • 桌面锁屏小组件等。

点击了解更多详情 👀

相关推荐
掘根31 分钟前
【Qt】常用控件3——显示类控件
开发语言·数据库·qt
码码哈哈爱分享33 分钟前
MariaDB 与 MySQL 区别
数据库·mysql·mariadb
爱敲代码的TOM35 分钟前
深入MySQL底层1-存储引擎与索引
数据库·mysql
GUIQU.37 分钟前
【QT】嵌入式开发:从零开始,让硬件“活”起来的魔法之旅
java·数据库·c++·qt
牛奶咖啡134 小时前
关系数据库MySQL的常用基础命令详解实战
数据库·mysql·本地远程连接到mysql·创建mysql用户和密码·修改mysql用户的密码·设置mysql密码的使用期限·设置和移除mysql用户的权限
ANYOLY5 小时前
Redis 面试宝典
数据库·redis·面试
鲲志说5 小时前
数据洪流时代,如何挑选一款面向未来的时序数据库?IoTDB 的答案
大数据·数据库·apache·时序数据库·iotdb
没有bug.的程序员5 小时前
MVCC(多版本并发控制):InnoDB 高并发的核心技术
java·大数据·数据库·mysql·mvcc
脑花儿7 小时前
ABAP SMW0下载Excel模板并填充&&剪切板方式粘贴
java·前端·数据库
SELSL7 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战