前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB数据库安全

MongoDB数据库安全

作者头像
likepoems
发布2023-03-04 17:10:20
1.1K1
发布2023-03-04 17:10:20
举报
文章被收录于专栏:学习笔记分享学习笔记分享

本文最后更新于 97 天前,其中的信息可能已经有所发展或是发生改变。

1、前言

前几天,我自己的项目myblog博客后台系统的MongoDB数据库被黑客删除了,新增了一个RREAD_ME_TO_RECOVER_YOUR_DATA的数据库,里面是一个叫做readme的collection。打开后主要内容如下:

代码语言:javascript
复制
All your data is a backed up. You must pay 0.015 BTC to 1TvCTpihDcmEjs9weTeKyruYYEY6n5xCB 48 hours for recover it. After 48 hours expiration we will leaked and exposed all your data. In case of refusal to pay, we will contact the General Data Protection Regulation, GDPR and notify them that you store user data in an open form and is not safe. Under the rules of the law, you face a heavy fine or arrest and your base dump will be dropped from our server! You can buy bitcoin here, does not take much time to buy https://localbitcoins.com with this guide https://localbitcoins.com/guides/how-to-buy-bitcoins After paying write to me in the mail with your DB IP: allmydataback@cock.li and you will receive a link to download your database dump.

大概意思是你的数据库被我们删除了,你需要支付0.015比特币(约等于39262¥)来恢复你的数据,不然48小时后我们你的数据会被暴露,如果拒付你将面临巨额罚款。

当时我的数据库里面只有4张表,数据不太重要,由于需要在本地进行调试,因此没有设置密码。当时是在登录这个后台才发现被删除的,如果这种情况发生在公司,就会变得很可怕。

2、安全设置

2.1 开启authorization验证

2.1.1 第一步,开启权限验证

打开宝塔面板的MongoDB,进入配置文件

代码语言:javascript
复制
security:
    authorization: enabled;

2.1.2 第二步,设置用户名、密码

代码语言:javascript
复制
// 进入控制台,运行mongo
cd /www/server/mongodb/bin/
./mongo

// 使用管理员身份创建用户cds,并指定用户对数据库myblog具有读写权限
use admin;
db.createUser({
    user: "cds",
    pwd:"cds333",
    roles:[{
        role:"readWrite",
        db:"myblog"
    }]
})

2.1.3 第三步,验证并重启MongoDB

代码语言:javascript
复制
db.auth('cds', 'cds333')

2.2 阻止远程访问

设置bindIP:127.0.0.1

2.3 修改端口号

端口号需要在服务器的安全组或防火墙以及宝塔的防火墙里添加。添加后直接修改配置文件将27017改成修改的数值即可。

3、常见问题

  • 如果需要让MongoDB可以远程访问,设置bindIP:0.0.0.0
  • 如果需要实现检索,使用db.essay.ensureIndex({category:"text"}),表示使用category字段对essay表进行检索
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-5-05 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、前言
  • 2、安全设置
    • 2.1 开启authorization验证
      • 2.1.1 第一步,开启权限验证
      • 2.1.2 第二步,设置用户名、密码
      • 2.1.3 第三步,验证并重启MongoDB
    • 2.2 阻止远程访问
      • 2.3 修改端口号
      • 3、常见问题
      相关产品与服务
      云数据库 MongoDB
      腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档