Merhaba Sistem yöneticileri olarak ağımızdaki cihazların (örneğin Fortigate Firewall) Active Directory ile entegre çalışabilmesi için sıklıkla LDAP doğrulamasına ihtiyaç duyarız. Ancak bu işlemler için kullanılan servis hesaplarının güvenliğini sağlamak kritik bir öneme sahiptir.
Bu yazımızda, sadece LDAP doğrulaması için kullanılacak bir servis hesabının nasıl oluşturulacağını ve bu hesabın kötü amaçlı veya yanlışlıkla başka işlemler için kullanılmasını Group Policy (GPO) üzerinden nasıl engelleyeceğimizi adım adım inceleyeceğiz.
1. Adım: Active Directory Üzerinde Servis Hesabını Oluşturma
İlk adımımız, sadece bu işleme özel (örneğin scv_fortigate_ldap adında) bir kullanıcı oluşturmaktır.
- Kullanıcınızı oluştururken parola belirleme ekranında, servis kesintilerini önlemek adına parolanın zaman aşımına uğramaması için "Password never expires" (Parolanın süresi hiçbir zaman dolmaz) seçeneğini işaretleyebilirsiniz.
- Önemli Not: Kurumunuzun tabi olduğu güvenlik regülasyonlarında parolaların belirli aralıklarla değiştirilmesi zorunluluğu bulunuyorsa, bu adımı ilgili kurallara uygun şekilde yapılandırmalısınız.
2. Adım: GPO (Group Policy Management) Konsolunu Açma
Oluşturduğumuz bu hesabın hiçbir şekilde LDAP doğrulaması dışında kullanılmaması (örneğin bilgisayarlara giriş yapılamaması) gerekmektedir. Bunun için bir GPO kuralı oluşturacağız:
- Klavyenizden Windows + R tuşlarına basarak "Çalıştır" penceresini açın ve
gpmc.mscyazarak Group Policy Management konsolunu başlatın. - Karşınıza gelen ekranda yeni bir policy oluşturun. Bu kurala örneğin "Deny_Logon_Policy" adını verebilir ve ardından kurala sağ tıklayıp "Edit" diyerek düzenleme ekranına geçebilirsiniz.
3. Adım: Yerel Oturum Açmayı (Local Logon) Engelleme
Bu adımda kullanıcının herhangi bir bilgisayarda fiziksel olarak oturum açmasını engelleyeceğiz.
- Düzenleme ekranında şu yolu izleyin: Computer Configuration / Windows Settings / Security Settings / Local Policies / User Rights Assignment.
- Sağ taraftaki menüden "Deny log on locally" (Yerel olarak oturum açmayı reddet) seçeneğine çift tıklayın.
- "Define these policy settings" kutucuğunu aktif hale getirin ve "Add User or Group" butonuna basarak ilk adımda oluşturduğunuz servis hesabını (örn.
scv_fortigate_ldap) buraya ekleyin.
4. Adım: Uzak Masaüstü (RDP) Bağlantısını Engelleme
Aynı hesabın ağdaki herhangi bir cihaza Uzak Masaüstü Protokolü (RDP) ile bağlanmasını da engellememiz gerekiyor.
- Aynı konsol ekranında (User Rights Assignment altında) bulunan "Deny log on through Remote Desktop Services" (Uzak Masaüstü Hizmetleri aracılığıyla oturum açmayı reddet) seçeneğine tıklayın.
- Tıpkı bir önceki adımda olduğu gibi ilgili kullanıcınızı seçip listeye ekleyin. Artık bu hesap ile ağdaki hiçbir cihaza RDP yapılamayacaktır.
5. Adım: GPO Kuralını Bağlama ve Önemli Uyarılar
Hazırladığınız bu kuralı tüm domaine uygulamak isterseniz, kuralı Domain Controller Policy'ye bağlayabilirsiniz. Ancak burada çok dikkatli olmanız gereken bir nokta var:
- Uyarı: Eğer kural içerisine yanlışlıkla yetkili bir kullanıcı veya kendi hesabınızı eklerseniz, o kullanıcının da sistemlere Logon olması veya RDP yapması tamamen engellenir.
- Alternatif ve Güvenli Yöntem: Tüm domaine kural basmak yerine, Active Directory üzerinde kendi OU (Organizational Unit) klasörünüzü oluşturup ilgili servis hesabını oraya taşıyabilir ve yazdığınız bu kuralı sadece o OU'ya bağlayabilirsiniz.
6. Adım: Kuralı Devreye Alma ve Test Etme
- Kuralı bağladıktan sonra, ayarların beklemeden anında devreye girmesi için Komut İstemini (CMD) yönetici olarak açın ve
gpupdate /forcekomutunu çalıştırın. - GPO güncellemesi başarıyla tamamlandıktan sonra (Computer Policy ve User Policy update has completed successfully mesajını göreceksiniz), cihazınızın (örneğin Fortigate) LDAP entegrasyon ekranına giderek ilgili sunucu IP'si, Port, Distinguished Name ve bu kısıtlı kullanıcının kimlik bilgilerini girerek bağlantıyı test edebilirsiniz.

1. Kullanıcı Oluşturma: Active Directory üzerinde örneğin scv_fortigate_ldap adında yeni bir kullanıcı oluşturulması ve parolasının zaman aşımına uğramaması için "Password never expires" kutucuğunun işaretlenmesi
.
2. GPO Konsolunun Açılması: Çalıştır penceresinden gpmc.msc komutu girilerek Group Policy Management konsolunun açılması, "Deny_Logon_Policy" adında yeni bir kural oluşturulması ve düzenleme (Edit) işlemine geçilmesi
.
3. Yerel Girişlerin (Logon) Engellenmesi: Computer Configuration / Windows Settings / Security Settings / Local Policies / User Rights Assignment yolu takip edilerek "Deny log on locally" seçeneğine ilgili servisin eklenmesi
.
4. Uzak Masaüstü (RDP) Erişiminin Engellenmesi: Yine aynı menü üzerinden "Deny log on through Remote Desktop Services" seçeneği açılarak hedeflenen hesabın ağdaki cihazlara RDP ile bağlanmasının kısıtlanması
.
5. Kuralın Güvenli Bir Şekilde Bağlanması: Hazırlanan GPO'nun yanlış bir işlemle admin hesaplarını kilitlemesini önlemek için doğrudan Domain Controller Policy yerine, kendi oluşturduğunuz özel bir OU'ya (Organizational Unit) bağlanması
.
6. Kuralın Devreye Alınması ve Test Edilmesi: CMD (Komut İstemi) üzerinden gpupdate /force komutu ile kuralın anında aktif edilmesi ve ardından sistem üzerinde (örn. Fortigate) LDAP sunucu IP'si, port ve kısıtlı kullanıcı bilgileri girilerek bağlantı durumunun "Successful" olarak test edilmes
Bağlantı durumunun "Successful" (Başarılı) olduğunu gördüğünüzde işlem tamam demektir. Artık sadece LDAP sorguları yapabilen, oturum açma ve uzaktan bağlanma yetkileri tamamen kısıtlanmış güvenli bir servis hesabınız var!
LDAP servis hesabı için neden OU kullanmalıyız?
LDAP servis hesabı için özel bir OU (Organizational Unit) kullanmanızın temel sebebi, güvenlik amacıyla oluşturduğunuz kısıtlayıcı politikaların (GPO) yanlışlıkla diğer kullanıcıları etkilemesini önlemek ve olası erişim kesintisi risklerini ortadan kaldırmaktır.
Eğer hesabın yerel oturum açmasını veya RDP yapmasını engelleyen GPO kuralını tüm domaine (Domain Controller Policy) uygularsanız büyük bir risk almış olursunuz. Kuralı yapılandırırken yanlışlıkla kendi admin hesabınızı veya yetkili başka bir kullanıcıyı bu kısıtlama listesine eklerseniz, o kullanıcının sistemlere giriş yapması (logon olması) veya Uzak Masaüstü (RDP) ile bağlanması tamamen engellenir.
Bu tür kritik hataların önüne geçmek için en güvenli yöntem şudur: Kendi OU klasörünüzü oluşturup LDAP servis hesabınızı bu klasörün içerisine taşımak ve hazırladığınız kısıtlayıcı kuralı tüm domaine değil, sadece bu OU'ya bağlamaktır. Böylece kural izole bir şekilde sadece hedeflenen hesap üzerinde çalışır ve ağınızdaki diğer kullanıcılar güvende kalır.
LDAP servis hesabı için neden OU kullanmalıyız?
Sadece belirli bir OU'ya (Organizational Unit) GPO bağlamanın en temel avantajı, uygulanan kısıtlayıcı güvenlik politikalarının ağdaki diğer kullanıcıları yanlışlıkla etkilemesini önlemektir.
Özellikle bir hesabın yerel oturum açmasını veya Uzak Masaüstü (RDP) bağlantısı yapmasını engelleyen sert GPO kurallarını tüm domaine uygularsanız büyük bir risk almış olursunuz. Kuralı yapılandırırken kısıtlananlar listesine yanlışlıkla yetkili bir kullanıcıyı (örneğin kendi admin hesabınızı) eklerseniz, o kullanıcının da sistemlere giriş yapması tamamen engellenir.
Kendi OU'nuzu oluşturup sadece kısıtlamak istediğiniz hesabı bu OU içerisine taşıdığınızda ve hazırladığınız GPO kuralını yalnızca bu OU'ya bağladığınızda şu avantajları elde edersiniz:
- İzolasyon ve Güvenlik: Politika yalnızca o OU içindeki hedef kullanıcı üzerinde çalışır, böylece etki alanı daraltılmış olur.
- Kesinti Riskini Önleme: Hatalı bir kullanıcı seçimi yapsanız bile, kural tüm domaine etki etmediği için diğer kullanıcıların ve yöneticilerin Logon veya RDP yetkileri güvende kalır.