MongoDB 用户名密码登录

介绍:

作为一名开发人士都会分晓大家做的品种都要用到数据库,数据库都急需账号和密码,可是难题来了,做的东西多了那么些没用的账号和密码还在哪儿纠缠着大家。全部大家不能够忍了剔除掉她。

网上海人民广播电视台湾大学都以2010的是删除方案,知道自家看看了那篇:http://stackoverflow.com/questions/349668/removing-the-remembered-login-and-password-list-in-sql-server-management-studio

Mongodb enable authentication

MongoDB
暗中认可直接连接,无须身份验证,如若当前机械能够公网访问,且不理会Mongodb
端口(默认27017)的怒放情形,那么Mongodb就会时有爆发安全危害,被运用此布局漏洞,入侵数据库。

本子路径表达

SQL Server Management Studio 2016 delete the file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server Management Studio 2014 delete the file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server Management Studio 2012 delete the file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server Management Studio 2008 delete the file C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server Management Studio 2005 delete the file – same as above answer but the Vista path. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

注意:AppData是2个东躲青海文件夹。您供给在财富管理器中展现隐藏的公文夹。

地方只是简述了所对应版本要求删除的文件路径。依旧必要我们手动去找到然后删除相应文件的。

自然大家也能够不那样这就复制上面包车型地铁门径吧。

 

 SQL Server Management Studio 2016 :%AppData%\Microsoft\SQL Server Management Studio\12.0\

 SQL Server Management Studio 2014 :%AppData%\Microsoft\SQL Server Management Studio\12.0\

 SQL Server Management Studio 2012 :%AppData%\Microsoft\SQL Server Management Studio\11.0\

 SQL Server Management Studio 2008 :%AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\ 

 SQL Server Management Studio 2005 :%AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\   

这么找到呼应版本数据库,直接复制版本前边的不二法门,然后在依照第1个代码路径找到要求删除的文书名即可。那样是否很爽啊。

简单蒙受凌犯的条件

  • 动用私下认可 mongod 命令运营 Mongodb
  • 机械能够被公网访问
  • 在公网上盛开了 Mongodb 端口

有惊无险风险

  • 数据库隐秘走漏
  • 数据库被清空
  • 数据库运维缓慢

缓解方案

1. 禁止公网访问 Mongodb 端口

1.1 互联网铺排

鉴于互连网布局同仁一视,必要基于自个儿其实条件实行陈设,不作冗述。差不多可以从以下方面禁止。

  • 在路由器中关闭端口转载
  • 防火墙 iptables 禁止访问

1.2 验证端口能还是无法访问形式

在外网机器命令行中运营

telnet your.machine.open.ip 27017

2. 启用验证

2.1 创造用户管理员账户

方今数据库版本:Mongodb 3.4

接纳 mongod 运营数据库
新建终端

mongod --port 27017 --dbpath /data/db1

参数默许能够不加,若有自定义参数,才要加上,下同。

另起贰个极限,运营下列命令

mongo --port 27017

use admin

db.createUser(
  {
    user: "adminUser",
    pwd: "adminPass",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

领队创设成功,未来拥有了用户管理员
用户名:adminUser
密码:adminPass
下一场,断开 mongodb 连接, 关闭数据库
两极分化下 <C – c>

2.2 Mongodb 用户验证登陆

起步带访问控制的 Mongodb
新建终端

mongod --auth --port 27017 --dbpath /data/db1

后天有二种艺术开始展览用户地点的印证
第一种 (类似 MySql)
客户端连接时,内定用户名,密码,db名称

mongo --port 27017 -u "adminUser" -p "adminPass" --authenticationDatabase "admin"

第二种
客户端连接后,再举行验证

mongo --port 27017

use admin
db.auth("adminUser", "adminPass")

// 输出 1 表示验证成功

2.3 成立普通用户

经过看似创造管理员账户,只是 role 有所分裂

use foo

db.createUser(
  {
    user: "simpleUser",
    pwd: "simplePass",
    roles: [ { role: "readWrite", db: "foo" },
             { role: "read", db: "bar" } ]
  }
)

近日大家有了1个普通用户
用户名:simpleUser
密码:simplePass
权力:读写数据库 foo, 只读数据库 bar。

注意
NOTE
WARN
use foo意味着用户在 foo 库中创制,就必定要 foo
库验证身份,即用户的音讯跟随随数据库。比如上述 simpleUser 即便有 bar
库的读取权限,然而一定要先在 foo
库举办身份验证,直接待上访问会唤起验证战败。

use foo
db.auth("simpleUser", "simplePass")

use bar
show collections

还有有些亟需小心,要是 admin
库没有任何用户来说,即使在别的数据库中开创了用户,启用身份验证,暗中认可的一而再格局照旧会有超级权限

2.4 内建角色

  • Read:允许用户读取钦命数据库
  • readWrite:允许用户读写钦赐数据库
  • dbAdmin:允许用户在钦赐数据库中实践管理函数,如索引创设、删除,查看总计或访问system.profile
  • userAdmin:允许用户向system.users集合写入,能够找钦赐数据Curry创制、删除和管制用户
  • clusterAdmin:只在admin数据库中可用,赋予用户拥有分片和复制集相关函数的管理权限。
  • readAnyDatabase:只在admin数据库中可用,赋予用户拥有数据库的读权限
  • readWriteAnyDatabase:只在admin数据库中可用,赋予用户拥有数据库的读写权限
  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户全体数据库的userAdmin权限
  • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户全部数据库的dbAdmin权限。
  • root:只在admin数据库中可用。一级账号,顶级权限

2.5 URI 形式的造访

生产中常用 ULX570I 情势对数据库举办连接

mongodb://your.db.ip.address:27017/foo

加上用户名密码验证

mongodb://simpleUser:simplePass@your.db.ip.address:27017/foo

参考链接

结语

在行使数据库的长河中,一定要注意安全风险,由于 Mongodb
的默许配置,使得数据库有凌犯风险,应该给予防患。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图