如何在Linux上设置自动内核更新

时间:2020-03-05 15:25:56  来源:igfitidea点击:

将安全更新应用到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内核。