mongo创建安全扫描账号手册

一、说明

配合安全团队,对每个DBA接管的数据库,提前埋入安全扫描账号。

二、操作

找到primary节点

在 confluence中找到DBA接管的mongo信息。

http://172.20.171.9:8090/display/MON/ph.table.ordering

本次以 ph.table.ordering 的mongo为例,根据一个IP:172.21.25.155 找到primary节点

css 复制代码
# 
172.22.90.207

# 连接节点的mongo服务
mongo -u admin -p 'admin'  --port=27017  --authenticationDatabase admin --host=172.21.25.155


# 将从节点设置为可读
ssp:SECONDARY> db.getMongo().setSlaveOk()
WARNING: setSlaveOk() is deprecated and may be removed in the next major release. Please use setSecondaryOk() instead.
ssp:SECONDARY>


# 查找成员中primary节点
rs.status().members
# 如下显示为 primary节点
{
                "_id" : 2,
                "name" : "172.21.24.172:27017",
                "health" : 1,
                "state" : 1,
                "stateStr" : "PRIMARY",
                "uptime" : 9684775,
                "optime" : {
                        "ts" : Timestamp(1693287740, 29),
                        "t" : NumberLong(2)
                },
                "optimeDurable" : {
                        "ts" : Timestamp(1693287740, 29),
                        "t" : NumberLong(2)
                },

连接primary

css 复制代码
# 
mongo -u admin -p 'admin'  --port=27017  --authenticationDatabase admin --host=172.21.24.172

查看业务库名

bash 复制代码
# 找到业务库
ssp:SECONDARY> show dbs
admin      0.000GB
config     0.000GB
local      4.756GB
ssp_menu  24.788GB

切换到业务库名

perl 复制代码
# 切换到业务库
use ssp_menu

查看该库下有哪些账号

bash 复制代码
# 在业务库中找用户名
db.getUsers()

创建安全扫描账号

php 复制代码
# 安全扫描账号和密码都是统一固定,标黄的为业务库名字,需要根据实际库名决定
db.createUser({ user: "sec_db_scan", pwd: "y*RkI22H", roles: [ {role: "read", db: "ssp_menu"}]})

验证

css 复制代码
# 使用安全扫描账号登录mongo
[root@xfzcvmmw170550 ~]# mongo -u sec_db_scan -p 'y*RkI22H'  --port=27017  --authenticationDatabase ssp_menu --host=172.21.24.172
MongoDB shell version v4.4.17
connecting to: mongodb://172.21.24.172:27017/?authSource=ssp_menu&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8af9b021-eb1c-488f-a45d-d6bbfa72f294") }
MongoDB server version: 4.4.17
ssp:PRIMARY>

完成

三、补充

安全账号和密码统一固定,权限:只读

安全扫描账号sec_db确认清单

数据库交付出去的时候,默认都是带有该账号

相关推荐
憧憬成为web高手5 小时前
ACTF 12307复现
前端·bootstrap·html
wordbaby5 小时前
Axios 上传大文件崩溃:鸿蒙 RNOH 下 XHR 返回空响应头引发的"假失败"
前端·react native
wordbaby6 小时前
React Native 列表分页实战:下拉刷新与上拉加载的工程化方案
前端·react native
wordbaby6 小时前
脱离 Tab 栏的艺术:React Native 全屏子页面的导航架构实践
前端·react native·harmonyos
陈随易6 小时前
Redis 8.8发布,一定要更新
前端·后端·程序员
wordbaby7 小时前
React Native 新架构落地鸿蒙:跨三端政务级应用的工程实践与深度复盘
前端·react native·harmonyos
excel8 小时前
为什么我推荐使用 Termius:现代 SSH 工具的完整体验
前端·后端
ZC跨境爬虫8 小时前
模块化烹饪小程序开发日记 Day7:(菜谱详情接口开发与JSON数据读取全流程)
前端·javascript·css·ui·微信小程序·json
এ慕ོ冬℘゜8 小时前
JS 前端基础面试题
开发语言·前端·javascript
LaughingZhu8 小时前
Product Hunt 每日热榜 | 2026-05-25
前端·人工智能·经验分享·chatgpt·html