首页 百科知识 关于数据库默认匿名访问的一点建议

关于数据库默认匿名访问的一点建议

时间:2023-09-18 百科知识 版权反馈
【摘要】:MongoDB由于默认可匿名访问而导致了一大堆的管理员掉坑里,预估中国有十万数据库被坑。这样做会比直接注释掉更加安全。PS:个人建议此处添加你需要连接MongoDB服务器的IP地址、而不是改成0.0.0.0。这样做会更安全。好了、配置文件更改完毕,现在可以外网访问我们的MongoDB了!

MongoDB由于默认可匿名访问而导致了一大堆的管理员掉坑里预估中国有十万数据库被坑。这是继Redis之后又一个小白式的错误······(Redis也是默认匿名访问)

1、Redis

(1)安装Redis: 

ps :如果以上有报错,可能是你的服务器没有安装依赖:

CentOS7:

只写关于Linux的、Windows的很简单,配置文件通用。

(2)安装完成后,在目录 redis-3.2.7中有一个redis.conf的配置文件,按照默认习惯我们将其复制到/etc目录下:

PS:请使用复制(cp)而不要使用移动(mv);毕竟你要弄错了还可以再拷贝一份儿过去用不是?

(3) 使用vim编辑刚刚拷贝的redis.conf

PS:使用vim需要先安装

CentOS7:

我们需要注意以下几项:

1、注释掉47行的bind 127.0.0.1(这个意思是限制为只能 127.0.0.1 也就是本机登录)PS:个人更建议 将你需要连接Redis数据库的IP地址填写在此处,而不是注释掉。这样做会比直接注释掉更加安全。

2、更改第84行port  6379 为你需要的端口号(这是Redis的默认监听端口)PS:个人建议务必更改

3、更改第128行 daemonize no 为 daemonize yes(这是让Redis后台运行) PS:个人建议更改

4、取消第 480  # requirepass foobared 的#注释符(这是redis的访问密码) 并更改foobared为你需要的密码 比如 我需们需要密码为123456 则改为  requirepass 123456。

PS:密码不可过长否则Python的redis客户端无法连接

(4)以上配置文件更改完毕,需要在防火墙放行:

请将xxxx更改为你自己的redis端口。

(5)重启防火墙生效:

(6)指定配置文件启动redis:

(7)加入到开机启动:

一个较为安全的redis配置完毕。

redis的桌面客户端我推荐:RedisDesktopManager

这次MongoDB挺惨啊!由于默认匿名访问、下面给MongoDB配置一点安全措施:

(1)安装MongoDB:

建一个yum源

写入以下内容:

安装mongoDB以及相关工具:

启动MongoDB:

PS:如果你的服务器在使用SELinux的话,你需要配置SElinux允许MongoDB启动,当然更简单的方法是关掉SElinux。

将第7行设置为:SELINUX=disabled

停止MongoDB:

sudo service mongod stop

上面安装完成了MongoDB。下面要步入正题了:

(2)备份和更改配置文件:

更改第28行 prot 2701为你需要更改的端口。(这是MongoDB默认的监听端口)

更改第29行 bindIp: 127.0.0.1为0.0.0.0。(MongoDB默认只能本地访问)

PS:个人建议此处添加你需要连接MongoDB服务器的IP地址、而不是改成0.0.0.0。这样做会更安全。

(3)启动MongoDB:

mongod --config /etc/mongod.conf

意思是:指定/etc/mongod.conf为配置文件启动MongoDB。

好了、配置文件更改完毕,现在可以外网访问我们的MongoDB了!不需要用户名!匿名的!现在我们进行下一步设置。

(4)因为MongoDB默认是匿名访问的、我们需要开启用户认证。

(a)首先我们需要连上MongoDB服务器(别忘了防火   墙放行你使用的端口啊!!!)

(b)连上之后大慨是这个样子:

(c)按下Ctrl+T 打开shell界面输入一下内容:

(d)再点击run运行即可 会在信息栏中提示True 现在断开数据库连接、再打开会发现多出一个admin的数据库。

上面的都做了些什么呢?

首先我们新建了一个admin的数据库(MongoDB的原则哦、有则切换没有就创建)

然后在admin数据中创建了一个用户 和 密码 赋予了这个用户管理admin数据库 所有数据库用户的权限。

至于有那些权限 在注释中都有写哦!常用的我估摸着写了个对应意思·········

OK!搞定这一部分 就可以开启MongoDB的用户认证了!

怎么开启呢?首先关闭正在运行的MongoDB:

上面的命令会找出MongoDB的进程号、然后运行kill 进程号即可!

开启MongoDB:

意思是:以认证模式 指定/etc/mongod.conf启动 MongoDB。

加入开机启动:

好了!现在MongoDB也配置完成 啦!

(5)现在如果你需要新建一个用户让其使用数据库 你该怎么做呢?

首先你需要连接到admin数据库!

(a)在选项Basic中照常配置:

(b)需要额外设置的是Authentication选项:

(c)连接成功后大概是这个样子:

(d)需要注意的一点是:这个用户只能看到所有的数据库和用户、并不能看到数据!因为我们创建的时候只给了所有数据库用户管理的权限哦!

(e)然后打开shell界面按照创建admin的模板执行即可。

创建完成后,就可以用创建好的用户名和密码去链接有权限的数据库啦。是不是So Easy!

来源网址:



免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