有安全更新时,如何使服务器向我发送电子邮件?


12

显然,有一种方法可以检查更新何时是安全更新。我经常被一个提示说“有N个安全更新”而打招呼。

我想做的是让我的服务器通过电子邮件向我发送出于安全原因需要更新哪些软件包的列表。

为了更进一步,该电子邮件将链接到来自Ubuntu的适用的安全通知。

基本上,每个服务器都是唯一的。我在安全邮件列表中收到了几封我没有在任何/所有服务器上安装的软件包的电子邮件。因此,我希望每个服务器都告诉我它需要什么。这样,我可以及时应用更新,同时避免重新启动Apache之类的服务,这些服务会导致用户停机。

我该怎么办?


1
您是否考虑过设置无人值守的升级,并告诉它仅自动安装安全更新?
托马斯·沃德

1
我想避免安装可能会破坏某些内容或导致服务重新启动的更新。无人值守的升级可以完成所有这些事情。
David R.

但是安全升级无法做到这一点,安全升级通常是精心挑选的修复程序,需要先进行测试才能上载。如果将无人参与的升级配置为仅执行安全更新,则可能不会破坏任何内容。
托马斯·沃德

对Apache进行的安全更新将要求重新启动Apache,对吗?
David R.

我不是Apache软件包的专家,但我相信它会在升级后自动发出重新启动命令。我必须检查其init脚本和安装脚本以弄清该脚本,但是重新启动仅意味着瞬时重新启动,并且一切很快就会恢复正常,通常在几秒钟之内,有时甚至在一分钟之内。但是,如果您不对其进行更新,则会陷入bug和很多漏洞
Thomas Ward

Answers:


1

来自上一篇文章。您可以通过命令行与运行安全升级。

sudo unattended-upgrade

我检查了一下,您也可以使用命令行选项

 sudo unattended-upgrade --dry-run

下载但不安装更新。

运行该程序时,我没有任何输出,我认为这是因为我将系统设置为自动更新。如果您可以从中获取输出,只需弄清楚更新后的更新与待处理的更新是什么样子,然后编写一个Shell脚本向您发送一封电子邮件,其中包含待处理的更新的输出。

然后将此脚本作为cron作业运行。

注意:使用crontab -e以root身份运行作业。


我不是问如何安装升级。这很容易。我也没有问如何确定是否需要安全升级。我问怎么被通知升级需要应用为单台服务器什么安全没有我不必登录。
大卫R.

尚未完成但尚未安装的更新的电子邮件不能完成此任务吗?
tweirick

啊,请原谅,我一直在为过敏而奋斗,因为我没看到您加粗的文字...
David R.

6

您可以使用称为的工具apticron在新更新可用时通知您。它向您发送有关即将进行的升级的电子邮件,还使您可以选择仅向您发送有关以前未通知的更新的电子邮件。

要设置apticron编辑/etc/apticron/apticron.conf和更改包含电子邮件地址的行:

EMAIL="admin@example.com"

输入您希望接收通知的电子邮件地址。

有关更多信息,请参阅man apticron


我无法将apticron设置为仅发送安全更新。它会发送有关所有更新的通知,包括非安全更新,这些更新会引起太多噪音,对我无用。
Hontvári利文特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.