mongodb 被攻击后修复记录

作者: Angeladaddy | 来源:发表于2017-11-29 09:29 被阅读114次

上次提到,本人服务器mongodb被黑,惨遭勒索的事情,第一时间进行修复。现把修复记录如下:

  1. 由于之前有备份数据库,(10天前😭),所以恢复。
  2. 关闭Mongodb远程连接、更换mongo默认端口: 找到/etc/mongod.conf, 设置如下
# mongod.conf

storage:
 dbPath: /var/lib/mongodb
 journal:
   enabled: true


systemLog:
 destination: file
 logAppend: true
 path: /var/log/mongodb/mongod.log

net:
 port: 12121
 bindIp: 127.0.0.1 

net下的port换一个随机端口号,bindip 绑定本机,意思是只能在本机登录。

  1. 开启mongodb权限验证
    先登录没有权限的shell:
mongo --port 12121

先删除了所有用户,然后建立admin 超级管理员

use admin
db.system.users.find()列出所有用户
db.dropUser("xxxx")
db.createUser( { user: "*******", pwd: "********", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } ) 添加超级管理员

进入相应数据库建立数据库管理员

use asdasd//数据库名称,mongodb的用户随着库走,所以这一步很重要,必须要先切到这个库才能进行下面操作
db.createUser( { user: "********", pwd: "********", roles: [ { role: "readWrite", db: "asdasd" } ] } )

退出shell, 重启mongod服务service mongod restart,(这里发现无法重启,原因接下来说)开启mongodb权限验证:在conf文件里加一句

security:
    authorization: enabled

重新登录shell,mongo --port 12121,
赋予权限

use admin
db.auth("****","****")
db.system.users.find()

如果打印出来信息,说明权限设置成功。

  1. mongod服务无法启动的问题解决方案:
    如果你是按照官网安装的mongo,那么重启服务器后可能会出现无法启动的问题。原因有
  • mongod.lock(解决办法是删除/var/lib/mongodb/mongod.lock文件 )
  • 服务未链接到系统服务 (解决办法systemctl enable monogod.service
  • 我以上都做完了还是不行,折腾了很久,最后发现是权限问题:按下面赋予权限
cd /var/log/mongodb
sudo chown -R mongodb:mongodb .
cd /var/lib/mongodb
sudo chown -R mongodb:mongodb .

service mongod start顺利启动,至此服务端数据库加固完毕。
顺便说一下,查看service的方法service mongod status, 打印如下则说明服务顺利启动:

● mongod.service - High-performance, schema-free document-oriented database
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2017-11-29 09:02:27 CST; 2s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 5323 (mongod)
   CGroup: /system.slice/mongod.service
           └─5323 /usr/bin/mongod --config /etc/mongod.conf

相关文章

网友评论

  • Reincarnationer:我的redis和mongodb都被黑了,还好数据不是很重要,现在来补课了。
  • 无言大叔:有条件还是做个异步主从吧,10天前太致命了。
    Angeladaddy:嗯,这几天就做,经过这次,再不敢大意了
  • ZZES_ZCDC:我上次MySQL也被黑了:smile: 找我要比特币。。。还好我有备份。

本文标题:mongodb 被攻击后修复记录

本文链接:https://www.haomeiwen.com/subject/ptzybxtx.html