How To Enable Live Kernel Patching on Oracle Linux Using Ksplice?
基本上,Linux内核更新将要求系统重新启动。 重新启动系统后,新内核才会生效。
平均而言,Linux内核每个月最多都会收到一次安全更新和错误修复。
对于关键系统,我们无法安排每个月的停机时间,因为停机时间可能有很多依赖性,我们也不会得到管理层的批准。
如何克服呢? 是的,我们在Oracle Premier Support中提供了选项。 它称为Ksplice。
如何在Oracle Linux中安装/升级牢不可破的企业内核(UEK)?
什么是Ksplice
Oracle Ksplice通过允许您使用最新的内核安全性勘误和其他重要更新来更新系统,从而使您的系统保持安全和高可用性。
它无需重启就可以更新正在运行的内核映像。 它会更新您正在运行的内存中的内核。 Ksplice更新在应用后立即生效。 这不是磁盘上的更改,仅在随后的重新引导后才生效。
如何在Ubuntu LTS系统上启用Canonical Kernel Livepatch服务?
kpatch允许Red Hat,CentOS和Fedora用户安装内核安全补丁而无需重启
确保您的系统应该在Unbreakable Linux Network(ULN)中注册才能使用Ksplice。 如果您有Oracle Linux Premier支持帐户,则可以选择使用Oracle Ksplice。
请参考以下URL向Unbreakable Linux Network(ULN)注册系统。
如何在坚不可摧的Linux网络(ULN)中注册Oracle Linux系统?
在Unbreakable Linux Network(ULN)中完成注册后,然后将系统订阅Ksplice for Oracle Linux频道并在其上安装Ksplice Uptrack软件。
如何在ULN上注册系统以使用Oracle Ksplice
如果您已经在ULN上拥有一个帐户,则可以注册系统以使用Ksplice Uptrack。
登录到ULN @ http://linux.oracle.com。
屏幕上显示确认已创建Ksplice帐户以及包含Ksplice访问密钥的电子邮件。
通过ULN门户已验证了相同的内容。
使用Oracle SSO帐户登录https://status-ksplice.oracle.com/的Ksplice Web界面并注册系统。
到目前为止,尚未注册任何系统。 在下面的屏幕截图中已经验证了相同的内容。
如何安装Ksplice Uptrack
只需运行以下命令来安装Ksplice Uptrack。 确保必须以root用户身份运行以下命令。该命令提供了安装程序脚本,因此,以root用户身份运行以下命令,并用访问密钥替换
如果要启用自动更新,请在安装后在
1 2 | # wget -N https://www.ksplice.com/uptrack/install-uptrack # sh install-uptrack YOUR_ACCESS_KEY |
或者,我们可以在install-uptrack命令中添加
1 | # sh install-uptrack YOUR_ACCESS_KEY --autoinstall |
默认情况下,Ksplice Uptrack将在引导过程中重新安装无需重新引导的更新,因此即使重新引导后您也将保持安全。 您可以通过更改
1 2 | # vi /etc/uptrack/uptrack.conf install_on_reboot = [no or yes] |
是的,现在我们可以看到已注册系统的列表。
查看可用的更新和已安装的更新。
在
要列出可用的Ksplice更新,请使用以下uptrack-upgrade命令。
1 2 3 4 5 6 | # uptrack-upgrade -n or # uptrack-show --available Available updates: [fiq04xbb] CVE-2013-2237: Information leak on IPSec key socket. [9q4luou3] CVE-2014-3687: Remote denial-of-service in SCTP stack. |
安装所有可用的Ksplice更新。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # uptrack-upgrade -y The following steps will be taken: Install [guclwyc2] CVE-2012-0957: Information leak in uname syscall. Install [j4d07e02] Kernel panic in IPv4 ARP and IPv6 Neighbor Discovery. Install [r8og1ec4] CVE-2013-1979: Privilege escalation with UNIX socket credentials. Install [fiq04xbb] CVE-2013-2237: Information leak on IPSec key socket. Install [9q4luou3] CVE-2014-3687: Remote denial-of-service in SCTP stack. Installing [guclwyc2] CVE-2012-0957: Information leak in uname syscall. Installing [j4d07e02] Kernel panic in IPv4 ARP and IPv6 Neighbor Discovery. Installing [r8og1ec4] CVE-2013-1979: Privilege escalation with UNIX socket credentials. Installing [fiq04xbb] CVE-2013-2237: Information leak on IPSec key socket. Installing [9q4luou3] CVE-2014-3687: Remote denial-of-service in SCTP stack. Your kernel is fully up to date. Effective kernel version is 3.8.13-118.20.3.el6uek |
查看已安装的更新。
1 2 3 4 5 | # uptrack-show Installed updates: [guclwyc2] CVE-2012-0957: Information leak in uname syscall. [j4d07e02] Kernel panic in IPv4 ARP and IPv6 Neighbor Discovery. [r8og1ec4] CVE-2013-1979: Privilege escalation with UNIX socket credentials. |
运行uptrack-upgrade命令后,我们可以看到一台机器正在运行的有效内核。 Ksplice Uptrack不会更改uname的输出。 运行uptrack-uname以查看机器上更新的正在运行的内核。
1 2 3 4 5 | # uname -r 3.8.13-68.2.2.el6uek # uptrack-uname -r 3.8.13-118.20.3.el6uek |
从内核中删除所有更新。
1 2 3 4 5 6 7 8 9 | # uptrack-remove -y or # uptrack-remove --all The following steps will be taken: Remove [guclwyc2] CVE-2012-0957: Information leak in uname syscall. Remove [j4d07e02] Kernel panic in IPv4 ARP and IPv6 Neighbor Discovery. Remove [r8og1ec4] CVE-2013-1979: Privilege escalation with UNIX socket credentials. Remove [fiq04xbb] CVE-2013-2237: Information leak on IPSec key socket. Remove [9q4luou3] CVE-2014-3687: Remote denial-of-service in SCTP stack. |
卸载Uptrack。
1 | # yum -y remove uptrack |