【发布时间】:2018-10-09 00:47:41
【问题描述】:
我正在开发 CMS,而我用于开发 CMS 的工具几乎完全是 CMS 本身(几乎完全不够好,因为我正在我的 CMS 中开发工具来自动化我所能做的一切)。如果我可以通过 PHP 为自己提供完整的 root 访问权限,甚至执行诸如直接从我的 CMS 重新启动 Nginx 之类的任务,那将有很大帮助。
对于我所做的一切,安全性必须是最重要的考虑因素。我不想简单地允许任何 PHP 脚本能够访问和修改我服务器上的任何文件。如何在不影响安全性的情况下允许某些 PHP 文件完成 root 访问?如果我可以为一个 PHP 文件启用整个根访问权限,那么在该文件中,我可以进行多项安全检查,例如检查 IP 地址、会话数据检查、检查唯一 cookie、两步验证等。我什至想要从我的 CMS 中实现我自己的 SSH 控制台。同样,这必须是 100% 安全的。
注意我正在使用 Plesk Onyx 版本 17.5.3(网络主机版、VPS 托管和通配符 SSL)和带有 PHP-FPM 7.1.16 的 Nginx。我不使用 Apache,但在我关闭它后它会一直重新启用。
【问题讨论】:
-
再说一遍,这必须是 100% 安全的。 没有什么能比得上 100% 安全的系统了。
-
@Dominik 也许是这样,但我仍然需要将安全作为我的首要任务。如果我在解决上述问题时不非常小心,我很容易削弱我的安全性并可能打开漏洞。但是,如果我能在不影响安全性的情况下解决上述问题,我已经可以想办法让我的系统比现在更安全。
-
如果安全是您最关心的问题,我根本不会使用 PHP。此外,您似乎在重新发明轮子,因为您正在自己开发一个完整的 CMS 并希望实现您的自己的 SSH 控制台。也许您应该寻找现有的解决方案来解决您面临的类似问题。例如,Webmin 项目会根据用户在 Web 界面中的操作以
root的形式执行命令。 -
@Dominik 我的网站依赖于
PHP,因为它是完全动态的。但是,我的客户将无法直接编写或上传 PHP。我创建了一个名为JHP Framework™的框架,它将JHP 代码解析为安全的PHP 代码并使用我的JavaScript库。这将允许我的客户编写完全动态的代码。可以安全地完成我计划做的所有事情,并且我已经取得了很大进展,但是如果我不非常小心,我可能会打开很多潜在的漏洞。这就是为什么安全必须是我的首要任务。
标签: php security nginx ssh root