ntp 配置 autokey 功能【摘录】
摘录于ntp官网:http://support.ntp.org/bin/view/Support/ConfiguringAutokey
6.7. Autokey Configuration for NTP stable releases
This topic provides a step-by-step guide for setting up NTP Autokey Authentication for NTP stable release versions 4.2.6 and later. The material contained in this topic may not be applicable to releases in the ntp-dev series.
Users of NTP-4.2.4, or earlier, should consult Autokey Configuration for NTP 4.2.4
Users of NTP-dev should consult ConfiguringAutokeyDev for errata and notes pertaining to the ntp-dev series of releases.
See the NTP Authentication specification and the Briefing Slides on the Network Time Synchronization Project page for in-depth information about NTP Authentication.
There are three Identity Schemes available in the NTP Reference Implemenation: IFF, GQ, and MV. See the Identity Scheme documentation for detailed information about the Identity Schemes. Although examples of server parameter generation and client parameter installation are provided for all available Identity Schemes, it is not necessary to use all of them.
Enforcement of NTP Authentication (with restrict statements) is beyond the scope of this topic
6.7.2.2.1. Broadcast and Multicast Autokey are configured on the server side. 6.7.3.2.1. Unicast Autokey is configured on the client side
Read 6.7.1. How To Use This Guide before starting
6.7.1. How To Use This Guide
- Perform the server set-up before performing the client set-up
- Follow each step in this guide
This guide currently only addresses the IFF identity scheme.
6.7.2. Server Set-Up
This section pertains only to systems that will be ntp servers for an NTP Trust Group; see 6.7.3. Client Set-Up for systems that will only be ntp clients. Trusted ntp servers which also operate as clients of other ntp servers may need to 6.7.3.4. Install Group/Client Keys.
6.7.2.1. Create the NTP Keys directory
Create a directory for the NTP Keys (e.g /etc/ntp
.)
6.7.2.2. Edit ntp.conf
Add the following lines to ntp.conf
:
crypto pw serverpassword
keysdir /etc/ntp
You may need to add the following line to ntp.conf
if ntpd
dies with a crypto_setup: random seed file not found
error:
crypto randfile /dev/urandom
6.7.2.2.1. Broadcast and Multicast Autokey
Append autokey
to the broadcast
line in ntp.conf
for the broadcast/multicast address that you want to authenticate with Autokey:
broadcast my.broadcast.or.multicast.address autokey
The assigned NTP Multicast address is 224.0.1.1, but other valid multicast addresses may be used.
6.7.2.3. Generate Server Parameters
This section covers Server Parameter generation for the IFF Identity Scheme.
The server key and certificate will be generated if they are missing when a set of parameters are generated. The server certificate will be updated when existing parameters are updated or additional parameters are generated.
The
-T
option for ntp-keygen should only be used by a Trusted Authority (e.g time-server) for an NTP Trust Group.
6.7.2.3.1. IFF Parameters
The IFF parameter generation process produces a server key which should not be distributed to other members of the NTP Trust Group.
Generate the IFF parameters with the following commands:
cd /etc/ntp
ntp-keygen -T -I -p serverpassword
You must export an IFF Group Key for use by the members of the Trust Group. This Group Key is unencrypted and may be handled in the same manner as a PGP/GPG public key.
Export the IFF Group Key with the following commands:
cd /etc/ntp
ntp-keygen -e -p serverpassword
The IFF Group Key will be directed to STDOUT
unless you redirect it to a file. The target name of the IFF Group Key file is on one of the first lines of the output.
This exported IFF Group Key will be used in 6.7.3.4.1. IFF Group Keys
IFF Group Keys may be distributed in any convenient manner (e.g. on a web page or even by pasting them across terminal windows).
IFF Group Keys may also be extracted and mailed with the following commands:
cd /etc/ntp
ntp-keygen -e -p serverpassword | mail timelord@client.domain
6.7.2.4. Restart ntpd
Restart ntpd
. Watch the output of ntpq -p
to make sure that the server is able to start.
6.7.2.5. Server Parameter Update
The server key and certificate are valid only for one year and should be updated periodically (e.g. monthly). This could be scripted with the following command:
cd /etc/ntp
ntp-keygen -T -q `awk '/crypto pw/ { print $3 }' </etc/ntp.conf`
6.7.3. Client Set-Up
This section pertains only to systems that will be clients of an NTP Trust Group.
6.7.3.1. Create the NTP Keys directory
Create a directory for the NTP Keys (e.g. /etc/ntp
.)
6.7.3.2. Edit ntp.conf
Add the following lines to ntp.conf
:
crypto pw clientpassword
keysdir /etc/ntp
You may need to add the following line to ntp.conf
if ntpd
dies with a crypto_setup: random seed file not found
error:
crypto randfile /dev/urandom
6.7.3.2.1. Unicast Autokey
Append autokey
to the server line for the time-server that you want to authenticate with Autokey in a unicast association:
server ntp.i_have_the_key.for autokey
6.7.3.3. Generate Client Parameters
Do not use the
-T
option for ntp-keygen on systems that are only clients of an NTP Trust Group.
Generate the client key /certificate with the following commands:
cd /etc/ntp
ntp-keygen -H -p clientpassword
6.7.3.4. Install Group/Client Keys
This section covers the installation of Group/Client Keys for all Identity Schemes. You only need to install the Group/Client Keys used by the NTP Trust Group that this client will be joining.
6.7.3.4.1. IFF Group Keys
Obtain the IFF group key, exported in 6.7.2.3.1. IFF Parameters, from your time server operator, copy the key file to the keysdir
, and create the standard sym-link:
cd /etc/ntp
ln -s ntpkey_iffpar_server.3301264563 ntpkey_iffpar_server
6.7.3.5. Restart ntpd
Restart ntpd
. Watch the output of ntpq -p
to make sure that the client is able to start and sync with the server.
6.7.3.6. Client Parameter Update
The client key and certificate are valid only for one year and should be updated periodically (e.g. monthly) with the following command:
cd /etc/ntp
ntp-keygen -q `awk '/crypto pw/ { print $3 }' </etc/ntp.conf`
6.7.4. Monitoring Authentication Status
It is not usually necessary to run ntpd in debug mode to troubleshoot Authentication problems.
Use ntpq -c "rv 0 cert"
to view the Autokey certificates held by ntpd
.
Use ntpq -c as
to the check the authentication status of NTP associations. Authenticated associations display ok
in the auth
column:
ind assID status conf reach auth condition last_event cnt
===========================================================
1 26132 f694 yes yes ok sys.peer reachable 9
For detailed information about an authenticated association use the assID
from ntpq -cas
in the following command:
ntpq -c"rv assID flags"
An Autokey+IFF association without a verified leapseconds table will show the following flags on the client:
flags=0x83f21
An Autokey+IFF association with a verified leapseconds table will show the following flags on the client:
flags=0x87f21
6.7.4.1. Crypto Association Flags
/*
* The following bits are set by the CRYPTO_ASSOC message from
* the server and are not modified by the client.
*/
#define CRYPTO_FLAG_ENAB 0x0001 /* crypto enable */
#define CRYPTO_FLAG_TAI 0x0002 /* leapseconds table */ #define CRYPTO_FLAG_PRIV 0x0010 /* PC identity scheme */
#define CRYPTO_FLAG_IFF 0x0020 /* IFF identity scheme */
#define CRYPTO_FLAG_GQ 0x0040 /* GQ identity scheme */
#define CRYPTO_FLAG_MV 0x0080 /* MV identity scheme */
#define CRYPTO_FLAG_MASK 0x00f0 /* identity scheme mask */ /*
* The following bits are used by the client during the protocol
* exchange.
*/
#define CRYPTO_FLAG_VALID 0x0100 /* public key verified */
#define CRYPTO_FLAG_VRFY 0x0200 /* identity verified */
#define CRYPTO_FLAG_PROV 0x0400 /* signature verified */
#define CRYPTO_FLAG_AGREE 0x0800 /* cookie verifed */
#define CRYPTO_FLAG_AUTO 0x1000 /* autokey verified */
#define CRYPTO_FLAG_SIGN 0x2000 /* certificate signed */
#define CRYPTO_FLAG_LEAP 0x4000 /* leapseconds table verified */
ntp 配置 autokey 功能【摘录】的更多相关文章
- linux服务器应用NTP配置时间同步
linux服务器应用NTP配置时间同步 • 为什么建议使用ntpd而不是ntpdate? #####原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18 ...
- 华三交换机NTP配置
clock protocol ntp ntp-service enable ntp-service unicast-server x.x.x.x clock timezone beijing add ...
- NTP配置实践
前言 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.不管是平时使用的私人计算机还是在工作中搭建的服务器集群.时间的统一性和准确性是十分 ...
- Linux下Apache配置HTTPS功能
Apache配置HTTPS功能 转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...
- 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能
from:http://www.cnblogs.com/kkdd-2013/p/3868676.html 1 RRC协议功能 为NAS层提供连接管理,消息传递等服务: 对接入网的底层协议实体提供参数配 ...
- Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09
目录 昨日补充:将自己写的 login_auth 装饰装在 CBV 上 django 中间件 django 请求生命周期 ***** 默认中间件及其大概方法组成 中间件的执行顺序 自定义中间件探究不同 ...
- drf框架安装配置及其功能概述
0902自我总结 drf框架安装配置及其功能概述 一.安装 pip3 install djangorestframework 二.配置 # 注册drf app NSTALLED_APPS = [ # ...
- Nginx 高级配置-https 功能
Nginx 高级配置-https 功能 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTTPS工作过程 1>.SSL/TLS SSL(Secure Socket Lay ...
- Nginx 高级配置-压缩功能
Nginx 高级配置-压缩功能 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx压缩相关参数概述 1>.gzip on | off; Nginx支持对指定类型的文 ...
随机推荐
- VSCode eslint校验 tab改为2个空格
修改:.eslintrc.json
- Linux Shell基础 环境变量配置文件
source命令:使环境变量配置文件强制生效 source 命令会强制执行脚本中的全部命令,而忽略脚本文件的权限.该命令主要用于让重新配置的环境变量配置文件强制生效.source 命令格式如下: [r ...
- Linux Shell基础 单引号、双引号、反引号、小括号和大括号
单引号和双引号 单引号和双引号用于变量值出现空格时将字符用引号括起来. 二者的主要区别在于, 被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义: 被双引号括起来的字符中,"$& ...
- 定制AIX操作系统的shell环境
操作系统与外部最主要的接口就叫做shell.shell是操作系统最外面的一层.shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果. shel ...
- 笔记:git和码云
背景:之前使用GitHub,无奈网速原因,有时候竟无法连接,搜索解决方案而又鱼龙混杂淹没在信息的海洋. 于是尝试码云,界面简单,全中文,用起来很是顺手. 码云使用git来管理,操作上都是git的基本指 ...
- jQuery计算器插件
在线演示 本地下载
- DB2日期及时间的使用
1.DB2中日期.时间寄存器的使用 --取日期 SELECT CURRENT DATE FROM sysibm.sysdummy1; --返回数据类型:DATE --结果集(YYYY-MM-DD): ...
- freemarker空值的处理
FreeMarker的变量必须赋值,否则就会抛出异常.而对于FreeMarker来说,null值和不存在的变量是完全一样的,因为FreeMarker无法理解null值.FreeMarker提供两个运算 ...
- mysql启动报can't create/write to file 'var/run/mysqld/mysqld.pid 错误解决办法
msql启动报错,启动不了. 进入mysql日志默认的路径为 /var/log/mysqld.log 查看日志,发现报错信息如下: can't create/write to file 'var/ru ...
- 为什么原生的servlet是线程不安全的而Struts2是线程安全的?
因为原生的servlet在整个application生命周期中,只在初次访问的时候实例化一次,以后都不会再实例化,只会调用Server方法进行响应,所以如果在servlet类中定义成员变量,那么就会让 ...