NTP (Ağ Zamanlama Protokolü) Nedir?

NTP (Ağ Zamanlama Protokolü) Nedir?

Network Time Protocol’un kısaltması olan NTP, bilgisayar ağı üzerinden bilgisayar sistemleri arasında saat senkronizasyonu için kullanılan kısaca zaman dağıtımı ile ilgili bir ağ protokolüdür.

Başka bir ifadeyle NTP, fazlalık kapasitesi olan bir sıralı zaman dağıtım sistemidir. Hem ağdaki hem de hedef makine algoritmalarında meydana gelen gecikmeleri ölçer. Bu sayede saatleri, dakika, saniye ve hatta salise düzeyinde Koordineli Evrensel Zaman (UTC) içinde senkronize edebilir. Ayrıca dahili ve harici kaynaklardan zaman bilgisini elde edebilir. Ağ cihazlarından switch veya router, NTP server veya Client olarak konfigüre edilebilir ve bu ayarlar hangi dağıtımın kullanıldığına bağlı olarak iki farklı dosya üzerinden yapılır; /etc/ntp.conf  ya da /etc/xntp.conf

NTP’nin şu anki sürümü ntpv4’tür ve User Datagram Protocol (UDP) ve 123 numaralı portu kullanır. İstemci-sunucu modelinde, istemci sunucuya bir paket mod 4’ü yollar ve sunucu bir paket mod 3 ile yanıt vererek senkronizasyonu gerçekleştirir. Ağ zamanlama protokolü, hiyerarşik bir zaman kaynakları modeli kullanır. Her bir katman, stratum olarak adlandırılır ve stratum 0, ilk katmandır. Bu katman, atom, GPS ve radyo saatlerini kapsar. Bir sonraki katman stratum 1 olarak adlandırılır. Bu stratumda, cihazları saldırıya uğrayan stratum 0 cihazlarıyla birkaç mikrosaniyede senkronize edilen bilgisayar sistemlerinden oluşur.  Bir sonraki katman ise ağ üzerinden stratum 1 cihazlarına bağlanan bir stratum 2 katmanı sadece 0 ila 15 arasındaki katmanlar için geçerlidir.

NTP konfigürasyonu zaman ayarlarının tüm cihazlarda aynı olması gerekli olduğu için önemlidir. Zaman ayarları doğru ve senkronize olmalıdır. Çünkü router veya herhangi bir ağ cihazındaki logları veya bir sunucudaki log kayıtlarını zamanında ve doğru görmek için senkronize olması gereklidir. Dosya sistemi güncellemeleri senkronizasyonu için NTP gereklidir. Bu güncellemeler genellikle bir bilgisayarda arka planda çalışırken yürütülür. Ağınızdaki bilgisayarların zamanı senkronize olmazsa çok önemli sistem güncellemeleri arkasında kalan dosyaları eşzamanlı almaz. NTP olmadan zaman damgalı e-posta gönderilmiş veya alındığı zamanı tamamen farklı bir zaman olarak gösterebilir.

Ağda Syslog sunuculara gönderilen logların zaman bilgisi çok önemlidir. Bunun dışında Router, Switch gibi cihazlarda clock set komutu ile zaman bilgisini ayarlanabilir ancak daha doğru ve garanti bir sonuç için zaman bilgisi zaman sunucusundan alınmalıdır. Zaman sunucuları atom saatlerini veya atom saatlerini içeren GPS’leri kaynak alırlar. Bu ağ protokolü sayesinde;

  • NTP Protokolü UDP (User Datagram Protocol) hem source hem destination portu için port 123 kullanılır.
  • NTP dahili veya harici bir kaynaktan zaman bilgisini alabilir.
  • Ağ cihazlarından switch veya router, NTP server veya NTP Client olarak konfigüre edilebilir.
NTP (Ağ Zamanlama Protokolü) Nedir?

NTP konfigürasyon dosyaları:

NTP konfigürasyon dosyası /ect/ntp.conf, xntpd “daemon” unu başlangıçta elde ettiği bilgiler;

  • Olası senkronizasyon sunucularının listesi
  • Sunucunun seçilme kriterleri
  • Sunucunun ana makineye bağlanırken içerdiği kısıtlamalar
  • Ağ üzerinde yayınlanıp yayınlanmayacağı
  • Broadcast NTP paketlerinin dinlenme durumu
  • Multicast NTP paketlerinin dinlenme durumu
  • Drift file (Error sıklığı veya system clock olarak da adlandırılır ve /etc/ntp.conf içerisindedir. NTPD’yi belirttiği için sistem saatinin frekans hatasının nerede bulunduğunu gösterir.) yeri
  • NTP bağlantılarının görüntülenme durumu
  • Ana makineye konfigürasyon yenileme izninin verilip verilmeyeceği

Konfigürasyon dosyasını istediğiniz formatta yazabilirsiniz. # ile başlayan satırlar yorum satırlarıdır.

NTP çalışma modları:

