如何在Ubuntu 16.04上安装自动安全更新
安全更新是IT世界的一个组成部分。 Linux可能被认为是最安全的计算机操作系统之一,但是这并没有消除它也有漏洞,需要通过及时的安全更新来修复。 一般来说,我们需要在发布后的30天内应用Linux安全更新。
我们已经讨论过如何在CentOS上设置自动安全更新。 现在,在本教程中,我们将向您展示如何一步一步配置Ubuntu 16.04服务器以实现自动安全更新。 因此,当有关安全软件包的更新时,系统将自动下载软件包并应用更新。
我们将要做什么
- 在Ubuntu 16.04上安装无人值守升级
- 配置无人值守升级
- 启用自动更新
- 检查更新的包
先决条件
- Ubuntu 16.04服务器
- 根特权
第1步 - 在Ubuntu 16.04上安装无人值守升级
我们必须做的第一件事是在系统中安装“无人值守升级”软件包。 它在Ubuntu存储库中可用,我们可以使用apt命令来安装它。
使用SSH登录登录到您的服务器。
ssh root@hakase-labs
更新所有存储库并使用下面的apt命令安装“无人值守升级”。
sudo apt update
sudo apt install unattended-upgrades
安装完成后,我们需要在'/etc/apt/apt.conf.d'配置目录下编辑配置。
第2步 - 配置无人值守升级
无人参与升级配置可在“/etc/apt/apt.conf.d”目录中找到。 我们需要编辑配置来定义更新/升级类型,黑名单更新,并配置一些额外的配置。
进入“ /etc/apt/apt.conf.d ”目录,使用vim编辑器编辑配置文件“ 50unattended-upgrades ”。
cd /etc/apt/apt.conf.d/
vim 50unattended-upgrades
定义升级类型
我们需要为系统定义一种更新/升级。 无人值守升级包提供了一些自动升级类型,包括更新所有包和只是安全更新。 对于本指南,我们只想启用Ubuntu 16.04系统的“安全”更新。
在第一个块配置“Allowed-Origin”上,注释所有行,只留下安全行,如下所示。
Unattended-Upgrade::Allowed-Origins {
// "${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; doesn't necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that unattended-upgrades
// should also install from here by default.
// "${distro_id}ESM:${distro_codename}";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
黑名单包
对于第二块,它是黑名单包配置。 我们可以定义哪些软件包可以更新,哪些不可以。 有时,我们不希望更新一些软件包,因为无论出于何种原因,这对系统都是至关重要的。
在本节中,我们只是想举一个黑名单包配置的例子。 所以,假设我们不希望'vim','mysql-server'和'mysql-client'被升级,那么我们的黑名单配置应该与下面所示的类似。
Unattended-Upgrade::Package-Blacklist {
"vim";
"mysql-server";
"mysql-client";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
其他配置
接下来,我们要添加和启用无人值守升级提供的一些功能。 我们希望每个更新都有一个电子邮件通知,启用自动删除未使用的软件包(apt自动移除),并在需要时启用自动重新启动。
对于电子邮件通知,取消注释以下行。
Unattended-Upgrade::Mail "root";
注意:
确保您的系统上安装了mailx或sendmail软件包。 您可以使用以下命令安装邮件应用程序。
sudo apt install -y sendmail
要启用自动删除未使用的包,请取消注释以下行,并将值更改为“true”。
Unattended-Upgrade::Remove-Unused-Dependencies "true";
升级后自动重新启动(如果需要),取消“Automatic-Reboot”的注释并将值更改为“true”。
Unattended-Upgrade::Automatic-Reboot "true";
设置“Automatic-Reboot”后,服务器将在安装完所有更新包后自动重启。 但是,我们可以通过取消注释相应的配置行来配置服务器的重启时间,并更改重启值。 这是我的配置。
Unattended-Upgrade::Automatic-Reboot-Time "00:00";
保存并退出。
无人参与升级软件包已安装,所有配置已完成。
第3步 - 启用自动更新
要启用软件包的自动更新,我们需要编辑自动升级配置。
进入' /etc/apt/apt.conf.d '目录,使用vim编辑配置文件' 20auto-upgrades '。
cd /etc/apt/apt.conf.d/
vim 20auto-upgrades
进行如下配置。
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "3";
APT::Periodic::Unattended-Upgrade "1";
保存并退出。
注意:
- 更新包列表:1启用自动更新,0代表禁用。
- Download-Upgradeable-Packages:1启用自动下载软件包,0代表禁用。
- AutocleanInterval:为X天启用自动清理包。 配置显示3天自动清洁包。
- 无人值守升级:1启用自动升级,0代表禁用。
在这个阶段,所有的安全更新将自动下载并安装到系统中。
第4步 - 检查更新的软件包
检查无人值守升级日志
为了识别所有更新的软件包,我们需要检查位于'/ var / log / unattended-upgrades'目录中的无人值守升级日志。
转到“/ var / log / unattended-upgrades”目录并检查可用的日志。
cd /var/log/unattended-upgrades
ls -lah
你会得到3个日志文件。
- 无人参与升级-dpkg.log - 无人参与 - 升级操作日志以更新,升级或删除软件包。
- unattended-upgrades.log - 无人参与的日志文件。 更新/升级包列表,列表黑名单包和无人照管的错误消息(如果有错误)。
- unattended-upgrades-shutdown.log文件。
更新通知
识别更新软件包的另一种方法是通过SSH登录寻找更新通知。
以下屏幕截图显示了应用安全更新之前的服务器通知。
当所有安全软件包得到更新时,将显示以下消息。
电子邮件通知
对于电子邮件通知,我们已经设置了通知根邮件。
转到“/ var / mail”目录并检查根邮件文件。
cd /var/mail/
cat root
我们可以识别黑名单软件包,更新的软件包和删除的软件包。
重新启动检查
对于重新启动检查,您可以使用以下命令。
last reboot
以下是所有安全软件包升级前的结果。
这是升级后的结果。
已经安装并配置了无人参与升级软件包以进行自动安全更新。 它正在启用自动重启以及启用电子邮件通知。