NTP版本升级和漏洞修复

升级步骤

  1. 停止ntp服务
    systemctl stop ntpd
  2.  安装依赖包
     

    yum install -y gcc libcap libcap-devel glic-devel
  3. 备份配置文件
     

    cp /etc/ntp.conf /etc/ntp.conf.bak
    cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak
    cp /etc/sysconfig/ntpdate /etc/sysconfig/ntpdate.bak
    
  4. 解压安装包并编译源码
     

    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步的方式重新编译安装。

上一篇:FFmpeg扩展开发


下一篇:技术干货 | 深度解构 Android 应用面临紧急发版时的救星方案:mPaaS 热修复 - DexPatch