如何在Linux上设置自动内核更新
将安全更新应用到Linux内核是一个简单的过程,可以使用诸如'apt','yum'或者'kexec'之类的工具来完成。
但是,在管理成百上千的运行不同Linux发行版的服务器进行修补时,此方法可能会充满挑战且耗时。
手动更新内核需要重新引导系统。
这会导致停机,这可能是个问题,因此通常计划在特定的时间间隔进行重启。
由于手动修补是在这些周期内完成的,因此它为黑客提供了一个“时间窗口”,使他们可以其中攻击服务器基础结构。
对于运行多个服务器的组织,实时修补是更好的选择。
这是一种在服务器运行时自动修补Linux内核的方法,与手动方法相比,它既高效又安全。
本文介绍了如何使用Canonical和CloudLinux的实时补丁解决方案设置自动无重启内核更新。
规范Livepatch
Canonical Livepatch是一项服务,用于修补正在运行的内核,而无需重新启动Ubuntu系统。
Livepatch服务是免费使用的,最多可使用三个Ubuntu系统。
要在多于三台计算机上使用此服务,我们必须订阅Ubuntu Advantage计划。
在安装服务之前,我们需要从Livepatch Service获得livepatch令牌。
安装令牌后,通过运行以下两个命令来启用服务:
sudo snap install canonical-livepatchsudo canonical-livepatch enable <your-key>
要检查服务的状态,请运行:
sudo canonical-livepatch status --verbose
以后,如果要注销计算机,请使用以下命令:
sudo canonical-livepatch disable <your-key>
相同的说明适用于Ubuntu 20.04和Ubuntu 18.04.
内核维护
KernelCare是托管提供商和企业的绝佳选择。
KernelCare可在Ubuntu,CentOS,Debian和其他流行的Linux版本上运行。
它每4小时检查一次修补程序版本,并自动安装它们。
补丁可以回滚。
非营利组织可以免费使用KernelCare。
要安装KernelCare,请运行安装脚本:
wget -qq -O - https://kernelcare.com/installer | bash
如果我们使用的是基于IP的许可证,则无需执行其他任何操作。
否则,如果我们使用的是基于密钥的许可证,请运行以下命令来注册服务:
/usr/bin/kcarectl --register <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内核。