强化 hhvm ini 文件的最佳实践是什么?

强化 hhvm ini 文件的最佳实践是什么?

为了提高安全性,

  • 是否有任何最佳实践或“必须具备”来配置 HHVM 设置?
  • 从安全方面来说有哪些是绝对重要的?
  • 对于大多数用例,建议使用什么?

研究官方文档,有大量的设置需要配置:https://github.com/facebook/hhvm/wiki/INI-Settings

答案1

我推测 HHVM 的安全最佳实践与 PHP 类似或相同。根据我的经验,HHVM 的行为与 PHP 基本相似,只是它倾向于对变量类型实施更严格的约束。

详细来说:

  1. 强化环境。服务器软件当然: http://www.cyberciti.biz/tips/linux-security.html
  2. 在适用的情况下,在服务器之间分发服务。一个服务器上的数据库、另一个服务器上的 Memcache 等等。为了尽可能保证系统故障安全:隔离故障点。
  3. 授予所需的最低权限对您 Web 服务器上的任何项目。至少,属于 Web 服务器的文件的所有者永远不应是 root,并且可写文件夹应保留在 Web 根目录之外。这是为了限制特权升级的影响,并减轻代码上传和注入的风险。
  4. 这是有争议的,它们是默认启用的,但许多网络主机使用php.ini禁用 exec 或 proc_open 等功能。在共享环境中,他们基本上会为任何 php 开发人员提供 shell。在 vps 上,他们很可能会向外部用户授予 shell。权限提升并不遥远。
  5. 其余的,以及php.ini 特定项目,在本文中进行了足够详细的讨论:http://www.madirish.net/199

其他考虑因素包括通用容错内存消耗,使用精简软件(例如,优先选择 Nginx 及其低内存占用),以降低拒绝服务的风险以及可能的调试或编译时文件。等式:当组件发生故障时,您不希望任何人读取核心转储(包括 HHVM),而 HHVM 会产生.hhvm.hhbc 文件- 缓存的字节码文件。您还想隐藏、保留,甚至可能以某种方式进行操作。

更多详细信息(自 2012 年起)请参见此处:http://hhvm.com/blog/4061/go-faster

有些可能仍然适用。

相关内容