DreamFactory 第8章 保护您的DreamFactory环境

原文链接: https://guide.dreamfactory.com/docs/chapter08.html#cors-security

DreamFactory 第8章 保护您的DreamFactory环境

 

DreamFactory平台建立在Laravel框架之上。Laravel是一个令人惊叹的基于PHP的框架,在短短几年内,它变得越来越流行,无论使用哪种语言,它都已成为当今最受欢迎的框架解决方案之一。我们推测这种飙升的原因有很多,包括彻底务实的方法,安全至上的实现,出色的文档和全面的生态系统(除了框架本身之外,Laravel开发团队还维护着一个名为Spark的电子商务框架。 ,一个名为Nova的应用程序管理工具包,以及一个名为Envoyer的应用程序部署服务,无论如何,您都将想学习所有关于如何最好地维护和保护环境的知识。

 

安全

CORS安全

始终确保CORS仅针对适当的“方案/主机/端口元组”设置设置,以确保只有在没有其他方法可以访问跨源资源时,才能遵守最大的安全性。有关CORS其工作原理的详细说明,请参阅本文。

  • 您可以CORS在DreamFactory Config选项卡下修改设置。

DreamFactory 第8章 保护您的DreamFactory环境_第1张图片

 

对于数据库支持的API,请使用与您的API特权要求非常接近的数据库帐户特权来创建API。例如,如果数据库包含一个名为的表,employees但不打算通过API访问该表,则相应地配置代理用户的特权。

切勿对您的API使用通用API密钥!而是创建明确定义要通过API公开的特权级别的角色,然后将该角色与新的应用程序和相应的API密钥相关联。如果您想基于每个客户端或组以不同的方式限制API访问,请不要害怕创建多个角色,从而创建多个相应的API密钥。

如果需要使API文档可供团队成员使用,请使用DreamFactory的以用户为中心的角色分配功能,使文档仅对团队成员可用,而不是授予不必要的管理访问权限。

DreamFactory 第8章 保护您的DreamFactory环境_第2张图片

 

保护您的网络流量

从网络角度看,DreamFactory是一个典型的Web应用程序,这意味着您可以使用SSL证书轻松加密平台与客户端之间的所有Web通信。除非您已采取措施向Web服务器添加SSL证书,否则默认情况下,DreamFactory实例将在端口80上运行,这意味着DreamFactory服务器与客户端之间的所有流量都将不加密,因此需要捕获和检查。要解决此问题,您需要安装SSL证书。我们最喜欢的资源创造SSL证书的是让我们的加密。

以下是有关如何向Web服务器添加SSL证书的资源:

  1. Nginx的
    • Nginx YouTube视频
  2. Apache YouTube示例

 

抑制错误

当在生产环境中运行DreamFactory,一定要设定.env文件的APP_ENV价值productionAPP_DEBUGfalselocal将其设置为会导致将与错误相关的详细信息返回给客户端,而不是悄悄地记录到日志文件中。在生产环境中正确设置后,您的.env文件将如下所示:

...
APP_DEBUG=false
## Environment this installation is running in: local, production (default)
APP_ENV=production

 

实施基于角色的访问控制

混淆敏感数据

将Web管理界面与平台分开

新的DreamFactory用户经常将Web管理界面与API平台进行合并;实际上,Web管理界面就像其他客户端一样。碰巧的是,DreamFactory团队专门构建了此特定接口,以管理能力管理平台。该接口使用平台公开的一系列管理API与平台进行对话,并且仅在请求伴随有与经过身份验证的管理员关联的会话令牌时才可以访问。

默认情况下,此接口与平台本身在同一服务器上运行。一些用户更喜欢将两者完全分开,在一个网络环境中运行界面,而在另一个网络环境中完全隔离平台。

待办事项:将链接添加到df-admin-app自述文件。

 

你可能感兴趣的:(DreamFactory 第8章 保护您的DreamFactory环境)