升级步骤
- 停止ntp服务
systemctl stop ntpd
-
安装依赖包
yum install -y gcc libcap libcap-devel glic-devel
-
备份配置文件
cp /etc/ntp.conf /etc/ntp.conf.bak cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak cp /etc/sysconfig/ntpdate /etc/sysconfig/ntpdate.bak
-
解压安装包并编译源码
tar -zxvf ntp-4.2.8p15.tar.gz cd ntp-4.2.8p15/ ./configure --prefix=/usr --bindir=/usr/sbin --sysconfdir=/etc --enable-linuxcaps --with-lineeditlibs=readline --enable-all-clocks --enable-parse-clocks --enable-clockctl make && make install
源码下载:
http://www.ntp.org/downloads.html
漏洞修复
升级到这里已经基本上修复了大部分漏洞,下面是我从网上找到的其他修复方式
在源码目录下修改include/ntp_syscall.h.patch文件
--- ntp-4.2.4p7/include/ntp_syscall.h
+++ ntp-4.2.4p7/include/ntp_syscall.h
@@ -14,5+14,13 @@
#include
#endif
+#if defined(ADJ_NANO) && !defined(MOD_NANO)
+#define MOD_NANO ADJ_NANO
+#endif
+
+#if defined(ADJ_TAI) && !defined(MOD_TAI)
+#define MOD_TAI ADJ_TAI
+#endif
+
#ifndefNTP_SYSCALLS_LIBC
#ifdefNTP_SYSCALLS_STD
# cd include
# patch -p0 < ntp_syscall.h.patch
patch file to:ntp_syscall.h
# cd ..
# make && make install
cd include
patch -p1 < ntp_syscall.h.patch
之后再按照第4步的方式重新编译安装。