如何在Linux上设置自动内核更新
将安全更新应用到 Linux 内核是一个简单的过程,可以使用诸如apt
、yum
或kexec
等工具来完成。然而,当管理数百或数千台运行不同Linux发行版的服务器来打补丁时,这种方法可能是具有挑战性和耗时的。
手动更新内核需要重启系统。这导致了停机,可能会有问题,所以重启通常被安排在特定的时间间隔内进行。因为手动打补丁是在这些周期内完成的,这为黑客提供了一个可以攻击服务器基础设施的 "时间窗口"。
对于运行超过几台服务器的组织,实时打补丁是一个更好的选择。这是一种在服务器运行时给Linux内核打补丁的自动方法,这使得它比人工方法更有效、更安全。
这篇文章解释了如何使用Canonical和CloudLinux的实时补丁解决方案来设置自动的无重启内核更新。
Canonical Livepatch
Canonical Livepatch是一项为运行中的内核打补丁的服务,无需重启Ubuntu系统。Livepatch服务是免费使用的,最多可用于三台Ubuntu系统。要在三台以上的电脑上使用这项服务,你必须订阅Ubuntu优势计划。
在安装服务之前,你需要从Livepatch服务网站获得一个Livepatch令牌。
一旦你有了令牌,就可以通过运行以下两个命令来安装和启用服务。
sudo snap install canonical-livepatch
sudo canonical-livepatch enable <your-key>
要检查该服务的状态,请运行。
sudo canonical-livepatch status --verbose
以后如果你想取消一个机器的注册,请使用这个命令。
sudo canonical-livepatch disable <your-key>
同样的说明也适用于Ubuntu 20.04和Ubuntu 18.04。
KernelCare
KernelCare对于主机供应商和企业来说是一个很好的选择。
KernelCare可以在Ubuntu、CentOS、Debian和其他流行的Linux版本上运行。它每4小时检查一次补丁发布情况,并自动安装。补丁可以回滚。KernelCare对非营利组织是免费的。
要安装KernelCare,请运行安装脚本。
wget -qq -O - https://kernelcare.com/installer | bash
如果你使用的是基于IP的许可证,就不需要做其他事情。否则,如果你使用的是基于密钥的许可证,请运行以下命令来注册服务。
/usr/bin/kcarectl --register <your-key>
其中<your-key>
是你注册试用或购买产品时提供的注册关键代码字符串。你可以在这个页面得到它。
下面是一些有用的KernelCare命令。
要检查运行中的kerne是否被KernelCare所支持。
curl -s -L https://kernelcare.com/checker | python
要取消一个服务器的注册。
sudo kcarectl --unregister
要检查服务的状态。
sudo kcarectl --info
该软件将每4小时自动检查新的补丁。要手动更新,请运行。
/usr/bin/kcarectl --update
总结
实时修补技术允许你在不重启的情况下对Linux内核应用修补程序。
如果你有任何问题或反馈意见,请随时留言。