首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不使用默认端口时mongo的几个坑(使用巡风时)

不使用默认端口时mongo的几个坑(使用巡风时)

作者头像
C4rpeDime
发布2018-08-29 11:25:53
2.2K0
发布2018-08-29 11:25:53
举报
文章被收录于专栏:黑白安全黑白安全

背景: 在企业安全中,比较基础的一块就是:资产漏洞管理; 巡风(关于巡风,点击此处了解)可以用来做这件事,当然某些地方需要根据自己实际情况修改、增加,这里不赘述; 其数据库为mongo;

在初步使用过程中,为了方便后续的开发,需要使用pycharm集成的mongo可视化插件, 这其中我们遇到了一些"不使用默认端口的坑"(大佬一笑而过。。。)

遇到两个问题:

1、无法shell连接数据库,mongo报错,

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第1张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第1张

指定使用的端口也没用

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第2张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第2张

2、pycharm的mongo插件无法连接,mechanism尝试default,报错如下,

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第3张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第3张

看到支持的机制,那就尝试MONGODB-CR,这次报错不一样了:认证失败 ;但那里认证失败了呢,不知道。。。

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第4张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第4张

解决:

1、首先搞清

mongo与mongod

要先启动mongod(有d的一般是守护进程,或服务本身),再mongo(连接服务)

2、发现巡风的数据库xunfeng配置时,指定了端口 65521,而不是默认的27017;

而巡风的配置文件Config.py里会写明,所以用巡风的脚本Run.sh启动时,完全没有问题;

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第5张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第5张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第6张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第6张

但是,如果自己以shell方式要连接mongo时,如果以默认命令 mongo去连接就会报错,认证失败;

那么,就在在启动mongod的时候指定 端口65521来启动,

# mongod --port 65521 --dbpath=/var/lib/mongodb

(或更改mongod的配置文件,并# mongod --config /etc/mongodb.conf 以生效);

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第7张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第7张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第8张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第8张

然后去连接mongo 127.0.0.1:65521/xunfeng

成功!

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第9张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第9张

3、pycharm中安装mongo可视化插件时

会提示认证失败,一直找不到原因;

直到通过以上步骤shell连接上数据库,查看用户信息后才发现:

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第10张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第10张

(你说坑不坑,错误提示里是没有的啊,为啥当时没有多试一个;))

在这里选择相应的方式

不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第11张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第11张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第12张
不使用默认端口时mongo的几个坑(使用巡风时) 安全工具 第12张

成功

这里记着要用使修改后的conf生效(但为啥:每次都要指定,或用配置文件启动 ),这样才会连接成功;

总结:

其实就是数据库的服务启动时的问题,

1、没有启动服务

2、在没有使用默认端口的情况下没有指定使用的端口,(配置文件里也没有写)

后续

启动mongod服务的,写在开机启动服务里,并在后台运行 就好;这样不用每次都手动启动

进入 /etc/rc.local 

在最后写 启动mongod的命令

mongod --port 65521 --dbpath=/var/lib/mongodb &

(或更改mongod的配置文件,并# mongod --config /etc/mongodb.conf &);

注:

1、记得写 “空格 &” 以后台形式运行;不然会在启动的时候卡住

2、如果有exit 0,上述命令写在exit 0 的前面;(exit 0 表示退出当前脚本,后续命令不会执行)

有不对之处,望大家能交流、指正;

谢谢!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-072,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
主机安全
主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档