Eşzamanlama

Eşzamanlamanın Önemi

Kerberos kimlik denetimi kısmen biletlerin zaman bilgisine dayandığı için, Kerberos sunucuların saatlerinin dakik olarak ayarlanması kritik öneme sahiptir. Kerberos'a giriş bölümünde bahsettiğimiz gibi saldırganların tüm parolaları denedikleri veya tekrarlama atağı yaptıkları durumlarda başarısız olmaları için biletlerin yaşam süreleri çok kısa tutulur.

Sunucularınızın saatlerinin birbirinden farklı olmasına izin verirseniz, ağınız bu tür ataklara karşı savunmasız olur. Eşzamanlama Kerberos protokolünün güvenliğinde bu derece önemli olduğundan, saatler kabul edilebilir bir aralık içinde eşzamanlanmamışsa Kerberos kaçınılmaz hatalar raporlayacak ve çalışmayacaktır. Saati hatalı bir bilgisayardan kimlik doğrulaması yapmaya çalışan istemcilerin saatleri KDC'den farklı olacağından KDC tarafından reddedileceklerdir.

NTP'ye Giriş

Ağ Zaman Protokolü (NTP) sunucuların saatlerini eşzamanlamak için kullanılır. Eşzamanlama için genel kullanıma açık NTP sunucuları bulunmaktadır. NTP istemcilerin saatlerini LAN üzerinden milisaniyede, WAN üzerinden ise onlarca milisaniyede eşzamanlayabilir. NTP sunucuları katmanlara ayrılırlar. Birincil NTP sunucuları 1. katman olarak sınıflanır. Bu genel kullanıma açık sunucuların sayıları göreceli olarak az olduğundan istemcilerin saatlerini eşzamanlamak için kullanılmamalıdır. 2. katman genel kullanıma açık sunucular istemcileri eşzamanlamak için kullanılırlar ve kendi saatlerini 1. katman sunuculardan eşzamanlayabilirler. Kerberos sunucularımız için NTP'yi ikinci katmandan üç sunucudan sorgulama yapacak şekilde yapılandıracağız. Genel kullanıma açık ikinci katman sunucuların güncel bir listesi burada bulunabilir.

NTP Kurulumu ve Yapılandırması

GNU/Linux üzerinde NTP'yi etkinleştirmek için NTP paketini kurmalı ve yapılandırma dosyasının adını değiştirmelisiniz. Öntanımlı olarak NTP yapılandırma dosyasının adı /etc/ntp.conf'dur. Yapılandırmanın öntanımlı değerleri, kabul edilebilir değerlerdir. Bütün ihtiyacımız olan saatlerimizi eşzamanlamakta kullanacağımız sunucuları eklemektir. Kimlik denetimi gerekli değildir ama yapılması güvenliği arttırır. Eğer kendi ağınızdaki NTP sunucularını kullanıyorsanız kimlik denetimini kullanabilirsiniz. Örnek bir ntp.conf dosyasını inceleyebilirsiniz.

Son olarak gerçek eşzamanlamayı gerçekleştirmek için cron'a bir görev ekliyoruz:

30 * * * * /usr/sbin/ntpdate -s

Eğer sistemleriniz bir güvenlik duvarının arkasındaysa -s yerine -su kullanmanız gerekebilir. -u seçeneği ile ntpdate ikinci katman sunuculara bağlantısını imtiyazlı olmayan bir portu kullanarak gerçekleştirir.