NTP çoğu ortamda “UDP/123 açık mı?” seviyesinde kalır. Bu yaklaşım, zamanın güvenlik ve operasyonel doğruluk katmanı olduğu gerçeğini kaçırır. chrony, modern Linux dağıtımlarında NTP tarafında güçlü bir seçenektir; özellikle NTS (Network Time Security) ile birlikte ele alındığında.
Bu runbook, chrony’yi “kurduk” değil “işletiyoruz” seviyesine taşımak için pratik adımları toplar.
Hedef mimari
- İstemciler sadece kurum içi zaman sunucularına konuşur.
- Zaman sunucuları upstream kaynaklara (internet veya dış referans) erişir.
- Mümkünse NTS, upstream’te doğrulama sağlar.
1) Kurulum
Dağıtıma göre paket adı değişebilir. Genel yaklaşım:
sudo apt-get update
sudo apt-get install -y chrony
2) chrony yapılandırması (istemci)
Örnek /etc/chrony/chrony.conf yaklaşımı:
- İnternet yerine iç zaman sunucularını kullan
- Step davranışını kontrollü yap
- Log’u görünür kıl
Örnek:
# İç zaman sunucuları
server ntp-01.internal iburst
server ntp-02.internal iburst
# Büyük sapmada kontrollü step (ilk boot’ta işe yarar)
makestep 1.0 3
# Kaynak kalitesi / istatistik
rtcsync
driftfile /var/lib/chrony/chrony.drift
log tracking measurements statistics
logdir /var/log/chrony
3) chrony yapılandırması (zaman sunucusu)
Zaman sunucusunda iki kritik konu var:
- Upstream kaynak seçimi ve yedeklilik
- Kimlerin hizmet alacağı (ACL)
Örnek (temel):
# Upstream (örnek)
server time.cloudflare.com iburst nts
server time.google.com iburst
# İstemci ağına izin ver
allow 10.10.0.0/16
allow 10.20.0.0/16
# Herkese servis verme
deny all
rtcsync
makestep 1.0 3
driftfile /var/lib/chrony/chrony.drift
log tracking measurements statistics
logdir /var/log/chrony
4) Firewall / segmentasyon
- İstemci → zaman sunucusu: UDP/123
- Zaman sunucusu → upstream: UDP/123 ve NTS için TCP/4460 (servise göre değişebilir)
NTS portu sağlayıcıya göre değişebilir; kurum içinde sabit bir upstream seti seçmek işletimi kolaylaştırır.
5) Doğrulama komutları
İstemcide:
chronyc tracking
chronyc sources -v
chronyc sourcestats -v
Beklediğin işaretler:
Leap statusnormalSystem timeoffset düşük ve stabilReachdeğeri 377’e yakın (istikrarlı erişim)
Zaman sunucusunda ayrıca:
chronyc clients
chronyc activity
6) Alarm eşiği (pratik)
Kurumsal genel sistemler için (örnek başlangıç):
- Uyarı: offset > 50ms (kalıcı)
- Kritik: offset > 200ms
- Reachability: kaynakların reach değeri sürekli düşüyorsa kritik
Bu eşikleri servis toleransına göre daralt.
7) Incident triage: “clock skew” gördüğünde
chronyc trackingile offset ve source’ları kontrol et- Erişim sorunu var mı? (
sources -vreach düşüyor mu?) - Zaman sunucusunda upstream bozuk mu? (tek kaynak mı kalmış?)
- VM/host tarafında CPU steal / yoğunluk var mı?
- Gerekirse kontrollü step (servis etkisini düşünerek)
Kapanış
chrony + doğru topoloji + izleme sinyali birleştiğinde zaman senkronizasyonu “arka plan servisi” olmaktan çıkar, güvenlik ve operasyon doğruluğunun temel katmanına dönüşür. NTS’i upstream’te konumlandırmak ve erişimi allow list ile sınırlamak; pratikte en yüksek faydayı en düşük karmaşıklıkla verir.