生产服务器安装make是否安全?

Modified on: Fri, 16 Aug 2019 23:40:02 +0800

在设置虚拟服务器实例期间,我需要使用make构建一些应用程序。安装make是否存在安全风险?或者我应该在部署实例之前清理它吗?

我在服务器上也有gcc编译器,我在部署之前用它来构建应用程序。

作者:user130370,S-K'

最佳答案

有些人会争辩说,生产机器上的开发工具的存在将使攻击者的生活更轻松。然而,对于攻击者来说,这是一个微小的道路颠簸,你可以找到或反对安装开发工具的任何其他论点将会更加重要。

如果攻击者到目前为止能够穿透系统,他们可以调用服务器上存在的任何工具,那么您已经存在严重的安全漏洞。如果没有开发工具,还有许多其他方法可以将二进制数据写入文件,然后在该文件上运行chmod。此时想要在系统上使用自定义构建可执行文件的攻击者也可以在自己的计算机上构建它并将其传输到服务器。

还有其他更为相关的事情需要注意。如果安装的软件包含安全漏洞,则可以通过几种方式向攻击者公开:

  • 包可以包含suid或sgid可执行文件。
  • 包可以在系统上启动服务。
  • 软件包可以安装在某些情况下自动调用的脚本(这包括cron作业,但是其他事件可以调用脚本,例如当网络接口的状态发生变化或用户登录时)。
  • 该软件包可以安装设备inode。

我不希望开发工具与上述之一相匹配,因此不是一个高风险的软件包。

如果您有使用开发工具的工作流程,那么首先必须确定这些是否是合理的工作流程,如果是,则应安装开发工具。

如果您发现在服务器上确实不需要这些工具,则应该出于多种原因避免安装这些工具:

  • 保存服务器和备份上的磁盘空间。
  • 安装较少的软件可以更轻松地跟踪您的依赖项。
  • 如果您不需要该软件包,即使安全风险很小,也无需承担额外的安全风险,即使安全风险很小。

如果您出于安全原因决定不允许非特权用户在服务器上放置自己的执行程序,那么您应该避免的不是开发工具,而是可以在安装了execute的文件系统上写入这些用户的目录权限。即使在这种情况下,仍然可能会使用开发工具,但这种可能性并不大。

作者:kasperd

相关问答

添加新评论