仅具有已知 php 软件的系统上的 php 安全性(或:需要替代的非 PHP CMS)

仅具有已知 php 软件的系统上的 php 安全性(或:需要替代的非 PHP CMS)

由于 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 可能性的不同看法并在一定程度上回答您的问题。

相关内容