Skip to main content

max / alloy

1.5 KB · 29 lines History Blame Raw
1 # Alloy time sources: authenticated, or the clock is an input an attacker owns.
2 #
3 # WHY THE CLOCK IS A SECURITY SURFACE. Certificate expiry, TLS handshake
4 # validity windows, TOTP codes, Kerberos tickets and the freshness checks in
5 # anything that signs are all decided by what the machine believes the time
6 # is. Plain NTP is unauthenticated UDP, so anyone on the path can move it.
7 # NTS is NTP with the key exchange done over TLS, which closes that.
8 #
9 # Fedora's default is `pool 2.fedora.pool.ntp.org iburst`, unauthenticated.
10 # The Containerfile comments that line out and adds `confdir /etc/chrony.d`
11 # to /etc/chrony.conf, which is what makes this file be read at all. If a
12 # chrony update restores the file, the pool comes back and this file keeps
13 # working alongside it — degraded rather than broken.
14 #
15 # WHAT IT COSTS, stated rather than discovered: NTS servers are far fewer
16 # than pool servers and the key exchange is TCP on port 4460. A network that
17 # blocks 4460, or a captive portal before login, leaves the machine with no
18 # usable source and it drifts on its own RTC until it reaches one. On a
19 # laptop that is a real scenario. `chronyc -N authdata` says which sources
20 # are authenticated; `chronyc sources` says whether any are reachable.
21 #
22 # Four servers on three operators, so no single one decides the time and one
23 # being down is not an outage. iburst for a fast first sync at boot.
24
25 server time.cloudflare.com iburst nts
26 server nts.netnod.se iburst nts
27 server ptbtime1.ptb.de iburst nts
28 server ptbtime2.ptb.de iburst nts
29