企业架构LNMP学习笔记57

MongoDB的安全设置:

安全:

MongoDB的安全事件:

2017年年初:

企业架构LNMP学习笔记57_第1张图片

 

 利用SMB漏洞可以获得系统最高权限。wannacry勒索病毒。当年确实遇到过这个事情。

企业架构LNMP学习笔记57_第2张图片

比特币的概念:开源软件 P2P网络 P2P形式的数字货币。交易记录公开透明。去中心化的支付系统。

企业架构LNMP学习笔记57_第3张图片

任何人都可以挖掘、购买、出售和收取比特币。

企业架构LNMP学习笔记57_第4张图片

企业架构LNMP学习笔记57_第5张图片

MongoDB安全解决方法:

1)设置密码;

2)尽量不把数据摆放在公网,业务处理都尽量在内网执行;如果要放到公网,一定要设置好访问权限,绑定访问源IP;

3)数据进行备份;

云端数据是否加了安全锁。

1、限制登录:

1)使用另外一台虚拟机,使用mongo命令行进行测试:

企业架构LNMP学习笔记57_第6张图片

企业架构LNMP学习笔记57_第7张图片

正常情况下不要kill -9 mongod,使用mongo命令客户端里的关机命令。

企业架构LNMP学习笔记57_第8张图片

使用mongo命令客户端里的关机命令。

mongoDB启动的时候,我们要加入bind_ip的参数:

添加启动的脚本,启动mongod

bind是绑定的外网通讯的网卡。

#!/bin/bash
#mongodb服务操作
#chkconfig - 68 78
BASEDIR="/usr/local/mongodb"
BIN=$BASEDIR"/bin/mongod"
DBPATH=$BASEDIR"/data"
LOGPATH=$BASEDIR"/logs/log.txt"
BIND_IP='127.0.0.1,192.168.17.116'

#引入系统函数库
. /etc/rc.d/init.d/functions
#启动
start () {
  echo -n $"Starting $prog: "
  $BIN --dbpath=$DBPATH --logpath=$LOGPATH --fork --auth --bind_ip=$BIND_IP &>>/dev/null
  RETVAL=$?
  [ $RETVAL -eq 0 ] && echo 'starting'
}
#关闭
stop () {
  echo -n $"Stopping $prog: "
  $BIN --dbpath=$DBPATH --shutdown
  RETVAL=$?
  [ $RETVAL -eq 0  ] && echo 'stopd'
}
#重启
restart () {
  stop
  start
}
#查看状态
mongod_status () {
  status $BIN
}
case "$1" in
  start)
      start
      ;;
  stop)
      stop
      ;;
  restart)
      restart
      ;;
  status)
      mongod_status
      ;;
  *)
      echo "$EXE {start|stop|restart}"
esac

在启动脚本中,我们增加了bind_ip。

然后执行 来启动mongod。

service mongod stop

service mongod start

service mongod status

使用远程登录mongod服务:

在server02的服务器上进行这个操作:

企业架构LNMP学习笔记57_第9张图片

用户权限管理:

需求,设置一个超级管理员账户,对于所有库具有读写权限。

语法:

db.createUser({user:"root",pwd:"root",roles:["root"]})

实现步骤:

1)切换admin库,进行用户创建:

企业架构LNMP学习笔记57_第10张图片

在创建的过程中还出现了一些低级错误。

企业架构LNMP学习笔记57_第11张图片

关闭mongod服务,重启添加权限参数并启动:

企业架构LNMP学习笔记57_第12张图片

 在启动脚本文件中添加--auth:

企业架构LNMP学习笔记57_第13张图片

企业架构LNMP学习笔记57_第14张图片

 能切换数据库,但是已经没有办法查询了。

启动脚本中添加--auth。

> use admin
switched to db admin
>
> db.auth('root','root')
1
>

那现在已经有用户了。 

企业架构LNMP学习笔记57_第15张图片

 

我们再远程看:

企业架构LNMP学习笔记57_第16张图片

企业架构LNMP学习笔记57_第17张图片

企业架构LNMP学习笔记57_第18张图片

tp5shop数据库,goods表。然后表中有各种数据。

添加用户,限制用户的权限。

> db.createUser({user:'tp5shop',pwd:'123456',roles:[{role:'read',db:'tp5shop'}]})
Successfully added user: {
        "user" : "tp5shop",
        "roles" : [
                {
                        "role" : "read",
                        "db" : "tp5shop"
                }
        ]
}

在写这条命令的时候出现了很多错误。只有平时多练习的时候才能不会出错。

有图形化界面的工作来操作的,可能是方便的。工具最后还是执行的这些语句。

企业架构LNMP学习笔记57_第19张图片

但是如果想写数据,发现没有权限。

企业架构LNMP学习笔记57_第20张图片

你可能感兴趣的:(mongodb,架构,mongodb)