Sistem xntpd “daemon” u ve aşağıdaki metodlar kullanılarak diğer sunucularla senkronize edilebilir:

  • İstemci modu: İstemci modunda sunucu diğer sunuculara anlık zamanı almak için kontrol eder. Tüm sunucuların kontrolü bitince ana makine hangi sunucuya senkronize edileceğini seçer. Bu mod için NTP konfigürasyonunda kontrol edilecek sunucu adlarının ve IP adresinin yer aldığı bir sunucu cümlesi olmalıdır.
  • Broadcast ya da multicast istemci modu: Sunucu kontrol yapmaz ve local ağdaki multicast ve broadcast paketleri dinlenir. Bu modda konfigüre etmek için “broadcast yes” ya da “multicast yes” yazılı olmalıdır.
  • Simetrik aktif mod 

NTP DDoS yükseltme saldırısı

Amplifikasyon, bir saldırının hacminin arttığı faktördür. Saldırgan bir NTP saldırısını birkaç baytlık bir istek mesajı ile tetikler ve bir komut sunucunun örneğin monlist komutu gibi mega boyutlu bir paketle yanıt vermesini sağlar. 

DDoS saldırısı nasıl çalışır?

Ağ zamanlama protokolü, UDP (User Datagram Protocol)’yi kullandığı için isteğin kaydı tutulmaz. Bu yüzden, NTP’deki DDoS amplifikasyon saldırısı, saldırganın paketleri hedeften geliyormuş gibi gösterebilmek için sahte bir kaynak IP ile paket oluşturması ve bunları NTP sunucusuna göndermesiyle başlar. Saldırgan başlangıçta birkaç baytlık paket oluşturur. Ancak NTP büyük miktarda veriyle yanıt verir ve bu saldırının güçlendirilmesine katkıda bulunur.

MONLIST komutu : MONLIST komutu, NTP’nin zaman hizmetine bağlanan son 600 istemcinin ayrıntılarını verir. Komut syntaxı: Ntpdc -n –c monlist <IP or hostname of time server>

DDoS amplifikasyon saldırısı için çözümler

  • NTP sunucusunu güncelleyin: ntpd sunucusunun 4.2.7’den önceki sürümler saldırıya açık olduğundan ntpd sunucularını güncel sürümde tutun.
  • Upgrade yapılamayan ntpd sunucuları için, ntp.conf‘daki kısıtlama varsayılan satırına noquery ekleyerek monlist işlevini devre dışı bırakın:
    • restrict default kod nomodify notrap nopeer noquery
    • restrict -6 default kod nomodify notrap nopeer noquery
  • Genellikle DDoS saldırılarında kaynak IP adresini taklit ettiği için sahte trafiği kısıtlanmalıdır. 
  • İnternet servis sağlayıcıları, savunmasız hizmetleri kapatmak için açık hizmetlerini düzenli periyotlarla kontrol etmelidir.
  • Kuruluşlar, switchler ve hardware tabanlı routerlar gibi layer 3 cihazlarında halka açık geçiş uç cihazlarına daha sıkı bir Access Control List (ACL) uygulamalıdır. Böylece kötü amaçlı trafik hedeflenen kaynaklara ulaşamaz; ancak amplifikasyon faktörü çok büyük olduğu için genelde geçiş uç cihazları tıkanır.
  • monlist komutunun uzaktan yürütülme özelliğini devre dışı bırakın. Örneğin, çoğu Unix /Linux uzak host ile değil, bir local host üzerinden monlist’i destekler. Monlisti kontrol edebileceğiniz komut:
    • Ntpdc <remote server>
    • monlist

İlginizi Çekebilecek Makaleler​

LLM (Large Language Models) Nedir?

Günümüzde yapay zeka ve makine öğrenmesi, teknolojinin birçok alanında devrim niteliğinde ilerlemeler kaydetmiştir. Bu ilerlemelerin merkezinde yer alan büyük dil modelleri (LLM – Large Language

Devamı »
Message Broker Nedir?

Message broker, birçok farklı uygulama veya sistem arasında iletişim kurmak için kullanılan bir yazılım aracıdır. Bu araç, bir uygulama tarafından gönderilen mesajları bir veya daha

Devamı »
Loglama Nedir?

Loglama, bilgisayar sistemlerindeki olayları, hataları ve diğer önemli durumları kaydetme işlemidir. Bu kayıtlar, sistem yöneticileri ve geliştiriciler tarafından, sistemlerin işleyişini anlamak, hataları tespit etmek ve

Devamı »
Vcenter Üzerinden ESXI Upgrade’i Nasıl Yapılır?

Öncelikle herkese merhaba arkadaşlar, sizlere Vcenter üzerinde ESXI hostunuzu nasıl upgrade edeceğinizi anlatacağım. Öncelikle hangi versiyona yükselteceksek o versiyonun ISO dosyasını indiriyoruz. Ardından Vcenter’ımızı açıyoruz.

Devamı »