我刚刚学会了管理服务器,并运行了我的第一个 VPS。正如您可能认为的那样,这是一个“个人”培训服务器,不为任何公司运行。
我不断听到有关“安全修补”的消息,以及很多人谈论它是多么困难,有些人不这样做,而更注重其他方面而不是安全性。
我忍不住想,我是不是做错了什么,只是激活了防火墙,封锁了除我正在使用的端口之外的所有端口,并且apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
时不时地启动“”。 (注:我有一个“滚动发布的 GNU/Linux 发行版”)
我知道我现在听起来很无知,但那不是“修补”吗?如果不是,那么请解释一下“安全修补”的概念、我们希望通过修补实现的目标、一些修补方法作为示例,以及系统管理员面临的一些困难作为示例。
注意:为了限制这个问题的范围,我专门询问“安全修补”的概念和实践,而不是更广泛的“系统强化”。
答案1
保持个人系统最新状态相对容易:正如您所说,通常通过包管理器定期对系统进行全面升级就足够了。(但请注意,许多人不会这样做。)真正的问题出现在大型生产设置中。
在企业界,您可能要管理数百台计算机,而不仅仅是一两台。其中一些系统上安装了第三方软件,但这些软件无法通过存储库获得,而且您可能还编译了自己无法通过存储库获得的软件。这些因素结合在一起,使得您更难知道您的系统上安装了哪些软件、已知安装的软件中是否存在安全漏洞以及如何在整个系统中推送更新。
此外,每次更新都是一次改变,而改变会带来风险。虽然 VPS 出现短暂停机是可以接受的,但对于一家公司来说,一次糟糕的更新可能会造成数百万美元的损失。因此,每次更新都必须先进行测试,以确保一切正常。
让我们再加一层:安全修复程序只会进入您无法运行的软件版本,因为其他一些关键业务软件不支持新版本。现在您必须尝试将安全修复程序移植到您不太了解的软件中(危险!),同时安排供应商更新他们的软件(他们可能会在 10 年后这样做),假设他们现在还在并且没有破产。
简而言之,扩大规模和增加处罚力度会使问题变得更加严重。
答案2
补丁本身就是为特定目的修改系统(例如,游戏补丁可以增加或减少难度)。这可以是更改脚本中的几行,也可以是替换整个软件组件。维基百科的观点略有不同:
补丁是一种软件,用于更新计算机程序或其支持数据,以修复或改进它。[1] 这包括修复安全漏洞[1] 和其他错误,此类补丁通常称为错误修复或错误修复[2],以及提高可用性或性能。虽然旨在解决问题,但设计不良的补丁有时会引入新的问题(请参阅软件回归)
https://en.wikipedia.org/wiki/Patch_%28computing%29
至于安全修补,这通常在软件层面进行。开发人员修复其软件的漏洞,新版本进入软件生态系统,其中:
- 打包人员等为他们的发行版做好准备,并最终将其返回给用户(通常通过包管理器下载)。
- 它是从开发者的网站下载的。
- 它是在存储介质上运送的(或者曾经是)。
- 该更新所属产品的供应商通过上述任一方法发布更新。
在面向安全的修补中,目标非常明显:安全。换句话说,就是减少敌人的攻击。敌人指的是人类和恶意软件。正如 Class Stack 的评论所指出的,滚动发布对于安全性来说是一个糟糕的想法。新功能的出现,必然伴随着新的错误。前沿技术最好用于非关键用途(即您的家用游戏 PC,而不是您的公司服务器)。因此,我强烈建议您使用 Debian Stable 分支(我假设您使用的是基于 Testing/Sid 的某些发行版)。Debian 的分支工作方式如下(过于简单):
- 稳定 - 已经测试了很长时间并且从未发现任何错误。
- 测试 - 来自 Sid 的已测试和修复的内容。一切似乎都正常,但从不保证一定有效。
- Sid - 刚刚走出实验阶段的新奇玩意儿。它很管用,但也有出乎意料的地方。
至于执行更新,我建议如下:
apt-get update
在安装新软件之前务必先进行此操作。- 在进行升级之前,请检查可用的升级。除非有安全更新或您需要最新版本的软件,否则没有必要升级。
- 除非您要将整个系统升级到新版本(例如,将 wheezy 升级到 jessie),否则无需执行 dist-upgrade。您不应轻易发出此命令。
关于您当前的发行版,如果您决定更改为稳定版(您应该这样做),则必须重新安装系统。不要尝试混淆或回滚或类似操作。Debian 安装相当快速且轻松,即使从网络安装程序 CD 也是如此。
希望这个过于简单的概述能帮助你有一个基本的了解。我建议你阅读更多https://www.debian.org因为这个问题的范围可能会不断扩大。
答案3
修补(Software
操作系统OS
) 实际上是对漏洞或错误的更新或修复。这可以提高系统性能或修复此类错误,从而使系统稳定,免受攻击。
一些设计不良的补丁有时会引发新的问题。