小公司Linux服务器维护更新实践

小公司Linux服务器维护更新实践

当负责管理的人员无法分配大量时间来测试每个更新包是否损坏时,面向 Web 的服务器的安全更新计划是什么?当然,出于安全原因,我想定期更新 LAMP 堆栈,但我不需要破坏 Solr 的最新 Java 补丁,或者以不明显的方式破坏脚本的最新 PHP 补丁。我确实知道要对 PHP 点发布保持警惕,但对于 Java 我不太有信心。目前我们的服务器是基于 Debian 的(Ubuntu Server LTS),但由于 Yum 的回滚功能,我正在考虑切换到基于 Redhat 的服务器(CentOS)。

我的担心是多余的吗?请注意,这是一家小公司,我们刚刚雇用了第四名员工。因此,除了作为软件开发人员的职责之外,我还负责维护越来越多的硬件,包括公共网络服务器。网络服务器上没有敏感数据,利用漏洞可能发生的最糟糕情况是有人会破坏我们的网站,这也是我们的产品(通过公共 API 的 SaaS)。

答案1

选择“供企业使用”的 Linux 发行版,仅安装其工作所需的软件包(额外的软件包意味着额外的易受攻击的表面),除非严格要求,否则安装任何“非官方软件包”(然后仅仔细考虑稳定性和上游对安全问题的响应能力,并跟踪记录/承诺不践踏发行版的软件包),小心配置(本地防火墙规则,任何本地配置) )。根据需要创建本地帐户,并为其提供安全密码。root尽可能少地在机器上使用。为选定的用户设置无密码 SSH。不要遵循网上的许多建议“关闭 SELinux”,SELinux 能够提供更多的安全性。使用它,如果一个包不能与 SElinux 一起工作,那么它就被破坏了,不应该使用。

订阅发行版的软件包更新公告,至少尽快更新安全更新(不是“每月一次”,至少每天检查一次)。看着低水温网络定期查看安全页面。

无论机器将提供什么服务,请在您的发行版提供的服务中仔细选择要执行此操作的软件包。总体上最好的可能更难使用......关于选择/评估软件的一些想法是这里

四处寻找所提供服务的“最佳实践”,特别是针对您安装的内容的配置建议。检查在线文档是否完整、清晰且可搜索。看看是否有办法报告错误,检查随机选择的错误,看看它们的响应速度如何。查找在线问答网站、常见问题解答、邮件列表(如果您遇到麻烦,您想知道可以向谁询问)。

设计一个全面的备份方案,迟早你将要必须依靠它。记录安装(或者更好的是,设置自动安装,并保持最新),机器可能会发生不合时宜的情况。确保您也有“旧”备份(一些不法分子可能会接管机器,几个月后您就会发现......)。

考虑雇用一些专门从事您想要设置的内容的极客,只需确保(a)将他们放在手边,(b)您对设置有足够的了解,能够在大多数情况下应付自如,并且(c) )确保您通过公交车测试(即,周围有其他人可以接管,以防您被公交车碾死)。

设置一台具有相同操作系统的机器供个人使用,在发生危机时密切熟悉有问题的系统(或者甚至手头有一个备用系统;-)非常有用。这将是一份兼职工作,就像“只需要我 95% 的时间”一样,除非你花时间组织任务,以尽量减少意外情况(否则你最终会成为被称为 24/7 的消防队) )。

我个人会使用红帽企业 Linux或类似的克隆中央操作系统,也许补充有EPEL。但这只是我,95 年左右的红帽用户,最近软呢帽扇子。

答案2

首先,将系统剥离到最基本的必需品,删除所有你不需要的东西。如果你不需要 Java,就摆脱它,如果你不需要 Perl,就摆脱它……那么显而易见的事情就是更新剩下的所有内容。 Debian/Ubuntu、RH/CentOS/Fedora、SLES/openSUSE 等固定版本发行版的更新不太可能破坏任何内容,除非您以某种奇怪的方式滥用有问题的软件包。

如果您担心 PHP 更新会破坏网站(如果我理解正确的话,这是您的产品),请修复该产品(如果不是产品,请修复脚本)。否则就是自找麻烦。

破坏您的网络绝对不是最糟糕的事情 - 一旦系统被劫持,它可能(并且很可能会)以更微妙和更危险的方式被滥用,而不仅仅是将令人反感的内容公开展示。

相关内容