NTS with chrony

Plain NTP has no protection: anyone between your server and the time server could send false times. Network Time Security (NTS, RFC 8915) fixes that by authenticating every answer. With chrony it takes one word per server.

What you need

Configuration

Edit /etc/chrony/chrony.conf (Debian, Ubuntu) or /etc/chrony.conf (Fedora, RHEL, Oracle Linux, Rocky, Alma). Replace the existing server or pool lines with, for example:

server ptbtime1.ptb.de iburst nts
server ptbtime2.ptb.de iburst nts
server nts.netnod.se iburst nts
server time.cloudflare.com iburst nts

# Keep NTS keys across restarts, so chrony does not repeat the key exchange
ntsdumpdir /var/lib/chrony

Then restart chrony: sudo systemctl restart chronyd (on Debian and Ubuntu the service is called chrony).

Check that it works

chronyc -N authdata
chronyc -N sources

In authdata, every server should show NTS in the Mode column and a non-zero number of keys. If a server stays at zero, the key exchange on TCP 4460 is failing: check the firewall and the server name, which must match the server’s certificate. Our NTP server tester also checks whether a server offers NTS.

Good to know

NTS servers in our list

Use in chronyOperatorLocation
server ptbtime1.ptb.de iburst ntsPTB (Physikalisch-Technische Bundesanstalt)Braunschweig, Germany
server ptbtime2.ptb.de iburst ntsPTB (Physikalisch-Technische Bundesanstalt)Braunschweig, Germany
server ptbtime3.ptb.de iburst ntsPTB (Physikalisch-Technische Bundesanstalt)Braunschweig, Germany
server ptbtime4.ptb.de iburst ntsPTB (Physikalisch-Technische Bundesanstalt)Braunschweig, Germany
server ntp.obspm.fr iburst ntsParis Observatory (SYRTE)Paris, France
server sth1.nts.netnod.se iburst ntsNetnod (for the Swedish Post and Telecom Authority)Stockholm, Sweden
server sth2.nts.netnod.se iburst ntsNetnod (for the Swedish Post and Telecom Authority)Stockholm, Sweden
server mmo1.nts.netnod.se iburst ntsNetnod (for the Swedish Post and Telecom Authority)Malmö, Sweden
server nts.netnod.se iburst ntsNetnod (for the Swedish Post and Telecom Authority)Sweden
server ntp3.fau.de iburst ntsFriedrich-Alexander University Erlangen-NurembergErlangen, Germany
server ntp0.cam.ac.uk iburst ntsUniversity of CambridgeCambridge, United Kingdom
server ntp1.cam.ac.uk iburst ntsUniversity of CambridgeCambridge, United Kingdom
server ntppool1.time.nl iburst ntsTimeNL (SIDN Labs)Netherlands
server ntppool2.time.nl iburst ntsTimeNL (SIDN Labs)Netherlands
server nts1.ntp.hr iburst ntsUniversity of Zagreb, FERZagreb, Croatia
server time.cloudflare.com iburst ntsCloudflareAnycast, Europe-wide

Use at least four servers from different operators, so a single faulty or unreachable one cannot mislead your clock. Live status for each server is on the NTP server list.