升级原因
解决ntp已知的漏洞问题
漏洞信息
NTP 'ntp_request.c’远程拒绝服务漏洞(CVE-2013-5211):NTP 4.2.7p26之前版本的ntpd中,ntp_request.c的monlist允许远程攻击者通过伪造的REQ_MON_GETLIST或REQ_MON_GETLIST_1请求,利用此漏洞造成拒绝服务(流量放大)。
升级过程
软件包准备
- ntp-4.2.8p15.tar.gz
下载地址:https://www.eecis.udel.edu/~ntp/ntp_spool//ntp4/ntp-4.2/
依赖包
- libcap-devel
- libcap
- glic-devel
配置备份
cp -ar /etc/ntp /etc/ntp.bak`date +%Y%m%d`
cp /etc/ntp.conf /etc/ntp.conf.bak`date +%Y%m%d`
cp /etc/sysconfig/ntpd /etc/sysconfig/ntpd.bak`date +%Y%m%d`
cp /etc/sysconfig/ntpdate /etc/sysconfig/ntpdate.bak`date +%Y%m%d`
cp /usr/lib/systemd/system/ntpd.service /usr/lib/systemd/system/ntpd.service.bak
cp /usr/lib/systemd/system/ntpdate.service /usr/lib/systemd/system/ntpdate.service.bak
卸载旧版本ntp
yum remove -y ntp ntpdate
解压、编译、安装新版本
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 && install -v -o ntp -g ntp -d /var/lib/ntp
配置还原
mv /etc/ntp.bak`date +%Y%m%d` /etc/ntp
mv /etc/ntp.conf.bak20230615 /etc/ntp.conf
mv /etc/sysconfig/ntpd.bak`date +%Y%m%d` /etc/sysconfig/ntpd
mv /etc/sysconfig/ntpdate.bak`date +%Y%m%d` /etc/sysconfig/ntpdate
mv /usr/lib/systemd/system/ntpd.service.bak /usr/lib/systemd/system/ntpd.service
mv /usr/lib/systemd/system/ntpdate.service.bak /usr/lib/systemd/system/ntpdate.service
启动服务
systemctl daemon-reload
systemctl start ntpd
查看升级后版本
ntpd --version
升级过程中常见问题
缺少gcc编译环境
执行./configure出现以下提示,是因为系统缺少gcc编译环境,需要先安装gcc
/usr/bin/ld: cannot find -lcap
执行./configure出现报错:/usr/bin/ld: cannot find -lcap,是因为系统未安装libcap-devel
安装libcap-devel,可以使用离线rpm安装,也可以使用yum安装
yum install -y libcap-devel