MongoDB中怎么实现安全管理

MongoDB中怎么实现安全管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、做网站、潮州网络推广、微信平台小程序开发、潮州网络营销、潮州企业策划、潮州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供潮州建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

方式一 iptables设置
Linux防火墙设置只有应用程序所在的服务器ip才能访问MongoDB所在的服务器。
Linux禁止某个IP地址访问其实非常的简单,最常用的办法就是使用iptalbes来操作。这个方法跟MongoDB本身没有关系,而是借用Linux的iptalbes功能,限制允许访问MongoDB端口的ip地址,具体做法(ip和端口需要读者自己对应)如下:

# 拒绝所有访问27017端口的请求


sudo iptables -I INPUT -p tcp --dport 27017 -j DROP
 
# 允许192.168.1.1服务器访问mongo端口


sudo iptables -I INPUT -s 192.168.1.1 -p tcp --dport 27017 -j ACCEPT


sudo iptables-save


或者


vi /etc/sysconfig/iptables



iptables -I INPUT -p tcp --dport 27017 -j DROP
iptables -I INPUT -s 192.168.1.1 -p tcp --dport 27017 -j ACCEPT


这两句加在


-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited


的前面。


然后重启防火墙


service iptables restart


查看防火墙状态


service iptables status




这样就只允许192.168.1.1服务器访问MongoDB服务了。
注意命令的顺序不能反了。如果不只限制一个端口而是限制所有端口的访问把--dport 27017去掉即可。






方式二 hosts.allow和hosts.deny


Linux中的配置文件/etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。执行的顺序是先deny再allow,所以如果两个文件的配置有冲突,以/etc/hosts.allow为准。
/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过它们可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。服务用进程名来识别,比如MongoDB的服务进程名是mongod,我们限制所有ip访问,除非ip是192.168.1.1。


编辑hosts.deny:


vi /etc/hosts.deny


拒绝一切ip访问MongoDB服务输入内容:


# no mongod
mongod:all:deny


Esc输入:wq保存离开。


mongod:all:deny表示拒绝所有ip访问mongod服务。:deny可以省略写成mongod:all。




编辑hosts.allow:


vi /etc/hosts.allow


允许192.168.1.1访问MongoDB服务输入内容:


mongod:192.168.1.1


Esc输入:wq保存离开。




修改完后重启拦截器让刚才的更改生效:


service xinetd restart


经过设置之后需要进行校验,测试限制是否生效,如果是比较重要的数据,不满足于限制ip访问,那就把用户认证加上,这个需要读者自己权衡。


对于安全度要求高的数据库,还可以启用SSL。
如果你没有使用SSL,那么你在MongoDB客户端和MongoDB服务器之间的传输的数据就是明文的,容易受到窃听、篡改和“中间人”攻击。如果你是通过公网这样的非安全网络连接到MongoDB服务器,那么启用SSL就显得非常重要。


详细的SSL配置可以查看官网:
https://docs.mongodb.com/manual/tutorial/configure-ssl/ 。






方式三 不要将MongoDB与其他服务部署到同一机器上




请在启动MongoDB时关闭NUMA功能,按照提示在启动命令前加上 numactl --interleave选项,启动时使用命令如下:


numactl --interleave=all  mongod  --dbpath=/data/db/ --fork --logpath=/data/logs/db.log 


如果系统中没有numactl命令,使用yum安装


yum install -y numactl


再使用命令


echo 0 > /proc/sys/vm/zone_reclaim_mode
vi /proc/sys/vm/zone_reclaim_mode
sysctl -w vm.zone_reclaim_mode=0

关于MongoDB中怎么实现安全管理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。

新闻名称:MongoDB中怎么实现安全管理
分享地址:https://www.cdcxhl.com/article4/jseooe.html

成都网站建设公司_创新互联,为您提供面包屑导航电子商务网页设计公司微信公众号小程序开发云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设