AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 119557
In Process
anonymous coward
anonymous coward
Asked: 2010-03-06 07:18:05 +0800 CST2010-03-06 07:18:05 +0800 CST 2010-03-06 07:18:05 +0800 CST

偏执的系统管理员 -vs- 过时的 PHP 版本

  • 772

偏执的系统管理员如何自信地跟上最新的稳定 PHP 版本?(安全修复程序经常出现)。

这是一个生产服务器,所以“破坏性的东西”把我的家伙吓死了。维护停机时间不是问题。

具体来说,我们正在运行最近的 Suse Enterprise Linux,但通用或更一般的答案是完全可以接受的。

您如何处理生产机器的安全更新?我们对这个家伙如此害怕只使用包管理器“更新”的东西如此无知?

有什么建议吗?

php security upgrade
  • 4 4 个回答
  • 390 Views

4 个回答

  • Voted
  1. voretaq7
    2010-03-06T07:46:38+08:002010-03-06T07:46:38+08:00

    我处理 PHP 的方式与处理其他所有事情的方式相同:首先升级开发环境(生产环境的 VMWare 克隆),对其进行回归测试,然后使用我们用于 VMWare 主机的相同部署模板将其提升到生产环境。(如果您使用包管理器进行升级,您将使用相同的包)。

    作为额外的绝缘层,我们的生产环境由成对的冗余主机组成,其中一台主机从生产轮换中取出以进行升级,然后在我们切换到该主机以升级其合作伙伴之前进行彻底测试。

    作为一般规则,安全更新会尽快应用,非安全/非关键错误修复更新每季度应用一次,以最大限度地减少停机时间。

    • 6
  2. Warner
    2010-03-06T07:23:37+08:002010-03-06T07:23:37+08:00

    PHP 是我保持更新到当前版本的首要任务。我相信它比大多数事情都要少。

    最终,您最好的选择是查看从当前版本到最新版本的每个变更日志,并切实权衡风险。

    如果您正在谈论升级次要版本,例如 5.3.1 到 5.3.2,我不会太担心。

    如果您从 5.2.x 升级到 5.3.x,您可能会引入一些兼容性问题。

    如果您使用系统包,通常发行版不会引入会破坏现有性能的升级。RHEL 和 CentOS 修补旧版本以进行修复,直到主要发行版发布。通常为您进行测试,从而降低风险。我希望 SuSE企业会是类似的。

    对于升级路径,最好的办法是在升级生产之前构建一个测试服务器并针对最新版本测试应用程序。

    • 4
  3. geocar
    2010-03-06T08:43:00+08:002010-03-06T08:43:00+08:00

    另一个不太受欢迎的答案是建立一个允许的 url 和功能的白名单。在 Apache 中,您可以通过结合代理和重写功能来做到这一点。

    基本上,您进行了两次安装,一次具有精简配置:代理、重写和不执行代码;等等。任何“允许”的 URL(带有参数等)都会被代理到第二次安装。

    然后,将自己添加到 PHP 的开发人员列表中,并仔细查看发行说明。任何时候你看到一些看起来可能是安全漏洞的东西,你在第一次安装时构建一个 shim 来检测这种故障,并向用户发送一个错误。

    在这样的设置中,您需要将 POST 重定向到一个过滤器(如果您需要 POST;某些站点通过仅允许来自某些 IP 地址的 POST 就可以正常工作!),它可以查找允许的来源,并预先验证一切。

    这样的白名单设置起来非常耗时,但是对于需要运行超过 PHP 的稳定寿命(似乎只有几年)的关键任务应用程序,这可能是利用大量 PHP 的绝佳方式应用程序也没有得到它们的漏洞。

    • 1
  4. Richard Holloway
    2010-03-06T16:30:44+08:002010-03-06T16:30:44+08:00

    除了上述之外,您还可以启用包回滚以防万一。

    然后,如果您绝对确定在开发中运行良好的生产中出现问题,您至少可以在解决问题之前快速撤消更改。

    有关Yum 中的示例,请参阅回滚 YUM 包。我相信其他包管理系统也有类似的。

    我知道这是腰带和牙套,我同意华纳的观点。微小的变化不应该破坏任何东西。就我个人而言,我在 PHP 升级方面没有遇到任何问题,但安全总比抱歉好。

    • 1

相关问题

  • 从多个位置保护远程服务器/工具访问的最佳方法是什么?

  • 在 SOHO 环境中实施的最佳 VPN 技术是什么?[关闭]

  • mod_rewrite 不转发 GET 参数

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve