Kurumsal ağlarda Linux ve Windows sistemlerin bir arada çalışması artık pek çok şirkette standart hale geldi. Özellikle sistem yöneticileri için sık karşılaşılan senaryolardan biri, Ubuntu sunucuları veya masaüstlerini merkezi bir kimlik doğrulama altyapısına, yani Active Directory (Etkin Dizin) etki alanına dahil etmek. Bu sayede kullanıcılar Ubuntu makinelerine de aynı Windows domain hesaplarıyla giriş yapabiliyor, parola politikaları merkezi olarak yönetilebiliyor ve yetkilendirme işlemleri tek bir noktadan kontrol edilebiliyor.
İşte tam da bu noktada devreye SSSD giriyor. SSSD, açılımıyla System Security Services Daemon yani Sistem Güvenlik Hizmetleri Daemon’ı, Linux sistemlerin uzak kimlik doğrulama ve yetkilendirme sağlayıcılarıyla (Active Directory, LDAP, Kerberos gibi) iletişim kurmasını sağlayan bir arka plan servisidir. Bu yazıda, Ubuntu’yu SSSD kullanarak bir Active Directory etki alanına nasıl katabileceğinizi adım adım ele alacağız.
SSSD Nedir ve Neden Tercih Edilir?
SSSD, aslında Red Hat tabanlı dağıtımlarda uzun süredir varsayılan tercih olan, ancak Ubuntu ve Debian tabanlı sistemlerde de gayet stabil çalışan bir kimlik doğrulama aracısıdır. Geleneksel olarak Linux makineleri Active Directory’e bağlamak için Winbind kullanılırdı, ancak SSSD zamanla daha modern, daha güvenli ve daha performanslı bir alternatif olarak öne çıktı.
SSSD’nin sunduğu en büyük avantajlardan biri, kimlik bilgilerini yerel olarak önbelleğe alabilmesidir. Yani ağ bağlantısı geçici olarak kesildiğinde bile, daha önce doğrulanmış kullanıcılar sisteme giriş yapmaya devam edebilir. Bu özellik özellikle dizüstü bilgisayarlar veya ara sıra bağlantı sorunu yaşayan uzak ofis sunucuları için oldukça değerlidir.
Ayrıca SSSD, Kerberos tabanlı kimlik doğrulamayı destekler, bu da domain ortamında tek oturum açma (Single Sign-On) deneyimini mümkün kılar. Kullanıcılarınız bir kez domain hesabıyla giriş yaptıktan sonra, ek bir parola girmeden ağdaki diğer kaynaklara da erişebilir.
Başlamadan Önce Gerekenler
Ubuntu’yu bir Active Directory etki alanına katmadan önce birkaç ön koşulu sağlamanız gerekiyor. Öncelikle, Ubuntu makinenizin DNS çözümlemesinin doğru şekilde yapılandırılmış olması gerekiyor; yani sisteminizin Active Directory sunucunuzun DNS kayıtlarını çözebilmesi lazım. Bunun için genellikle domain controller’ınızın IP adresini DNS sunucusu olarak ayarlamanız yeterli olacaktır.
İkinci olarak, sistem saatinizin domain controller ile senkronize olması kritik önem taşıyor. Kerberos kimlik doğrulaması saat farklarına karşı oldukça hassastır; birkaç dakikalık bir sapma bile kimlik doğrulama hatalarına yol açabilir. Bu yüzden NTP (Network Time Protocol) servisinin aktif ve doğru şekilde çalıştığından emin olun.
Son olarak, işlemi gerçekleştirebilmek için Active Directory üzerinde bilgisayar nesnesi oluşturma yetkisine sahip bir domain hesabına ihtiyacınız olacak. Bu genellikle Domain Admins grubuna üye bir hesap olur, ancak yönetici delege edilmiş yetkilerle daha kısıtlı bir hesap da tanımlayabilir.
Gerekli Paketlerin Kurulumu
Ubuntu üzerinde SSSD ile Active Directory entegrasyonunu sağlamak için birkaç paketin kurulu olması gerekiyor. Bunların başında realmd geliyor; realmd, domain katılım işlemini basitleştiren ve arka planda gerekli yapılandırmaları otomatik hale getiren bir araçtır.
Terminal üzerinden gerekli paketleri şu şekilde kurabilirsiniz:
- realmd — domain keşfi ve katılım işlemlerini yöneten ana araç
- sssd, sssd-tools — kimlik doğrulama ve önbellekleme servisleri
- adcli — Active Directory ile komut satırından etkileşim sağlayan araç
- samba-common-bin — Samba ile ilgili ortak araçlar
- oddjob, oddjob-mkhomedir — kullanıcı ilk girişinde otomatik ev dizini oluşturma
- packagekit — bazı sistemlerde realmd’nin bağımlılığı olarak gerekir
Bu paketlerin tamamı standart Ubuntu depolarında bulunduğundan, ekstra bir PPA eklemenize gerek kalmadan apt üzerinden kolayca kurulum yapabilirsiniz.
Etki Alanına Katılma Süreci
Paketler kurulduktan sonra sırada domain’inizi keşfetme adımı var. realmd aracı, ağınızdaki DNS kayıtlarını tarayarak bulunduğunuz domain hakkında bilgi toplar ve hangi kimlik doğrulama yönteminin (SSSD veya Winbind) kullanılacağını otomatik olarak önerir.
Keşif adımından sonra, domain’e katılma komutunu çalıştırırsınız. Bu aşamada sizden domain yöneticisi hesabınızın parolasını girmeniz istenecektir. İşlem başarılı olduğunda, Ubuntu makineniz artık Active Directory’de bir bilgisayar nesnesi olarak görünecek ve domain kullanıcıları bu makineye giriş yapabilecek hale gelecektir.
Katılım tamamlandıktan sonra, hangi domain gruplarının hangi Linux yetkilerine sahip olacağını yapılandırmanız gerekecek. Örneğin, belirli bir Active Directory grubuna sudo yetkisi vermek isteyebilirsiniz. Bu tür ince ayarlar, realmd’nin ürettiği yapılandırma dosyaları üzerinden ya da sssd.conf dosyası düzenlenerek yapılabilir.
Sık Karşılaşılan Sorunlar
Domain katılımı sırasında en sık karşılaşılan sorunların başında DNS çözümleme hataları geliyor. Eğer Ubuntu makineniz domain controller’ı bulamıyorsa, öncelikle /etc/resolv.conf dosyanızı ve ağ yapılandırmanızı kontrol etmeniz gerekir.
Bir diğer yaygın sorun ise saat senkronizasyonu ile ilgilidir. Kerberos bileti alma işlemleri saat farkı yüzünden başarısız olabilir, bu yüzden chrony veya systemd-timesyncd gibi bir zaman senkronizasyon servisinin çalıştığından emin olmakta fayda var.
Son olarak, kullanıcı girişlerinde ev dizini oluşturulmaması sorunuyla karşılaşırsanız, oddjob-mkhomedir paketinin kurulu ve PAM yapılandırmasının doğru şekilde ayarlandığından emin olun.
Sonuç
SSSD, Ubuntu sistemlerinizi kurumsal Active Directory altyapısına entegre etmek için sağlam, güvenilir ve modern bir çözüm sunuyor. Winbind’e göre daha az bakım gerektirmesi ve önbellekleme özellikleri sayesinde, özellikle karma (Windows-Linux) ortamlarda çalışan sistem yöneticileri için tercih edilen bir yöntem haline geldi. Kurulum adımlarını dikkatli takip ederek ve DNS/saat senkronizasyonu gibi ön koşulları sağlayarak, Ubuntu makinelerinizi kısa sürede domain’e dahil edebilirsiniz.
