![仅具有已知 php 软件的系统上的 php 安全性(或:需要替代的非 PHP CMS)](https://linux22.com/image/582300/%E4%BB%85%E5%85%B7%E6%9C%89%E5%B7%B2%E7%9F%A5%20php%20%E8%BD%AF%E4%BB%B6%E7%9A%84%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%20php%20%E5%AE%89%E5%85%A8%E6%80%A7%EF%BC%88%E6%88%96%EF%BC%9A%E9%9C%80%E8%A6%81%E6%9B%BF%E4%BB%A3%E7%9A%84%E9%9D%9E%20PHP%20CMS%EF%BC%89.png)
由于 PHP 的安全记录以及该项目处理安全问题的方式,我对 PHP 深感反感。不幸的是,我必须部署一个 CMS,并且需要一个现代主题。到目前为止,我几乎到处都找过了,但最终还是选择了基于 PHP 的 CMS,因为这是大众正在使用的,也是设计师正在设计的目标。:(
现在我选择了 Drupal,这是一个维护良好的项目,在处理安全漏洞方面堪称典范。但总体而言,公开部署 php 的苦涩体验仍然存在。
到目前为止我所做的是:
- 使用 PHP-FPM 链接 PHP:套接字、chroot、非特权自己的用户……
- 强化了我的 Web 根目录周围的文件系统权限
- 继续使用 PHP 5.3.xw/ suhosin active(5.4.x 尚无 suhosin)
- 将 Drupal 不需要的每个模块都保留在 PHP 之外
- ...
说实话,我主要担心的是 PHP。我还能做些什么来保护主机?对于那些对 Drupal 和 PHP 更有经验的人(我自己就是一名 C++ 开发人员),PHP 在只部署一个已知包且没有用户 PHP 脚本或类似内容的系统上到底会带来多大的安全风险?
即使听起来是这样,但我并不是 Linux 或服务器新手。:) PHP 不是我的主要游戏领域,因为它反复出现并持续受到负面报道,而且我对 Web 开发缺乏兴趣......
或者,我真的很想使用依赖于 Perl、Python 甚至 Ruby 的 CMS。因此,如果有人知道一个好的 CMS 系统,该系统有好的付费主题可用,支持灵活的布局以及博客引擎,还支持 PostgreSQL(我选择的数据库),我会洗耳恭听...
感谢您花时间阅读这篇有点奇怪的帖子。:-)
更新:我忘了说了,不用说,我会妥善维护我的服务器,安装限制性防火墙,并尽我所能。
答案1
您提到您已安装受限防火墙 - 不要忘记您可以通过 UID 阻止传出连接。
如果您在自己的用户 ID 下运行 PHP,则可以(并且应该!)拒绝该用户传出的 HTTP/HTTPS 连接,除非您需要允许更新检查或 RSS 提要提取。这将阻止任何被利用的代码下载 rootkit。
答案2
我对你的问题有点困惑,但根据我的经验,我确实知道你的问题。说到模板构建,对于许多设计师来说,Wordpress(即使最初没有计划作为 CMS)而不是 Drupal 可能是最佳选择。
我一直在运行只安装了 wordpress 的虚拟服务器,只要你经常更新软件包,就不会出现重大故障。除了有人尝试缓存 cookie 的几次失败尝试外,我还看到了一些令人不安的事情。
我的问题在于 php 的普遍漏洞以及利用安全漏洞的用户数量,这也是我不加入流行的 Java web 开发世界的原因。我的解决方案是使用Python Web 框架具体来说Django 项目。我主要关注的是 Web 服务、应用程序或网站的前端,而 Django 在后端运行良好。一旦您拥有 html/css 设计的模板,为其设计模板就变得非常容易,这似乎就是您正在寻找的。
希望这能给您带来一些关于 CMS 可能性的不同看法并在一定程度上回答您的问题。