Ensure chrony is configured with authorized timeserver
Profile
Level 1 - Server
Level 1 - Workstation
Description
server
The server directive specifies an NTP server which can be used as a time source. The client-server relationship is strictly hierarchical: a client might synchronize its system time to that of the server, but the server's system time will never be influenced by that of a client.
This directive can be used multiple times to specify multiple servers.
The directive is immediately followed by either the name of the server, or its IP address.
pool
The syntax of this directive is similar to that for the server directive, except that it is used to specify a pool of NTP servers rather than a single NTP server. The pool name is expected to resolve to multiple addresses which might change over time.
This directive can be used multiple times to specify multiple pools.
All options valid in the server directive can be used in this directive too.
Rationale
Time synchronization is important to support time sensitive security mechanisms and to ensure log files have consistent time records across the enterprise to aid in forensic investigations
Audit
IF - chrony is in use on the system, run the following script to ensure chrony is configured with an authorized timeserver:
'echo -e "\n- Audit Result:\n ** FAIL *** - Reason(s) for audit failure:" "$(a_output2[8])"
fi
}
Expected Result
Verify the returned server and pool lines returned by the Audit Procedure are appropriate according to local site policy
Edit the Chrony configuration and add or edit the server and/or pool lines returned by the Audit Procedure as appropriate according to local site policy
Remediation
Edit /etc/chrony/chrony.conf or a file ending in .sources in /etc/chrony/sources.d/ and add or edit server or pool lines as appropriate according to local site policy:
Edit the Chrony configuration and add or edit the server and/or pool lines returned by the Audit Procedure as appropriate according to local site policy
Command Line
Example script to add a drop-in configuration for the pool directive:
#!/usr/bin/env bash
{
[ ! -d "/etc/chrony/sources.d/" ] && mkdir /etc/chrony/sources.d/
printf'%s\n'"""The maxsources option is unique to the pool directive" \
"pool time.nist.gov iburst maxsources 4* >> /etc/chrony/sources.d/60-sources.sources
chrony reload sources &>/dev/null
}
Example script to add a drop-in configuration for the server directive:
If pool and/or server directive(s) are set in a sources file in /etc/chrony/sources.d, the line:
sourcedir /etc/chrony/sources.d
must be present in /etc/chrony/chrony.conf
CIS Controls
Controls Version
Control
IG 1
IG 2
IG 3
v8
8.4 Standardize Time Synchronization Standardize time synchronization. Configure at least two synchronized time sources across enterprise assets, where supported.
●
●
v7
6.1 Utilize Three Synchronized Time Sources Use at least three synchronized time sources from which all servers and network devices retrieve time information on a regular basis so that timestamps in logs are consistent.