不要只依赖上游版本号。

不要只依赖上游版本号。

自从ntpd 和 ntpdate依赖于 ntp 服务器,并且由于 Ubuntu repos 尚未完成 ntp 到 4.2.8p4 的更新(版本ntp 研究人员推荐),我预计这意味着我的笔记本电脑上的 ntpdate 和 ntpd 都存在漏洞(或者至少,能够通过任一机制将我的笔记本电脑连接到任意数量的易受攻击的 ntp 服务器,因此仅仅停止 ntpd 是不够的)。

我不太确定自己是否能审查代码并更新到 ntp 4.2.8p4 的新版本。同时,我希望软件包保持安装状态,这样当存储库中有未来更新可用时,我会收到软件更新程序的通知。

所以我的问题是不是“如何更新?”也不“如何卸载?”,而是我如何简单地禁用或“关闭”ntpd 和 ntpdate,这样它们就不会运行或记录任何活动,而无需卸载它们?”

如何禁用 ntpd?建议我可以使用以下方法完全阻止 ntpd 运行

sudo update-rc.d -f ntp remove

exit 0并通过添加到 来完全阻止 ntpdate 运行/etc/default/ntpdate

但是,我不知道如何/在文件中的哪里放置该行exit 0

exit 0我是否只需使用 vi 或 nano 之类的编辑器在任何没有注释符号的行上写入#,系统就会正确解释它?有人可以确认/详细说明这个解决方案吗?

答案1

通过少量的研究(locate ntp | grep /etc),我找到了/etc/init.d/ntp启动ntp,并通过目录中的启动脚本链接到/etc/rc?.d(在我的 Ubuntu Linux 14.04.3 LTS 系统上,YMMV):

/etc/rc1.d/K77ntp -> ../init.d/ntp
/etc/rc2.d/S23ntp -> ../init.d/ntp
/etc/rc3.d/S23ntp -> ../init.d/ntp
/etc/rc4.d/S23ntp -> ../init.d/ntp
/etc/rc5.d/S23ntp -> ../init.d/ntp

/etc/init.d/ntp包含以下行:

DAEMON=/usr/sbin/ntpd
PIDFILE=/var/run/ntpd.pid

test -x $DAEMON || exit 5

因此,简单的sudo chmod -x /usr/sbin/ntpdntpd永远无法运行,直到该文件被更新版本的替换为止ntpd

通过同样少量的研究,我还找到了/etc/network/if-up.d/ntpdate,其中包含:

# Check whether ntpdate was removed but not purged; it's useless to wait for 
# it in that case.
if [ ! -x /usr/sbin/ntpdate-debian ] && [ -d /usr/sbin ]; then
    exit 0
fi

因此,sudo chmod -x /usr/sbin/ntpdate-debianntpdate-debian不再运行,直到该文件被更新版本的替换ntpdate-debian

中还有其他ntp*文件/usr/sbin,但它们都在ntpntpdate包中:

$ echo /usr/sbin/ntp*| xargs -n 1 dpkg -S
ntp: /usr/sbin/ntpd
ntpdate: /usr/sbin/ntpdate
ntpdate: /usr/sbin/ntpdate-debian
ntp: /usr/sbin/ntp-keygen
ntp: /usr/sbin/ntptime
ntp: /usr/sbin/ntp-wait

因此当您更新ntpntpdate包时它们都将被替换。因此,您可以:

sudo chmod -x /usr/sbin/ntp*

但是,我脑海中的威胁和风险分析部分会问,这真的值得付出努力吗?威胁是什么?你的系统可能会在时间上被欺骗。风险是什么?如果你的笔记本电脑认为时间不正确,会发生什么问题?世界会毁灭吗?你会比你想要的更晚下班吗?

我认为除了一天中的时间之外,其他领域也存在更大的威胁和风险。

一如往常,YMMV。

答案2

与 Ubuntu 存储库中打包的许多其他软件一样:

不要只依赖上游版本号。

Ubuntu 反向移植了安全修复程序,特别是针对存储库中的软件main,包括ntpntpdate

在这种情况下,修复已于 10 月重新移植。请参阅USN-2783-1

Aanchal Malhotra、Isaac E. Cohen 和 Sharon Goldberg 发现 NTP 在达到恐慌阈值后错误地处理了重新启动。远程攻击者可能会利用此问题来更改客户端上的系统时间。(CVE-2015-5300)


Aanchal Malhotra、Isaac E. Cohen 和 Sharon Goldberg 发现 NTP 错误地处理了速率限制。远程攻击者可能会利用此问题导致客户端停止更新其时钟。(CVE-2015-7704、CVE-2015-7705)


更新说明

通过将系统更新至以下软件包版本可以解决此问题:

  • Ubuntu 15.10:ntp1:4.2.6.p5+dfsg-3ubuntu8.1
  • Ubuntu 15.04:ntp1:4.2.6.p5+dfsg-3ubuntu6.2
  • Ubuntu 14.04 LTS:ntp1:4.2.6.p5+dfsg-3ubuntu2.14.04.5
  • Ubuntu 12.04 LTS:ntp1:4.2.6.p3+dfsg-1ubuntu3.6

请注意,这些是列出的 CVE来源对于您链接到的 Ars Technica 文章。

如有疑问,请查看Ubuntu 安全声明Ubuntu CVE 跟踪器

相关内容