自从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/ntpd
将ntpd
永远无法运行,直到该文件被更新版本的替换为止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-debian
将ntpdate-debian
不再运行,直到该文件被更新版本的替换ntpdate-debian
。
中还有其他ntp*
文件/usr/sbin
,但它们都在ntp
或ntpdate
包中:
$ 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
因此当您更新ntp
和ntpdate
包时它们都将被替换。因此,您可以:
sudo chmod -x /usr/sbin/ntp*
但是,我脑海中的威胁和风险分析部分会问,这真的值得付出努力吗?威胁是什么?你的系统可能会在时间上被欺骗。风险是什么?如果你的笔记本电脑认为时间不正确,会发生什么问题?世界会毁灭吗?你会比你想要的更晚下班吗?
我认为除了一天中的时间之外,其他领域也存在更大的威胁和风险。
一如往常,YMMV。
答案2
与 Ubuntu 存储库中打包的许多其他软件一样:
不要只依赖上游版本号。
Ubuntu 反向移植了安全修复程序,特别是针对存储库中的软件main
,包括ntp
和ntpdate
。
在这种情况下,修复已于 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:ntp
1:4.2.6.p5+dfsg-3ubuntu8.1
- Ubuntu 15.04:ntp
1:4.2.6.p5+dfsg-3ubuntu6.2
- Ubuntu 14.04 LTS:ntp
1:4.2.6.p5+dfsg-3ubuntu2.14.04.5
- Ubuntu 12.04 LTS:ntp
1:4.2.6.p3+dfsg-1ubuntu3.6
请注意,这些是列出的 CVE来源对于您链接到的 Ars Technica 文章。
如有疑问,请查看Ubuntu 安全声明和Ubuntu CVE 跟踪器。