zoukankan      html  css  js  c++  java
  • MongoDB北大绿卡之安全建议

      1. 启用安全认证
        请开启安全认证,生成root用户和数据库对应的readWrite用户。
      2. 不要把生产环境的数据库暴露在互联网上
      3. 使用防火墙
        防火墙的使用可以限制允许哪些实体连接MongoDB服务器。最佳的措施就是仅仅允许你自己的应用服务器访问数据库。如果你把服务部署在亚马逊web服务 (AWS)上,你可以使用"安全组“功能限制访问权限。如果你把服务部署在不支持防火墙功能的提供商的主机上,那么你可以亲自使用"iptables"对 服务器进行简单的配置。请参考mongodb的文档,实现对你所面对的具体环境配置iptables。
      4. 使用key文件建立复制服务器集群
        指定共享的key文件,启用复制集群的MongoDB实例之间的通信。如下给配置文件中增加keyfile参数。复制集群里的所有机器上的这个文件的内容必须相同。
      5. 禁止HTTP状态接口
        默认情况下Mongodb在端口28017上运行http接口,以提供“主”状态页面。在生产环境下推荐不要使用此接口,最好禁止这个接口。使用"nohttpinterface"配置设置可以禁止这个http接口。
      6. 禁止REST接口
        在生产环境下建议不要启用MongoDB的REST接口。这个接口不支持任何认证。默认情况下这个接口是关闭的。如果你使用的"rest"配置选项打开了这个接口,那么你应该在生产系统中关闭它。
      7. 配置bindip
        如果你的系统使用的多个网络接口,那么你可以使用"bind
        ip"选项限制mongodb服务器只在与该配置项关联的接口上侦听。默认情况下mongoDB绑定所有的接口。
      8. 启用SSL
        如果你没有使用SSL,那么你在MongoDB客户端和MongoDB服务器之间的传输的数据就是明文的,容易受到窃听、篡改和“中间人”攻击。如果你是通过像internet这样的非安全网络连接到MongoDB服务器,那么启用SSL就显得非常重要。
      9. 基于角色进行认证
        MongoDB支持基于角色的认证,这样你就可以对每个用户可以执行的动作进行细粒度的控制。使用基于角色的认证组建可以限制对数据库的访问,而不是所有的用户都是管理员。更多的信息请参考有关角色的文档。
      10. 企业级MongoDB与kerberos
        企业级MongoDB继承了kerberos认证。有关这方面的更多信息请参考mongodb文档。基于用户名/密码的系统本身就是不安全的,因此如果可能的话,请使用基于kerberos的认证。
      11. baby独家建议
        现在很多安全厂商都支持安全组的概念,建议在生成环境下给MongoDB服务器加个只允许内网访问的安全组即可。

                

             原文地址:

          http://it.lindukj.cn/archives/1361

  • 相关阅读:
    FPGA--Cyclone中的时钟资源
    网易的翻译蛋
    程序员的健康问题,水桶腰
    如何像如何像 NASA 顶级程序员一样编程 — 10 条重要原则
    FOC_矢量控制相关资料
    BLDC 无刷电机FOC驱动 STM32官方培训资料
    ueditor插入百度音乐无法播放-403 问题
    phpstudy APACHE支持.htaccess以及 No input file specified解决方案
    linux数据库备份脚本
    阿里云centos 搭建SVN
  • 原文地址:https://www.cnblogs.com/clschen/p/5523897.html
Copyright © 2011-2022 走看看