【重要】docker 安装fecshop的方式,mongodb没有密码造成可以被远程访问清库

官方公告 · Fecmall · 于 5年前 发布 · 3457 次阅读

docker 安装fecshop的方式,也就是通过:https://github.com/fecshop/yii2_fecshop_docker

由于mongodb没有用户名和密码,进而造成可以远程访问,@kyohaha 遇到了这个问题:http://www.fecshop.com/topic/1176 ,数据库被清空,收到了勒索信息

"_id" : ObjectId("5b304ddb79620f990b69f9b9"),
"BitCoin" : "3GKioTFrCFYcTmZR4DXPGatTXXp6Ugcq79",
"eMail" : "backupservice@protonmail.com",
"Exchange" : "https://localbitcoins.com",
"Solution" : "Your Database is downloaded and backed up on our secured servers. To recover your lost data: Send 0.4 BTC to our BitCoin Address and Contact us by eMail with your server IP Address and a Proof of Payment. Any eMail without your server IP Address and a Proof of Payment together will be ignored. You can apply for a backup summary within 12 hours. Then we will delete the backup. You are welcome!"

这个已经进行了修复,也就是把除了web容器外的其他的ports去掉即可,也就是其他的不开放对外端口。

替换后,重启docker-compose

docker-compose stop
docker-compose up -d

官方的配置都进行了修复:

https://github.com/fecshop/yii2_fecshop_docker/blob/master/docker-compose.yml

请docker安装的尽快修复这个问题。

该bug反馈来自于帖子:http://www.fecshop.com/topic/1176

共收到 6 条回复
thinkthink#15年前 0 个赞

请教,修改后一直提示如下错误。

mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=0aaceab7c442
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] db version v3.6.2
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] git version: 489d177dbd0f0420a8ca04d39fd78d0a2c539420 mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1t 3 May 2016
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] allocator: tcmalloc
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] modules: none
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] build environment:
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] distmod: debian81
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] distarch: x86_64
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] target_arch: x86_64
mongodb_1 | 2018-06-26T15:46:33.965+0000 I CONTROL [initandlisten] options: { net: { bindIp: "php,ssh1" } }
mongodb_1 | 2018-06-26T15:46:33.966+0000 E STORAGE [initandlisten] Failed to set up listener: SocketException: Cannot assign requested address
mongodb_1 | 2018-06-26T15:46:33.966+0000 I CONTROL [initandlisten] now exiting
mongodb_1 | 2018-06-26T15:46:33.966+0000 I CONTROL [initandlisten] shutting down with code:48
yii2fecshopdocker_mongodb_1 exited with code 48

Fecmall#25年前 0 个赞

您好,我找到了更好的方式,上面的原因也是因为我对docker熟悉度不够

其实,关闭端口就可以了,除了nginx,其他的端口不要开放就可以,docker容器之间是可以通信的

https://github.com/fecshop/yii2_fecshop_docker/blob/master/docker-compose.yml

已经更新了,您参考这个文件就改把,把 ports去掉(除了web容器,也就是nginx的80 不要去掉),其他的去掉 ,另外mongodb的绑定ip的部分也去掉。

您参考最近的docker-compose.yml文件即可,进行了更新。

Fecmall#35年前 0 个赞

文档内容部分重新进行了更新。

thinkthink#45年前 0 个赞

谢谢回复,设置过了,这样设置是可以的

coolhector#55年前 0 个赞

把 mongodb 的端口删掉之后,如何 通过 RoboMongo 连接容器中的 mongodb 数据库?

Fecmall#65年前 0 个赞

@coolhector #5楼 docker开启了一个ssh容器,通过ssh连接

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics