jamebal / jmal-cloud-view

JmalCloud It's a private cloud storage project that makes it simple and secure to manage your files in the cloud. JmalCloud 是一款私有云存储网盘项目,能够简单安全管理您的云端文件
https://jmalcloud.github.io
MIT License
648 stars 131 forks source link

云盘正常使用,让创建管理员账号,,我如何恢复 #214

Closed Xiaoph123 closed 3 months ago

Xiaoph123 commented 3 months ago

如图,我正常使用云盘,但是今天登录上显示我初始创建管理员的页面,这个情况出现很多次,每次我都是恢复服务器备份 PixPin_2024-07-05_11-09-36

jamebal commented 3 months ago

从什么开始的? 刷新浏览器或者重启服务有用吗

Xiaoph123 commented 3 months ago

我的数据都还再,但是为什么会跳到创建管理员的页面,我尝试了重新启动jmalcloud和服务器,都不行

Xiaoph123 commented 3 months ago

从什么开始的? 刷新浏览器或者重启服务有用吗

今天,第一次出现这个情况忘记了是什么时候发生的

jamebal commented 3 months ago

在这个界面按F12, 看看这个预览数据

截屏2024-07-05 11 24 13
Xiaoph123 commented 3 months ago

image

jamebal commented 3 months ago

使用这个命令看看输出结果:

docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").user.find().count();'
Xiaoph123 commented 3 months ago
[root@rainyun-16dwllwu jmal-cloud-server]# docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").user.find().count();'
MongoDB shell version v4.4.29
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cf6e98cb-bee6-42e2-8537-cc3acbee83cf") }
MongoDB server version: 4.4.29
1
[root@rainyun-16dwllwu jmal-cloud-server]# 
jamebal commented 3 months ago

显示创建管理员的逻辑是: 查询是否存在用户 根据你给出的信息: 数据库里确实是有用户的, 但是界面上没查出来

jamebal commented 3 months ago

是恢复服务器备份就好了, 然后过一会又出现创建管理员了吗

Xiaoph123 commented 3 months ago

恢复备份后,能管用个1到2个星期左右,然后就又出现了,很奇怪

jamebal commented 3 months ago

直接通过ip:端口访问试试

jamebal commented 3 months ago

或者在命令行里执行, 看输出结果

curl -l https://demo.jmalx.com:21904/api/public/has_user

https://demo.jmalx.com:21904 换成你自己的网盘地址

Xiaoph123 commented 3 months ago

端口号访问: image

jamebal commented 3 months ago

端口号访问: image

通过ip:端口正常, 通过域名访问就出现创建管理员是吗?

Xiaoph123 commented 3 months ago

端口号访问: image

通过ip:端口正常, 通过域名访问就出现创建管理员是吗?

端口访问jmalchoud是默认的登录页面,这个默认登录页面我修改了图标和名称(现在端口访问并不是我的云盘页面),通过域名访问是创建管理员页面

jamebal commented 3 months ago

在命令行里执行以下两条命令, 看输出结果

Xiaoph123 commented 3 months ago

域名结果:

1. {"code":0,"message":true,"data":true,"count":1}

2. {"code":0,"message":true,"data":{"showBeian":false}}

ip结果: 1. {"code":0,"message":true,"data":true,"count":1}

2. {"code":0,"message":true,"data":{"showBeian":false}}

jamebal commented 3 months ago
截屏2024-07-05 13 01 39

网页上count是0, curl 返回的count是1

jamebal commented 3 months ago
截屏2024-07-05 13 03 20

钩上停用缓存试试

Xiaoph123 commented 3 months ago
截屏2024-07-05 13 03 20

钩上停用缓存试试

清缓存的方法我试过了不行

Xiaoph123 commented 3 months ago

网页上count是1,但是登录不上 image

Xiaoph123 commented 3 months ago

有解决方案吗,如果没有的话,我只能恢复备份了

jamebal commented 3 months ago

恢复备份是恢复mongodb的备份吗

Xiaoph123 commented 3 months ago

恢复备份是恢复mongodb的备份吗

不是,是整个服务器的备份

Xiaoph123 commented 3 months ago

重新加载数据库的命令是那个我试一下

jamebal commented 3 months ago

你提到修改过图标和名称, 但是界面上没有显示, 执行这条命令看看数据库有没有相关配置

docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").websiteSetting.find();'
Xiaoph123 commented 3 months ago

[root@rainyun-16dwllwu ~]# docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").websiteSetting.find();' MongoDB shell version v4.4.29 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e0a36027-d9d3-451a-91cf-926412076b95") } MongoDB server version: 4.4.29 [root@rainyun-16dwllwu ~]#

jamebal commented 3 months ago

[root@rainyun-16dwllwu ~]# docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").websiteSetting.find();' MongoDB shell version v4.4.29 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e0a36027-d9d3-451a-91cf-926412076b95") } MongoDB server version: 4.4.29 [root@rainyun-16dwllwu ~]#

没有任何配置, 数据没了?

Xiaoph123 commented 3 months ago

[root@rainyun-16dwllwu ~]# docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").websiteSetting.find();' MongoDB shell version v4.4.29 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e0a36027-d9d3-451a-91cf-926412076b95") } MongoDB server version: 4.4.29 [root@rainyun-16dwllwu ~]#

没有任何配置, 数据没了?

这个就是我奇怪的地方,数据怎么会没有呢

Xiaoph123 commented 3 months ago

我的文件都在,目录结构都完整的

jamebal commented 3 months ago

也就是恢复备份后,1到2个星期左右mongodb里面的数据就没了

Xiaoph123 commented 3 months ago

今天下午6点我将恢复备份,在此期间可以测试一下什么原因

jamebal commented 3 months ago

看看这个命令的结果

docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").fileDocument.count();'
Xiaoph123 commented 3 months ago

也就是恢复备份后,1到2个星期左右mongodb里面的数据就没了

是的,会不会被攻击了? image

Xiaoph123 commented 3 months ago

看看这个命令的结果

docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").fileDocument.count();'

[root@rainyun-16dwllwu ~]# docker exec -it jmalcloud_mongodb mongo --eval 'db.getSiblingDB("jmalcloud").fileDocument.count();' MongoDB shell version v4.4.29 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("5932c5cd-05ec-44d3-9c58-d77711e5a762") } MongoDB server version: 4.4.29 0 [root@rainyun-16dwllwu ~]#

jamebal commented 3 months ago

进入mongodb看看有没有别的东西:

  1. 进入mognodb
    docker exec -it jmalcloud_mongodb mongo
  2. 查看数据库
    show dbs;
Xiaoph123 commented 3 months ago
[root@rainyun-16dwllwu ~]# docker exec -it jmalcloud_mongodb mongo
MongoDB shell version v4.4.29
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("5ee2aa9c-6495-40da-9d31-82c2cfcda74e") }
MongoDB server version: 4.4.29
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
    https://community.mongodb.com
---
The server generated these startup warnings when booting: 
        2024-07-05T11:56:48.370+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2024-07-05T11:56:48.370+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
        2024-07-05T11:56:48.370+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
---
> show dbs;
READ__ME_TO_RECOVER_YOUR_DATA  0.000GB
admin                          0.000GB
config                         0.000GB
jmalcloud                      0.001GB
local                          0.000GB
> 
Xiaoph123 commented 3 months ago

这个readme 我被勒索了吗这是

jamebal commented 3 months ago

这个readme 我被勒索了吗这是

是的, 里面的数据都被删除了

Xiaoph123 commented 3 months ago

有什么办法能恢复吗

jamebal commented 3 months ago

默认的docker-compose.yml, 是没有设置mongodb帐号密码的, 你应该没有暴露mongodb的端口吧

jamebal commented 3 months ago

看是服务器被黑了, 还是只是mongodb被黑了

Xiaoph123 commented 3 months ago

默认的docker-compose.yml, 是没有设置mongodb帐号密码的, 你应该没有暴露mongodb的端口吧

没有暴露mongodb的端口

Xiaoph123 commented 3 months ago

看是服务器被黑了, 还是只是mongodb被黑了

这个我需要怎么排查

Xiaoph123 commented 3 months ago

如果是mongodb被黑怎么办

jamebal commented 3 months ago

没有暴露mongodb的端口证明mongodb无法从外部访问

jamebal commented 3 months ago

查查服务器ssh登录日志, 看看有没有其他人登录

jamebal commented 3 months ago

如果是mongodb被黑怎么办

恢复备份, 之后加上帐号密码

Xiaoph123 commented 3 months ago

如果是mongodb被黑怎么办

恢复备份, 之后加上帐号密码

具体如何做,怎么添加账号和密码

Xiaoph123 commented 3 months ago

查查服务器ssh登录日志, 看看有没有其他人登录

ssh被暴力了