Linux 安全(堵塞旧系统中的巨大漏洞)

Linux 安全(堵塞旧系统中的巨大漏洞)

我最近在一家相对较小的公司开始了一个新职位,并在我们公司 Linux/UNIX 方面(以及 Windows Server/AD 等,但这不是重点)担任领导职务(之前有一个人负责所有与 ICT 相关的事情)。他仍然在我们公司工作,和我差不多,但现在被允许更多地专注于网络方面,至少从经验上来说,他可能是我的上级;而我则主要负责 Linux/UNIX/Windows/(通用系统和应用程序)方面(以及他不在时的网络)。

很多年前,在我加入之前,他为我们公司设置了一个 Debian 邮件服务器(以及几个其他内部/DMZ 节点),但由于时间限制,根本没有足够的时间来保持这些服务器的更新和安全(责怪我们的老板;公平地说,考虑到他当时的可用时间和知识,我认为他在设置这些服务器方面做得非常好)。很多年过去了,最终我接手了这些节点的领导,并决定对我现在接手负责的系统进行初步渗透测试。我能够远程利用 bash ShellShock 并在很短的时间内(实际上几十分钟)展示其他几个已知问题的概念验证漏洞。

这些服务器中最重要的是我们的主要邮件服务器,以及其他大多数有问题的服务器,它们都是非常老旧的 Debian Linux(我认为是第 3 版),不再有支持或活动的存储库(我已经在 FreeBSD 上设置了并行运行的辅助服务器,它们在大多数情况下被认为是安全的,但由于我的同事实施的设置相当复杂,因此无法完全替换)。

我的问题是;我可能必须从源代码构建诸如 bash 和 openssl 之类的软件包,这些软件包在过去的几个月/几年中被发现存在重大安全漏洞,因为 Debian 已经有一段时间没有发布针对这些系统的补丁了,而完全替换它们又太耗时,不能暂时先进行临时修复;哪里是最好的地方:

  1. 查找过去几年中哪些软件包存在重大安全漏洞,
  2. 获取源代码来构建它们,
  3. 如何构建它们以避免依赖问题(相关节点上没有编译器,因此必须从另一个系统进行交叉编译,可能静态地具有内置依赖关系),
  4. 如何事后正确地测试一切,以确保它按预期工作,并且至少不再对所有人开放,除了最坚定的入侵者(我可以自己进行笔测试,但意识到有几年的漏洞有待探索)。

我自己主要是 Gentoo 和 FreeBSD 用户,因此并没有真正及时了解 Debian 的知识,但总的来说我是一个非常有经验的 Linux/UNIX 用户,具有丰富的编程经验,但我想确保在可能损坏我们的主要邮件服务器和几个内部使用的服务器之前,我不会忽略任何东西。

答案1

你有重大技术债务。您意识到自己有问题,现在需要做的就是接受唯一的解决方案是重新开始。一旦您这样做,您就不会再浪费时间在其他“解决方案”上,而是专注于完成正确的工作。

在如此古老的系统上重建软件包可能是一件愚蠢的事情,会浪费大量时间。你知道自己该做什么 - 做对就好。

相关内容