在生产服务器上安装开发工具的注意事项

我想在生产CentOS盒子上安装一些软件,这些软件在仓库中是不可用的(比如tmux等)。 我可以下载源代码并在本地进行编译,但为此我需要在生产环境中使用开发工具(gcc等)。 在生产箱上安装开发工具是一个好主意吗?

我是生产机器上的反开发工具。 我曾经说过这样的话,反对一些模糊的“Unix哲学”,但我坚信:

  • 在一台机器上拥有“过量”的软件意味着更多的“移动部件”和更大的失败几率

  • 为您提供的开发工具意味着它们适用于可能未经授权访问您的计算机的攻击者

  • 在生产机器上从头开始编译事情,与我认为的严格的变更控制stream程背道而驰。

我相信花费时间为您需要编译的程序创build打包的二进制文件的“税”是值得的麻烦。 我认为它也促进了良好的变更控制措施。

在生产系统上使用开发工具的操作/安全方面的主要风险是简单的

  • 安装的软件越多,攻击面越大,需要维护的就越多
  • 大多数从源部署软件的人在初始部署成功后都不会对其进行维护
  • Linux上的大多数软件维护和报告工具都是面向软件包的,而且从源头上部署的软件报告并不是很好。 通常你不会知道你有过时的软件风险。

为了 :

  1. 使用来自维护良好的软件包的软件包,让维护人员担心以下邮件列表,CVE公告,错误跟踪,构build和testing包等,
  2. build立你自己的软件包,并自己做上述。 build立在开发或构build系统上,在部署之前在UAT中进行testing和发布pipe理。